From: Amaury Forgeot d'Arc Date: Mon, 19 Nov 2007 21:14:47 +0000 (+0000) Subject: Oops, I missed this one again (test_univnewlines fails): X-Git-Tag: v3.0a2~148 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a2d1d7e3b23f6fef0651df1b8fd697aa15ae97c0;p=thirdparty%2FPython%2Fcpython.git Oops, I missed this one again (test_univnewlines fails): Some incremental decoders return multiple characters, even when fed with only one more byte. In this case the tell() state must subtract the number of extra characters. --- diff --git a/Lib/io.py b/Lib/io.py index d2d2fbcf8877..364e6d0be3f5 100644 --- a/Lib/io.py +++ b/Lib/io.py @@ -1283,7 +1283,7 @@ class TextIOWrapper(TextIOBase): decoder_buffer, decoder_state = decoder.getstate() return self._encode_decoder_state( decoder_state, - position + (i+1) - len(decoder_buffer)) + position + (i+1) - len(decoder_buffer) - (n - needed)) raise IOError("Can't reconstruct logical file position") finally: decoder.setstate(saved_state)