From c35201f9225d22cf17073e36300c6afd92d89700 Mon Sep 17 00:00:00 2001 From: Michele Calgaro Date: Thu, 25 Jan 2024 10:15:39 +0900 Subject: [PATCH] Add support for python 3.12 and raise minimum required version to 3.3 Signed-off-by: Michele Calgaro --- configure.py | 4 ++-- siplib/sip-tqt.h | 4 ++-- siplib/siplib.c | 12 ++++++------ 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/configure.py b/configure.py index c172cc9..3a1eb0d 100644 --- a/configure.py +++ b/configure.py @@ -389,8 +389,8 @@ def main(argv): """ siputils.inform("This is SIP-TQt %s for Python %s on %s platform." % (sip_version_str, sys.version.split()[0], sys.platform)) - if py_version < 0x020300: - siputils.error("This version of SIP-TQt requires Python v2.3 or later.") + if py_version < 0x030300: + siputils.error("This version of SIP-TQt requires Python v3.3 or later.") global extra_lib_dir diff --git a/siplib/sip-tqt.h b/siplib/sip-tqt.h index 08aaf3c..02585cd 100644 --- a/siplib/sip-tqt.h +++ b/siplib/sip-tqt.h @@ -46,8 +46,8 @@ extern "C" { /* Sanity check on the Python version. */ -#if PY_VERSION_HEX < 0x03020000 -#error "This version of SIP-TQt requires Python v3.2 or later" +#if PY_VERSION_HEX < 0x03030000 +#error "This version of SIP-TQt requires Python v3.3 or later" #endif diff --git a/siplib/siplib.c b/siplib/siplib.c index d90970c..c58a47a 100644 --- a/siplib/siplib.c +++ b/siplib/siplib.c @@ -9384,7 +9384,7 @@ static char sip_api_string_as_ascii_char(PyObject *obj) if (parseString_AsASCIIChar(obj, &ch) < 0) { /* Use the exception set if it was an encoding error. */ - if (!PyUnicode_Check(obj) || PyUnicode_GET_SIZE(obj) != 1) + if (!PyUnicode_Check(obj) || PyUnicode_GET_LENGTH(obj) != 1) PyErr_Format(PyExc_TypeError, "bytes or ASCII string of length 1 expected not '%s'", Py_TYPE(obj)->tp_name); @@ -9416,7 +9416,7 @@ static char sip_api_string_as_latin1_char(PyObject *obj) if (parseString_AsLatin1Char(obj, &ch) < 0) { /* Use the exception set if it was an encoding error. */ - if (!PyUnicode_Check(obj) || PyUnicode_GET_SIZE(obj) != 1) + if (!PyUnicode_Check(obj) || PyUnicode_GET_LENGTH(obj) != 1) PyErr_Format(PyExc_TypeError, "bytes or Latin-1 string of length 1 expected not '%s'", Py_TYPE(obj)->tp_name); @@ -9448,7 +9448,7 @@ static char sip_api_string_as_utf8_char(PyObject *obj) if (parseString_AsUTF8Char(obj, &ch) < 0) { /* Use the exception set if it was an encoding error. */ - if (!PyUnicode_Check(obj) || PyUnicode_GET_SIZE(obj) != 1) + if (!PyUnicode_Check(obj) || PyUnicode_GET_LENGTH(obj) != 1) PyErr_Format(PyExc_TypeError, "bytes or UTF-8 string of length 1 expected not '%s'", Py_TYPE(obj)->tp_name); @@ -9757,7 +9757,7 @@ static int convertToWCharArray(PyObject *obj, wchar_t **ap, SIP_SSIZE_T *aszp) SIP_SSIZE_T ulen; wchar_t *wc; - ulen = PyUnicode_GET_SIZE(obj); + ulen = PyUnicode_GET_LENGTH(obj); if ((wc = sip_api_malloc(ulen * sizeof (wchar_t))) == NULL) return -1; @@ -9794,7 +9794,7 @@ static int parseWChar(PyObject *obj, wchar_t *ap) */ static int convertToWChar(PyObject *obj, wchar_t *ap) { - if (PyUnicode_GET_SIZE(obj) != 1) + if (PyUnicode_GET_LENGTH(obj) != 1) return -1; if (PyUnicode_AsWideChar((PyUnicodeObject *)obj, ap, 1) != 1) @@ -9832,7 +9832,7 @@ static int convertToWCharString(PyObject *obj, wchar_t **ap) SIP_SSIZE_T ulen; wchar_t *wc; - ulen = PyUnicode_GET_SIZE(obj); + ulen = PyUnicode_GET_LENGTH(obj); if ((wc = sip_api_malloc((ulen + 1) * sizeof (wchar_t))) == NULL) return -1;