From 6266652cd73598af0b8cf069b14139be0b161102 Mon Sep 17 00:00:00 2001 From: Raymond Hettinger Date: Mon, 20 Dec 2004 23:55:32 +0000 Subject: [PATCH] SF bug #951915: fix bug in StringIO.truncate - length not changed (Patch by Armin Rigo.) --- Lib/StringIO.py | 6 ++++++ Misc/NEWS | 3 +++ 2 files changed, 9 insertions(+) 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. -- 2.47.3