This is the mail archive of the
newlib@sources.redhat.com
mailing list for the newlib project.
st_blocks incorrect for files larger than 2Gbytes
- To: newlib <newlib at sourceware dot cygnus dot com>
- Subject: st_blocks incorrect for files larger than 2Gbytes
- From: Egor Duda <deo at logos-m dot ru>
- Date: Wed, 26 Jul 2000 16:26:16 +0400
- Organization: DEO
- Reply-To: Egor Duda <deo at logos-m dot ru>
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?
newlib's comment states that while off_t should be target-specific,
changing this could cause too much pain.
Egor. mailto:deo@logos-m.ru ICQ 5165414 FidoNet 2:5020/496.19