PyUnicode_READ_CHAR() ensures that the string is ready

This commit is contained in:
Victor Stinner 2011-10-02 20:33:18 +02:00
parent fe0c155c4f
commit 37943769ef

View File

@ -429,7 +429,9 @@ PyAPI_DATA(PyTypeObject) PyUnicodeIter_Type;
PyUnicode_READ_CHAR, for multiple consecutive reads callers should PyUnicode_READ_CHAR, for multiple consecutive reads callers should
cache kind and use PyUnicode_READ instead. */ cache kind and use PyUnicode_READ instead. */
#define PyUnicode_READ_CHAR(unicode, index) \ #define PyUnicode_READ_CHAR(unicode, index) \
((Py_UCS4) \ (assert(PyUnicode_Check(unicode)), \
assert(PyUnicode_IS_READY(unicode)), \
(Py_UCS4) \
(PyUnicode_KIND((unicode)) == PyUnicode_1BYTE_KIND ? \ (PyUnicode_KIND((unicode)) == PyUnicode_1BYTE_KIND ? \
((const Py_UCS1 *)(PyUnicode_DATA((unicode))))[(index)] : \ ((const Py_UCS1 *)(PyUnicode_DATA((unicode))))[(index)] : \
(PyUnicode_KIND((unicode)) == PyUnicode_2BYTE_KIND ? \ (PyUnicode_KIND((unicode)) == PyUnicode_2BYTE_KIND ? \