From owner-freebsd-current Sat Dec 12 20:25:43 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id UAA09124 for freebsd-current-outgoing; Sat, 12 Dec 1998 20:25:43 -0800 (PST) (envelope-from owner-freebsd-current@FreeBSD.ORG) Received: from apollo.backplane.com (apollo.backplane.com [209.157.86.2]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id UAA09115 for ; Sat, 12 Dec 1998 20:25:38 -0800 (PST) (envelope-from dillon@apollo.backplane.com) Received: (from dillon@localhost) by apollo.backplane.com (8.9.1/8.9.1) id UAA16020; Sat, 12 Dec 1998 20:25:32 -0800 (PST) (envelope-from dillon) Date: Sat, 12 Dec 1998 20:25:32 -0800 (PST) From: Matthew Dillon Message-Id: <199812130425.UAA16020@apollo.backplane.com> To: freebsd-current@FreeBSD.ORG Subject: PR bin/8637 fgetpos()/fsetpos() limited to 32 bits Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG This is an interesting one. fgetpos() and fsetpos() utilizes fpos_t holding storage, which is 64 bits. However, both of these routines use ftell() and fseek() internally which truncate offsets to 32 bits. I've also examined the FILE structure which appears to store the offset as an fpos_t, a 64 bit quantity. It should therefore be relatively easy to fix fgetpos() and fsetpos() to operate with > 32 bit quantities (as, I think, they were meant to) without changing any critical structures. It would also be great if we could generate quad versions for fseek and ftell as well (since they'd have to be written anyway to support fgetpos() and fsetpos()). I would put forth fqtell() and fqseek() unless there is some defacto standard already in place. These functions would use the same typing as lseek(). i.e. off_t. -Matt Matthew Dillon Engineering, HiWay Technologies, Inc. & BEST Internet Communications & God knows what else. (Please include original email in any response) To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message