Commit 9a20302f authored by Stefan Behnel's avatar Stefan Behnel

avoid using PyByteArray_*() C-API in pypy unless it defines it

parent 6d9596b7
...@@ -269,11 +269,13 @@ static long __Pyx__PyObject_Ord(PyObject* c) { ...@@ -269,11 +269,13 @@ static long __Pyx__PyObject_Ord(PyObject* c) {
} else if (PyUnicode_Check(c)) { } else if (PyUnicode_Check(c)) {
return (long)__Pyx_PyUnicode_AsPy_UCS4(c); return (long)__Pyx_PyUnicode_AsPy_UCS4(c);
#endif #endif
#if (!CYTHON_COMPILING_IN_PYPY) || (defined(PyByteArray_AS_STRING) && defined(PyByteArray_GET_SIZE))
} else if (PyByteArray_Check(c)) { } else if (PyByteArray_Check(c)) {
size = PyByteArray_GET_SIZE(c); size = PyByteArray_GET_SIZE(c);
if (likely(size == 1)) { if (likely(size == 1)) {
return (unsigned char) PyByteArray_AS_STRING(c)[0]; return (unsigned char) PyByteArray_AS_STRING(c)[0];
} }
#endif
} else { } else {
// FIXME: support character buffers - but CPython doesn't support them either // FIXME: support character buffers - but CPython doesn't support them either
PyErr_Format(PyExc_TypeError, PyErr_Format(PyExc_TypeError,
......
...@@ -226,7 +226,7 @@ static CYTHON_INLINE char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_ ...@@ -226,7 +226,7 @@ static CYTHON_INLINE char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_
} else } else
#endif /* __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT */ #endif /* __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT */
#if !CYTHON_COMPILING_IN_PYPY #if (!CYTHON_COMPILING_IN_PYPY) || (defined(PyByteArray_AS_STRING) && defined(PyByteArray_GET_SIZE))
if (PyByteArray_Check(o)) { if (PyByteArray_Check(o)) {
*length = PyByteArray_GET_SIZE(o); *length = PyByteArray_GET_SIZE(o);
return PyByteArray_AS_STRING(o); return PyByteArray_AS_STRING(o);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment