This is the mail archive of the
mailing list for the Cygwin project.
Re: cygwin-1.5.0-1: Problem stat-ing big file
On Thu, Jul 10, 2003 at 01:35:37PM +0200, Corinna Vinschen wrote:
> On Thu, Jul 10, 2003 at 01:26:34PM +0200, Markus Sch?nhaber wrote:
> > While trying if the new support for files larger than 2GB works, I
> > created a file with a size of 4.53 GB (4,869,120,000 Bytes) using a
> > simple write in python. No problems here. But when stat-ing the file
> > with python's os.stat or by calling stat from C as done in the little
> > program below, the size of the file gets reported as 574,152,704 Bytes.
> The changes to 64 bit file access are not propagated automatically to
> existing applications. E.g. the current `ls' from the fileutils
> package is compiled with the old (small) stat structure which only
> has 32 bit off_t for the file size. If you want to actually use the
> new struct stat and off_t with 64 bit, you have to recompile the
> Sorry, but there's no way around that.
...and two more hints, just to clarify that a bit:
- You must compile using the header files and libcygwin.a which has been
released together with the DLL to get the correct results. Mixing
old Cygwin headers with the new import lib or vice versa are sure
candidates for segmentation fauls.
- Since off_t is now 64 bit and the st_size member of struct stat is a
off_t, your printf isn't correct:
printf("Size of file <%s>: %lld", argv, s.st_size);
%lld is necessary. %ld matches 32 bit types on Cygwin.
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Developer mailto:email@example.com
Red Hat, Inc.
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html