summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYaakov Selkowitz <yselkowi@redhat.com>2024-07-04 16:36:05 +0200
committerChristian Brabandt <cb@256bit.org>2024-07-04 16:36:05 +0200
commit4179f193ccc26e95fec66273ffa036be1ab85e0a (patch)
treec9e1a0486b186a9899c35c081279dfc2368f88d6
parentf4af331d084b4f2c63710179a2f1fa360cc7d74b (diff)
patch 9.1.0521: if_py: _PyObject_CallFunction_SizeT is dropped in Python 3.13v9.1.0521
Problem: if_py: _PyObject_CallFunction_SizeT is dropped in Python 3.13 Solution: define PyObject_CallFunction for Python >= 3.13 (Yaakov Selkowitz) references: python/cpython#105051 closes: #15088 Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
-rw-r--r--src/if_python3.c14
-rw-r--r--src/version.c2
2 files changed, 15 insertions, 1 deletions
diff --git a/src/if_python3.c b/src/if_python3.c
index c135e7e6fd..96c9497712 100644
--- a/src/if_python3.c
+++ b/src/if_python3.c
@@ -232,7 +232,11 @@ static HINSTANCE hinstPy3 = 0; // Instance of python.dll
# define PyObject_HasAttrString py3_PyObject_HasAttrString
# define PyObject_SetAttrString py3_PyObject_SetAttrString
# define PyObject_CallFunctionObjArgs py3_PyObject_CallFunctionObjArgs
-# define _PyObject_CallFunction_SizeT py3__PyObject_CallFunction_SizeT
+# if PY_VERSION_HEX >= 0x030d0000
+# define PyObject_CallFunction py3_PyObject_CallFunction
+# else
+# define _PyObject_CallFunction_SizeT py3__PyObject_CallFunction_SizeT
+# endif
# define PyObject_Call py3_PyObject_Call
# define PyEval_GetLocals py3_PyEval_GetLocals
# define PyEval_GetGlobals py3_PyEval_GetGlobals
@@ -398,7 +402,11 @@ static PyObject* (*py3_PyObject_GetAttrString)(PyObject *, const char *);
static int (*py3_PyObject_HasAttrString)(PyObject *, const char *);
static int (*py3_PyObject_SetAttrString)(PyObject *, const char *, PyObject *);
static PyObject* (*py3_PyObject_CallFunctionObjArgs)(PyObject *, ...);
+# if PY_VERSION_HEX >= 0x030d0000
+static PyObject* (*py3_PyObject_CallFunction)(PyObject *, char *, ...);
+# else
static PyObject* (*py3__PyObject_CallFunction_SizeT)(PyObject *, char *, ...);
+# endif
static PyObject* (*py3_PyObject_Call)(PyObject *, PyObject *, PyObject *);
static PyObject* (*py3_PyEval_GetGlobals)(void);
static PyObject* (*py3_PyEval_GetLocals)(void);
@@ -601,7 +609,11 @@ static struct
{"PyObject_HasAttrString", (PYTHON_PROC*)&py3_PyObject_HasAttrString},
{"PyObject_SetAttrString", (PYTHON_PROC*)&py3_PyObject_SetAttrString},
{"PyObject_CallFunctionObjArgs", (PYTHON_PROC*)&py3_PyObject_CallFunctionObjArgs},
+# if PY_VERSION_HEX >= 0x030d0000
+ {"PyObject_CallFunction", (PYTHON_PROC*)&py3_PyObject_CallFunction},
+# else
{"_PyObject_CallFunction_SizeT", (PYTHON_PROC*)&py3__PyObject_CallFunction_SizeT},
+# endif
{"PyObject_Call", (PYTHON_PROC*)&py3_PyObject_Call},
{"PyEval_GetGlobals", (PYTHON_PROC*)&py3_PyEval_GetGlobals},
{"PyEval_GetLocals", (PYTHON_PROC*)&py3_PyEval_GetLocals},
diff --git a/src/version.c b/src/version.c
index ec993ab6bb..7e4b647a76 100644
--- a/src/version.c
+++ b/src/version.c
@@ -705,6 +705,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 521,
+/**/
520,
/**/
519,