[pypy-svn] r61086 - pypy/trunk/pypy/module/_codecs
fijal at codespeak.net
fijal at codespeak.net
Sun Jan 18 22:04:45 CET 2009
Author: fijal
Date: Sun Jan 18 22:04:44 2009
New Revision: 61086
Modified:
pypy/trunk/pypy/module/_codecs/app_codecs.py
Log:
A bit of dance to correctly pass this test
Modified: pypy/trunk/pypy/module/_codecs/app_codecs.py
==============================================================================
--- pypy/trunk/pypy/module/_codecs/app_codecs.py (original)
+++ pypy/trunk/pypy/module/_codecs/app_codecs.py Sun Jan 18 22:04:44 2009
@@ -210,7 +210,7 @@
def charmap_decode( data, errors='strict', mapping=None):
"""None
"""
- res = PyUnicode_DecodeCharmap(data, len(data), mapping, errors)
+ res = PyUnicode_DecodeCharmap(data, mapping, errors)
res = u''.join(res)
return res, len(data)
@@ -851,8 +851,9 @@
inpos += 1
return res
-def PyUnicode_DecodeCharmap(s, size, mapping, errors):
+def PyUnicode_DecodeCharmap(s, mapping, errors):
+ size = len(s)
## /* Default to Latin-1 */
if (mapping == None):
import _codecs
@@ -874,16 +875,20 @@
else:
raise TypeError("character mapping must be in range(65536)")
elif isinstance(x, unicode):
+ if x == u"\ufffe":
+ raise KeyError
p += x
elif not x:
raise KeyError
else:
raise TypeError
+ inpos += 1
except (KeyError, IndexError):
- x = unicode_call_errorhandler(errors, "charmap",
- "character maps to <undefined>", s, inpos, inpos+1)
- p += x[0]
- inpos += 1
+ next, inpos = unicode_call_errorhandler(errors, "charmap",
+ "character maps to <undefined>", s, inpos, inpos+1)
+ p += next
+ inpos
+ print p
return p
def PyUnicode_DecodeRawUnicodeEscape(s, size, errors):
More information about the Pypy-commit
mailing list