From: Lisandro Dalcin Date: Thu, 12 Nov 2009 13:53:46 +0000 (-0200) Subject: group definition of Py2/Py3 bytes/str compatibility macros in generated C code X-Git-Tag: 0.12.rc0 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=f6d6e9980d0ad7454188e5498a422b58813e419e;p=cython.git group definition of Py2/Py3 bytes/str compatibility macros in generated C code --- diff --git a/Cython/Compiler/ModuleNode.py b/Cython/Compiler/ModuleNode.py index 575414fc..346ace0c 100644 --- a/Cython/Compiler/ModuleNode.py +++ b/Cython/Compiler/ModuleNode.py @@ -454,7 +454,6 @@ class ModuleNode(Nodes.Node, Nodes.BlockNode): code.putln(" #define PyVarObject_HEAD_INIT(type, size) \\") code.putln(" PyObject_HEAD_INIT(type) size,") code.putln(" #define PyType_Modified(t)") - code.putln(" #define PyBytes_CheckExact PyString_CheckExact") code.putln("") code.putln(" typedef struct {") code.putln(" void *buf;") @@ -497,6 +496,12 @@ class ModuleNode(Nodes.Node, Nodes.BlockNode): code.putln(" #define PyBaseString_Type PyUnicode_Type") code.putln(" #define PyString_Type PyUnicode_Type") code.putln(" #define PyString_CheckExact PyUnicode_CheckExact") + code.putln("#else") + code.putln(" #define PyBytes_Type PyString_Type") + code.putln(" #define PyBytes_CheckExact PyString_CheckExact") + code.putln("#endif") + + code.putln("#if PY_MAJOR_VERSION >= 3") code.putln(" #define PyInt_Type PyLong_Type") code.putln(" #define PyInt_Check(op) PyLong_Check(op)") code.putln(" #define PyInt_CheckExact(op) PyLong_CheckExact(op)") @@ -519,7 +524,6 @@ class ModuleNode(Nodes.Node, Nodes.BlockNode): else: code.putln(" #define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y)") code.putln(" #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y)") - code.putln(" #define PyBytes_Type PyString_Type") code.putln("#endif") code.putln("#if PY_MAJOR_VERSION >= 3")