Mailing-List: contact cygwin-developers-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-developers-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin-developers AT sources DOT redhat DOT com Message-ID: <397EDE59.940915FB@cygnus.com> Date: Wed, 26 Jul 2000 14:49:29 +0200 From: Corinna Vinschen Reply-To: cygdev X-Mailer: Mozilla 4.73 [en] (X11; I; Linux 2.2.14-SMP i686) X-Accept-Language: de, en MIME-Version: 1.0 To: Egor Duda CC: cygwin-dev Subject: Re: st_blocks incorrect for files larger than 2Gbytes References: <10678 DOT 000726 AT logos-m DOT ru> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Egor Duda wrote: > > Hi! > > newlib declares off_t as signed long and cygwin's stat calculates > st_blocks as > > buf->st_blocks = (buf->st_size + S_BLKSIZE-1) / S_BLKSIZE; > > i.e. for file with size 2.164.854.784 bytes stat returns st_blocks=-2080187 > or big positive value, when assigned to (unsigned long). this may be > fixed in a)newlib or b)cygwin or c)application > > which way is preferable? SUSv2 defines an own type blkcnt_t for that purpose. This might be the best way. Corinna -- Corinna Vinschen Cygwin Developer Cygnus Solutions, a Red Hat company