[pypy-commit] pypy pypy3-release-2.6.x: fix annotation on narrow builds (win32)

mattip noreply at buildbot.pypy.org
Fri Jun 26 10:39:32 CEST 2015


Author: mattip <matti.picus at gmail.com>
Branch: pypy3-release-2.6.x
Changeset: r78319:17eb1202a1c0
Date: 2015-06-26 11:39 +0300
http://bitbucket.org/pypy/pypy/changeset/17eb1202a1c0/

Log:	fix annotation on narrow builds (win32)

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
@@ -10,6 +10,7 @@
 from rpython.rlib.runicode import (code_to_unichr,
     default_unicode_error_decode, default_unicode_error_encode)
 from rpython.rtyper.lltypesystem import lltype, rffi
+from rpython.rlib.rarithmetic import widen
 from rpython.translator import cdir
 from rpython.translator.tool.cbuild import ExternalCompilationInfo
 
@@ -144,8 +145,11 @@
 def rawwcharp2unicoden(wcp, maxlen):
     b = UnicodeBuilder(maxlen)
     i = 0
-    while i < maxlen and rffi.cast(lltype.Signed, wcp[i]) != 0:
-        b.append(code_to_unichr(wcp[i]))
+    while i < maxlen:
+        wcp_i = widen(wcp[i])
+        if wcp_i == 0:
+            break
+        b.append(code_to_unichr(wcp_i))
         i += 1
     return assert_str0(b.build())
 rawwcharp2unicoden._annenforceargs_ = [None, int]


More information about the pypy-commit mailing list