From a2d1d7e3b23f6fef0651df1b8fd697aa15ae97c0 Mon Sep 17 00:00:00 2001 From: Amaury Forgeot d'Arc Date: Mon, 19 Nov 2007 21:14:47 +0000 Subject: 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. --- Lib/io.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Lib/io.py b/Lib/io.py index d2d2fbc..364e6d0 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) -- cgit v0.12