diff options
-rw-r--r-- | Include/Python.h | 2 | ||||
-rw-r--r-- | Include/cpython/object.h | 2 | ||||
-rw-r--r-- | Include/pybuffer.h (renamed from Include/buffer.h) | 4 | ||||
-rw-r--r-- | Makefile.pre.in | 2 | ||||
-rw-r--r-- | Misc/NEWS.d/next/C API/2022-02-07-18-47-00.bpo-45459.0FCWM8.rst | 3 | ||||
-rw-r--r-- | PCbuild/pythoncore.vcxproj | 1 | ||||
-rw-r--r-- | PCbuild/pythoncore.vcxproj.filters | 3 |
7 files changed, 13 insertions, 4 deletions
diff --git a/Include/Python.h b/Include/Python.h index 5416b04..5bc8cc6 100644 --- a/Include/Python.h +++ b/Include/Python.h @@ -39,6 +39,7 @@ #include "pymacro.h" #include "pymath.h" #include "pymem.h" +#include "pybuffer.h" #include "object.h" #include "objimpl.h" #include "typeslots.h" @@ -50,7 +51,6 @@ #include "longobject.h" #include "cpython/longintrepr.h" #include "boolobject.h" -#include "buffer.h" #include "floatobject.h" #include "complexobject.h" #include "rangeobject.h" diff --git a/Include/cpython/object.h b/Include/cpython/object.h index 2ee97ba..6cc3d72 100644 --- a/Include/cpython/object.h +++ b/Include/cpython/object.h @@ -2,8 +2,6 @@ # error "this header file must not be included directly" #endif -#include "buffer.h" // for Py_buffer, included after PyObject has been defined - PyAPI_FUNC(void) _Py_NewReference(PyObject *op); #ifdef Py_TRACE_REFS diff --git a/Include/buffer.h b/Include/pybuffer.h index 6893505..31795b7 100644 --- a/Include/buffer.h +++ b/Include/pybuffer.h @@ -17,6 +17,10 @@ extern "C" { * */ +// Forward declaration to be able to include pybuffer.h before object.h: +// pybuffer.h uses PyObject and object.h uses Py_buffer. +typedef struct _object PyObject; + typedef struct { void *buf; PyObject *obj; /* owned reference */ diff --git a/Makefile.pre.in b/Makefile.pre.in index 2464bbd..2a3e0fb 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in @@ -1439,7 +1439,6 @@ PYTHON_HEADERS= \ $(srcdir)/Include/abstract.h \ $(srcdir)/Include/bltinmodule.h \ $(srcdir)/Include/boolobject.h \ - $(srcdir)/Include/buffer.h \ $(srcdir)/Include/bytearrayobject.h \ $(srcdir)/Include/bytesobject.h \ $(srcdir)/Include/ceval.h \ @@ -1472,6 +1471,7 @@ PYTHON_HEADERS= \ $(srcdir)/Include/osdefs.h \ $(srcdir)/Include/osmodule.h \ $(srcdir)/Include/patchlevel.h \ + $(srcdir)/Include/pybuffer.h \ $(srcdir)/Include/pycapsule.h \ $(srcdir)/Include/pydtrace.h \ $(srcdir)/Include/pyerrors.h \ diff --git a/Misc/NEWS.d/next/C API/2022-02-07-18-47-00.bpo-45459.0FCWM8.rst b/Misc/NEWS.d/next/C API/2022-02-07-18-47-00.bpo-45459.0FCWM8.rst new file mode 100644 index 0000000..711c107 --- /dev/null +++ b/Misc/NEWS.d/next/C API/2022-02-07-18-47-00.bpo-45459.0FCWM8.rst @@ -0,0 +1,3 @@ +Rename ``Include/buffer.h`` header file to ``Include/pybuffer.h`` to avoid +conflits with projects having an existing ``buffer.h`` header file. Patch by +Victor Stinner. diff --git a/PCbuild/pythoncore.vcxproj b/PCbuild/pythoncore.vcxproj index 8f9c4fe..c2f1a01 100644 --- a/PCbuild/pythoncore.vcxproj +++ b/PCbuild/pythoncore.vcxproj @@ -263,6 +263,7 @@ <ClInclude Include="..\Include\osmodule.h" /> <ClInclude Include="..\Include\patchlevel.h" /> <ClInclude Include="..\Include\py_curses.h" /> + <ClInclude Include="..\Include\pybuffer.h" /> <ClInclude Include="..\Include\pycapsule.h" /> <ClInclude Include="..\Include\pyerrors.h" /> <ClInclude Include="..\Include\pyexpat.h" /> diff --git a/PCbuild/pythoncore.vcxproj.filters b/PCbuild/pythoncore.vcxproj.filters index dc3b554..b300103 100644 --- a/PCbuild/pythoncore.vcxproj.filters +++ b/PCbuild/pythoncore.vcxproj.filters @@ -147,6 +147,9 @@ <ClInclude Include="..\Include\py_curses.h"> <Filter>Include</Filter> </ClInclude> + <ClInclude Include="..\Include\pybuffer.h"> + <Filter>Include</Filter> + </ClInclude> <ClInclude Include="..\Include\pycapsule.h"> <Filter>Include</Filter> </ClInclude> |