]> granicus.if.org Git - python/commit
Trent Mick <trentm@activestate.com>:
authorFred Drake <fdrake@acm.org>
Thu, 29 Jun 2000 21:12:41 +0000 (21:12 +0000)
committerFred Drake <fdrake@acm.org>
Thu, 29 Jun 2000 21:12:41 +0000 (21:12 +0000)
commit699f352fb220d2e37247144081f7a11cc1dc365d
tree9c712ceaa0e4b7cd9ee34c5dce8c01fcbd0cb9a8
parentdfb4ebda24c1393888779357a4c9bd5bf7e4eaee
Trent Mick <trentm@activestate.com>:
This patch fixes the posix module for large file support mainly on
Win64, although some general cleanup is done as well.

The changes are:

- abstract stat->STAT, fstat->FSTAT, and struct stat->STRUCT_STAT
This is because stat() etc. are not the correct functions to use on
Win64 (nor maybe on other platforms?, if not then it is now trivial to
select the appropriate one). On Win64 the appropriate system functions
are _stati64(), etc.

- add _pystat_fromstructstat(), it builds the return tuple for the
fstat system call. This functionality was being duplicated. As well
the construction of the tuple was modified to ensure no overflow of
the time_t elements (sizeof(time_t) > sizeof(long) on Win64).

- add overflow protection for the return values of posix_spawnv and
posix_spawnve

- use the proper 64-bit capable lseek() on Win64

- use intptr_t instead of long where appropriate from Win32/64 blocks
(sizeof(void*) > sizeof(long) on Win64)

This closes SourceForge patch #100513.
Modules/posixmodule.c