From: Raymond Hettinger Date: Mon, 20 Dec 2004 23:55:32 +0000 (+0000) Subject: SF bug #951915: fix bug in StringIO.truncate - length not changed X-Git-Tag: v2.4.1c1~141 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=6266652cd73598af0b8cf069b14139be0b161102;p=thirdparty%2FPython%2Fcpython.git SF bug #951915: fix bug in StringIO.truncate - length not changed (Patch by Armin Rigo.) --- diff --git a/Lib/StringIO.py b/Lib/StringIO.py index 1dfc8b4d070c..5c463fbc1c94 100644 --- a/Lib/StringIO.py +++ b/Lib/StringIO.py @@ -204,6 +204,7 @@ class StringIO: elif size < self.pos: self.pos = size self.buf = self.getvalue()[:size] + self.len = size def write(self, s): """Write a string to the file. @@ -312,6 +313,11 @@ def test(): print 'File length =', f.tell() if f.tell() != length: raise RuntimeError, 'bad length' + f.truncate(length/2) + f.seek(0, 2) + print 'Truncated length =', f.tell() + if f.tell() != length/2: + raise RuntimeError, 'truncate did not adjust length' f.close() if __name__ == '__main__': diff --git a/Misc/NEWS b/Misc/NEWS index 706fd1faf9c9..b6a3a1bb51c9 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -19,6 +19,9 @@ Core and builtins Library ------- +- StringIO.truncate() now correctly adjusts the size attribute. + (Bug #951915). + - The decimal module wouldn't run on builds without threads (Bug #1083645). - Bug #1086555: Fix leak in syslog module.