Author: Matti Picus <[email protected]>
Branch: unicode-utf8
Changeset: r95555:36b134188782
Date: 2019-01-01 15:27 +0200
http://bitbucket.org/pypy/pypy/changeset/36b134188782/

Log:    test, fix for '\x00' in wcharp2utf8n

diff --git a/pypy/module/_rawffi/test/test__rawffi.py 
b/pypy/module/_rawffi/test/test__rawffi.py
--- a/pypy/module/_rawffi/test/test__rawffi.py
+++ b/pypy/module/_rawffi/test/test__rawffi.py
@@ -351,9 +351,10 @@
         import _rawffi
         A = _rawffi.Array('u')
         a = A(6, u'xx\x00\x00xx')
-        res = _rawffi.wcharp2unicode(a.buffer)
-        assert isinstance(res, unicode)
-        assert res == u'xx'
+        for i in (-1, 6):
+            res = _rawffi.wcharp2unicode(a.buffer, i)
+            assert isinstance(res, unicode)
+            assert res == u'xx'
         a.free()
 
     def test_rawstring2charp(self):
diff --git a/rpython/rtyper/lltypesystem/rffi.py 
b/rpython/rtyper/lltypesystem/rffi.py
--- a/rpython/rtyper/lltypesystem/rffi.py
+++ b/rpython/rtyper/lltypesystem/rffi.py
@@ -1046,7 +1046,7 @@
 
     s = rutf8.Utf8StringBuilder(maxlen)
     i = 0
-    while i < maxlen and w[i]:
+    while i < maxlen and ord(w[i]):
         s.append_code(ord(w[i]))
         i += 1
     return s.build(), i
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to