Author: Amaury Forgeot d'Arc <amaur...@gmail.com> Branch: Changeset: r76692:d8d5f2097351 Date: 2015-04-02 22:35 +0200 http://bitbucket.org/pypy/pypy/changeset/d8d5f2097351/
Log: PyLong_FromUnicode: Add support for the "base" parameter. diff --git a/pypy/module/cpyext/longobject.py b/pypy/module/cpyext/longobject.py --- a/pypy/module/cpyext/longobject.py +++ b/pypy/module/cpyext/longobject.py @@ -194,7 +194,8 @@ for the conversion. The radix must be in the range [2, 36]; if it is out of range, ValueError will be raised.""" w_value = space.wrap(rffi.wcharpsize2unicode(u, length)) - return space.call_function(space.w_long, w_value) + w_base = space.wrap(rffi.cast(lltype.Signed, base)) + return space.call_function(space.w_long, w_value, w_base) @cpython_api([rffi.VOIDP], PyObject) def PyLong_FromVoidPtr(space, p): diff --git a/pypy/module/cpyext/test/test_longobject.py b/pypy/module/cpyext/test/test_longobject.py --- a/pypy/module/cpyext/test/test_longobject.py +++ b/pypy/module/cpyext/test/test_longobject.py @@ -185,9 +185,11 @@ ("from_unicode", "METH_O", """ Py_UNICODE* u = PyUnicode_AsUnicode(args); - return PyLong_FromUnicode(u, 6, 10); + return Py_BuildValue("NN", + PyLong_FromUnicode(u, 6, 10), + PyLong_FromUnicode(u, 6, 16)); """), ]) # A string with arabic digits. 'BAD' is after the 6th character. - assert module.from_unicode(u' 1\u0662\u0663\u0664BAD') == 1234 + assert module.from_unicode(u' 1\u0662\u0663\u0664BAD') == (1234, 4660) _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit