file_truncate(): provide full "large file" support on Windows, by

dropping MS's inadequate _chsize() function.  This was inspired by
SF patch 498109 ("fileobject truncate support for win32"), which I
rejected.

libstdtypes.tex:  Someone who knows should update the availability
blurb.  For example, if it's available on Linux, it would be good to
say so.

test_largefile:  Uncommented the file.truncate() tests, and reworked to
do more.  The old comment about "permission errors" in the truncation
tests under Windows was almost certainly due to that the file wasn't open
for *write* access at this point, so of course MS wouldn't let you
truncate it.  I'd be appalled if a Unixish system did.

CAUTION:  Someone should run this test on Linux (etc) too.  The
truncation part was commented out before.  Note that test_largefile isn't
run by default.
This commit is contained in:
Tim Peters 2002-03-11 00:24:00 +00:00
parent 15d529aec5
commit fb05db2cae
4 changed files with 86 additions and 39 deletions

View file

@ -1154,9 +1154,8 @@ Files have the following methods:
\begin{methoddesc}[file]{truncate}{\optional{size}}
Truncate the file's size. If the optional \var{size} argument
present, the file is truncated to (at most) that size. The size
defaults to the current position. Availability of this function
depends on the operating system version (for example, not all
\UNIX{} versions support this operation).
defaults to the current position.
Availability: Windows, many \UNIX variants.
\end{methoddesc}
\begin{methoddesc}[file]{write}{str}