Mail Archives: cygwin/2003/07/10/08:18:48
Corinna Vinschen wrote:
> 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
>>application.
>>
>>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[1], s.st_size);
> ^^^^
>
> %lld is necessary. %ld matches 32 bit types on Cygwin.
Thanks again for clearing that up.
Regards
mks
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
- Raw text -