Author: Philip Jenvey <[email protected]>
Branch: py3k
Changeset: r61891:b4a002fda4cc
Date: 2013-03-01 08:58 -0800
http://bitbucket.org/pypy/pypy/changeset/b4a002fda4cc/
Log: 64bit translation fix
diff --git a/pypy/module/_codecs/locale.py b/pypy/module/_codecs/locale.py
--- a/pypy/module/_codecs/locale.py
+++ b/pypy/module/_codecs/locale.py
@@ -34,6 +34,7 @@
# An actual wchar_t*, rffi.CWCHARP is an array of UniChar (possibly on a
# narrow build)
RAW_WCHARP = lltype.Ptr(lltype.Array(rffi.WCHAR_T, hints={'nolength': True}))
+WCHAR_NUL = rffi.cast(rffi.WCHAR_T, u'\x00')
pypy_char2wchar = llexternal('pypy_char2wchar', [rffi.CCHARP, rffi.SIZE_TP],
RAW_WCHARP)
pypy_char2wchar_free = llexternal('pypy_char2wchar_free', [RAW_WCHARP],
@@ -115,7 +116,7 @@
"""unicode -> raw wchar_t*"""
size = _unicode2rawwcharp_loop(u, None) if MERGE_SURROGATES else len(u)
array = lltype.malloc(RAW_WCHARP.TO, size + 1, flavor='raw')
- array[size] = rffi.cast(rffi.WCHAR_T, u'\x00')
+ array[size] = WCHAR_NUL
_unicode2rawwcharp_loop(u, array)
return array
unicode2rawwcharp._annenforceargs_ = [unicode]
@@ -146,7 +147,7 @@
def rawwcharp2unicoden(wcp, maxlen):
b = UnicodeBuilder(maxlen)
i = 0
- while i < maxlen and wcp[i] != 0:
+ while i < maxlen and wcp[i] != WCHAR_NUL:
b.append(code_to_unichr(wcp[i]))
i += 1
return assert_str0(b.build())
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit