mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 10:11:27 +01:00
tools/python: change 's#' size type for Python >= 3.10
Python < 3.10 by default uses 'int' type for data+size string types
(s#), unless PY_SSIZE_T_CLEAN is defined - in which case it uses
Py_ssize_t. The former behavior was removed in Python 3.10 and now it's
required to define PY_SSIZE_T_CLEAN before including Python.h, and using
Py_ssize_t for the length argument. The PY_SSIZE_T_CLEAN behavior is
supported since Python 2.5.
Adjust bindings accordingly.
Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
master commit: 897257ba49
master date: 2023-02-06 08:50:13 +0100
This commit is contained in:
1 parent
b745ff3011
commit
651ffe2c78
2 files changed
+4
-2
No files matched your search
@@ -4,6 +4,7 @@
|
||||
* Copyright (c) 2003-2004, K A Fraser (University of Cambridge)
|
||||
*/
|
||||
|
||||
#define PY_SSIZE_T_CLEAN
|
||||
#include <Python.h>
|
||||
#define XC_WANT_COMPAT_MAP_FOREIGN_API
|
||||
#include <xenctrl.h>
|
||||
@@ -1774,7 +1775,7 @@ static PyObject *pyflask_load(PyObject *self, PyObject *args, PyObject *kwds)
|
||||
{
|
||||
xc_interface *xc_handle;
|
||||
char *policy;
|
||||
uint32_t len;
|
||||
Py_ssize_t len;
|
||||
int ret;
|
||||
|
||||
static char *kwd_list[] = { "policy", NULL };
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
* Copyright (C) 2005 XenSource Ltd.
|
||||
*/
|
||||
|
||||
#define PY_SSIZE_T_CLEAN
|
||||
#include <Python.h>
|
||||
|
||||
#include <stdbool.h>
|
||||
@@ -141,7 +142,7 @@ static PyObject *xspy_write(XsHandle *self, PyObject *args)
|
||||
char *thstr;
|
||||
char *path;
|
||||
char *data;
|
||||
int data_n;
|
||||
Py_ssize_t data_n;
|
||||
bool result;
|
||||
|
||||
if (!xh)
|
||||
|
||||