diff options
author | Stefan Behnel <stefan_ml@behnel.de> | 2013-03-02 19:45:35 +0100 |
---|---|---|
committer | Stefan Behnel <stefan_ml@behnel.de> | 2013-03-02 19:45:35 +0100 |
commit | 24735826105c0875b6994def48906e414d66adbe (patch) | |
tree | 49976d52bdd0152eb9cf744c87b36b1cfdac34fb /Cython/Utility/ModuleSetupCode.c | |
parent | 6c673fde011a189633a864804a8cfc047f312f49 (diff) | |
download | cython-24735826105c0875b6994def48906e414d66adbe.tar.gz |
optimise isinstance(obj, basestring) and map basestring to unicode in Py3
Diffstat (limited to 'Cython/Utility/ModuleSetupCode.c')
-rw-r--r-- | Cython/Utility/ModuleSetupCode.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/Cython/Utility/ModuleSetupCode.c b/Cython/Utility/ModuleSetupCode.c index 615499a97..6382691b0 100644 --- a/Cython/Utility/ModuleSetupCode.c +++ b/Cython/Utility/ModuleSetupCode.c @@ -168,6 +168,15 @@ #define PyBytes_ConcatAndDel PyString_ConcatAndDel #endif +#if PY_MAJOR_VERSION >= 3 + #define __Pyx_PyBaseString_Check(obj) PyUnicode_Check(obj) + #define __Pyx_PyBaseString_CheckExact(obj) PyUnicode_CheckExact(obj) +#else + #define __Pyx_PyBaseString_Check(obj) (PyString_CheckExact(obj) || PyUnicode_CheckExact(obj) || \ + PyString_Check(obj) || PyUnicode_Check(obj)) + #define __Pyx_PyBaseString_CheckExact(obj) (Py_TYPE(obj) == &PyBaseString_Type) +#endif + #if PY_VERSION_HEX < 0x02060000 #define PySet_Check(obj) PyObject_TypeCheck(obj, &PySet_Type) #define PyFrozenSet_Check(obj) PyObject_TypeCheck(obj, &PyFrozenSet_Type) |