[pypy-commit] pypy py3.5-marshal3: fix
arigo
pypy.commits at gmail.com
Sat Aug 27 14:49:00 EDT 2016
Author: Armin Rigo <arigo at tunes.org>
Branch: py3.5-marshal3
Changeset: r86618:993d50cc614c
Date: 2016-08-27 20:47 +0200
http://bitbucket.org/pypy/pypy/changeset/993d50cc614c/
Log: fix
diff --git a/pypy/objspace/std/marshal_impl.py b/pypy/objspace/std/marshal_impl.py
--- a/pypy/objspace/std/marshal_impl.py
+++ b/pypy/objspace/std/marshal_impl.py
@@ -454,18 +454,29 @@
def unmarshal_bytes(space, u, tc):
return space.new_interned_str(u.get_str())
+def _unmarshal_ascii(u, short_length, interned):
+ if short_length:
+ lng = ord(u.get1())
+ else:
+ lng = u.get_lng()
+ s = u.get(lng)
+ w_u = u.space.newunicode(s.decode('latin1'))
+ if interned:
+ w_u = u.space.new_interned_w_str(w_u)
+ return w_u
+
@unmarshaller(TYPE_ASCII) # nb. never generated by pypy so far
def unmarshal_ascii(space, u, tc):
- _unmarshal_ascii(False, False)
+ return _unmarshal_ascii(u, False, False)
@unmarshaller(TYPE_ASCII_INTERNED)
def unmarshal_ascii(space, u, tc):
- _unmarshal_ascii(False, True)
+ return _unmarshal_ascii(u, False, True)
@unmarshaller(TYPE_SHORT_ASCII)
def unmarshal_ascii(space, u, tc):
- _unmarshal_ascii(True, False)
+ return _unmarshal_ascii(u, True, False)
@unmarshaller(TYPE_SHORT_ASCII_INTERNED)
def unmarshal_ascii(space, u, tc):
- _unmarshal_ascii(True, True)
+ return _unmarshal_ascii(u, True, True)
@marshaller(W_SetObject)
More information about the pypy-commit
mailing list