[pypy-commit] pypy unicode-utf8: test, fix for '\x00' in wcharp2utf8n
mattip
pypy.commits at gmail.com
Tue Jan 1 08:31:30 EST 2019
Author: Matti Picus <matti.picus at gmail.com>
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
More information about the pypy-commit
mailing list