PyQt6-sip 13.6.0__tar.gz → 13.8.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of PyQt6-sip might be problematic. Click here for more details.
- PyQt6_sip-13.8.0/LICENSE +22 -0
- {PyQt6_sip-13.6.0 → PyQt6_sip-13.8.0}/MANIFEST.in +0 -1
- {PyQt6_sip-13.6.0 → PyQt6_sip-13.8.0}/PKG-INFO +5 -7
- {PyQt6_sip-13.6.0 → PyQt6_sip-13.8.0}/PyQt6_sip.egg-info/PKG-INFO +5 -7
- {PyQt6_sip-13.6.0 → PyQt6_sip-13.8.0}/PyQt6_sip.egg-info/SOURCES.txt +0 -3
- {PyQt6_sip-13.6.0 → PyQt6_sip-13.8.0}/setup.cfg +3 -3
- PyQt6_sip-13.8.0/setup.py +23 -0
- {PyQt6_sip-13.6.0 → PyQt6_sip-13.8.0}/sip.h +16 -18
- {PyQt6_sip-13.6.0 → PyQt6_sip-13.8.0}/sip_array.c +10 -16
- {PyQt6_sip-13.6.0 → PyQt6_sip-13.8.0}/sip_array.h +4 -13
- {PyQt6_sip-13.6.0 → PyQt6_sip-13.8.0}/sip_core.c +47 -38
- {PyQt6_sip-13.6.0 → PyQt6_sip-13.8.0}/sip_core.h +10 -18
- {PyQt6_sip-13.6.0 → PyQt6_sip-13.8.0}/sip_descriptors.c +4 -17
- {PyQt6_sip-13.6.0 → PyQt6_sip-13.8.0}/sip_enum.c +4 -13
- {PyQt6_sip-13.6.0 → PyQt6_sip-13.8.0}/sip_enum.h +4 -13
- {PyQt6_sip-13.6.0 → PyQt6_sip-13.8.0}/sip_int_convertors.c +4 -13
- {PyQt6_sip-13.6.0 → PyQt6_sip-13.8.0}/sip_object_map.c +10 -19
- {PyQt6_sip-13.6.0 → PyQt6_sip-13.8.0}/sip_threads.c +3 -13
- {PyQt6_sip-13.6.0 → PyQt6_sip-13.8.0}/sip_voidptr.c +16 -15
- PyQt6_sip-13.6.0/LICENSE +0 -49
- PyQt6_sip-13.6.0/LICENSE-GPL2 +0 -344
- PyQt6_sip-13.6.0/LICENSE-GPL3 +0 -678
- PyQt6_sip-13.6.0/setup.py +0 -45
- PyQt6_sip-13.6.0/sip_bool.cpp +0 -23
- {PyQt6_sip-13.6.0 → PyQt6_sip-13.8.0}/PyQt6_sip.egg-info/dependency_links.txt +0 -0
- {PyQt6_sip-13.6.0 → PyQt6_sip-13.8.0}/PyQt6_sip.egg-info/top_level.txt +0 -0
- {PyQt6_sip-13.6.0 → PyQt6_sip-13.8.0}/README +0 -0
- {PyQt6_sip-13.6.0 → PyQt6_sip-13.8.0}/pyproject.toml +0 -0
PyQt6_sip-13.8.0/LICENSE
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
Copyright 2024 Phil Thompson <phil@riverbankcomputing.com>
|
|
2
|
+
|
|
3
|
+
Redistribution and use in source and binary forms, with or without
|
|
4
|
+
modification, are permitted provided that the following conditions are met:
|
|
5
|
+
|
|
6
|
+
1. Redistributions of source code must retain the above copyright notice, this
|
|
7
|
+
list of conditions and the following disclaimer.
|
|
8
|
+
|
|
9
|
+
2. Redistributions in binary form must reproduce the above copyright notice,
|
|
10
|
+
this list of conditions and the following disclaimer in the documentation
|
|
11
|
+
and/or other materials provided with the distribution.
|
|
12
|
+
|
|
13
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND
|
|
14
|
+
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
15
|
+
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
16
|
+
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
17
|
+
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
18
|
+
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
19
|
+
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
20
|
+
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
21
|
+
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
22
|
+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
@@ -1,18 +1,16 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: PyQt6_sip
|
|
3
|
-
Version: 13.
|
|
3
|
+
Version: 13.8.0
|
|
4
4
|
Summary: The sip module support for PyQt6
|
|
5
|
-
Home-page: https://
|
|
6
|
-
Author:
|
|
7
|
-
Author-email:
|
|
5
|
+
Home-page: https://github.com/Python-SIP/sip
|
|
6
|
+
Author: Phil Thompson
|
|
7
|
+
Author-email: phil@riverbankcomputing.com
|
|
8
8
|
License: SIP
|
|
9
9
|
Platform: X11
|
|
10
10
|
Platform: macOS
|
|
11
11
|
Platform: Windows
|
|
12
|
-
Requires-Python: >=3.
|
|
12
|
+
Requires-Python: >=3.8
|
|
13
13
|
License-File: LICENSE
|
|
14
|
-
License-File: LICENSE-GPL2
|
|
15
|
-
License-File: LICENSE-GPL3
|
|
16
14
|
|
|
17
15
|
sip Extension Module
|
|
18
16
|
====================
|
|
@@ -1,18 +1,16 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: PyQt6-sip
|
|
3
|
-
Version: 13.
|
|
3
|
+
Version: 13.8.0
|
|
4
4
|
Summary: The sip module support for PyQt6
|
|
5
|
-
Home-page: https://
|
|
6
|
-
Author:
|
|
7
|
-
Author-email:
|
|
5
|
+
Home-page: https://github.com/Python-SIP/sip
|
|
6
|
+
Author: Phil Thompson
|
|
7
|
+
Author-email: phil@riverbankcomputing.com
|
|
8
8
|
License: SIP
|
|
9
9
|
Platform: X11
|
|
10
10
|
Platform: macOS
|
|
11
11
|
Platform: Windows
|
|
12
|
-
Requires-Python: >=3.
|
|
12
|
+
Requires-Python: >=3.8
|
|
13
13
|
License-File: LICENSE
|
|
14
|
-
License-File: LICENSE-GPL2
|
|
15
|
-
License-File: LICENSE-GPL3
|
|
16
14
|
|
|
17
15
|
sip Extension Module
|
|
18
16
|
====================
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
[metadata]
|
|
2
2
|
description = The sip module support for PyQt6
|
|
3
3
|
long_description = file: README
|
|
4
|
-
author =
|
|
5
|
-
author_email =
|
|
6
|
-
url = https://
|
|
4
|
+
author = Phil Thompson
|
|
5
|
+
author_email = phil@riverbankcomputing.com
|
|
6
|
+
url = https://github.com/Python-SIP/sip
|
|
7
7
|
platforms = X11, macOS, Windows
|
|
8
8
|
|
|
9
9
|
[egg_info]
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# SPDX-License-Identifier: BSD-2-Clause
|
|
2
|
+
|
|
3
|
+
# Copyright (c) 2024 Phil Thompson <phil@riverbankcomputing.com>
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
import glob
|
|
7
|
+
|
|
8
|
+
from setuptools import Extension, setup
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
# Build the extension module.
|
|
12
|
+
module_src = sorted(glob.glob('*.c'))
|
|
13
|
+
|
|
14
|
+
module = Extension('PyQt6.sip', module_src)
|
|
15
|
+
|
|
16
|
+
# Do the setup.
|
|
17
|
+
setup(
|
|
18
|
+
name='PyQt6_sip',
|
|
19
|
+
version='13.8.0',
|
|
20
|
+
license='SIP',
|
|
21
|
+
python_requires='>=3.8',
|
|
22
|
+
ext_modules=[module]
|
|
23
|
+
)
|
|
@@ -1,19 +1,9 @@
|
|
|
1
|
+
/* SPDX-License-Identifier: BSD-2-Clause */
|
|
2
|
+
|
|
1
3
|
/*
|
|
2
4
|
* The SIP module interface.
|
|
3
5
|
*
|
|
4
|
-
* Copyright (c)
|
|
5
|
-
*
|
|
6
|
-
* This file is part of SIP.
|
|
7
|
-
*
|
|
8
|
-
* This copy of SIP is licensed for use under the terms of the SIP License
|
|
9
|
-
* Agreement. See the file LICENSE for more details.
|
|
10
|
-
*
|
|
11
|
-
* This copy of SIP may also used under the terms of the GNU General Public
|
|
12
|
-
* License v2 or v3 as published by the Free Software Foundation which can be
|
|
13
|
-
* found in the files LICENSE-GPL2 and LICENSE-GPL3 included in this package.
|
|
14
|
-
*
|
|
15
|
-
* SIP is supplied WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
16
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
6
|
+
* Copyright (c) 2024 Phil Thompson <phil@riverbankcomputing.com>
|
|
17
7
|
*/
|
|
18
8
|
|
|
19
9
|
|
|
@@ -24,8 +14,8 @@
|
|
|
24
14
|
#include <Python.h>
|
|
25
15
|
|
|
26
16
|
/* Sanity check on the Python version. */
|
|
27
|
-
#if PY_VERSION_HEX <
|
|
28
|
-
#error "This version of PyQt6.sip requires Python v3.
|
|
17
|
+
#if PY_VERSION_HEX < 0x03080000
|
|
18
|
+
#error "This version of PyQt6.sip requires Python v3.8 or later"
|
|
29
19
|
#endif
|
|
30
20
|
|
|
31
21
|
|
|
@@ -45,13 +35,21 @@ extern "C" {
|
|
|
45
35
|
|
|
46
36
|
/* The version of the ABI. */
|
|
47
37
|
#define SIP_ABI_MAJOR_VERSION 13
|
|
48
|
-
#define SIP_ABI_MINOR_VERSION
|
|
38
|
+
#define SIP_ABI_MINOR_VERSION 8
|
|
49
39
|
#define SIP_MODULE_PATCH_VERSION 0
|
|
50
40
|
|
|
51
41
|
|
|
52
42
|
/*
|
|
53
43
|
* The change history of the ABI.
|
|
54
44
|
*
|
|
45
|
+
* v13.8
|
|
46
|
+
* - Added the 'I' conversion character to the argument and result parsers.
|
|
47
|
+
*
|
|
48
|
+
* v13.7
|
|
49
|
+
* - Added support for Python v3.13.
|
|
50
|
+
* - Python v3.8 or later is required.
|
|
51
|
+
* - C99 support is assumed.
|
|
52
|
+
*
|
|
55
53
|
* v13.6
|
|
56
54
|
* - Added support for Python v3.12.
|
|
57
55
|
* - Added sipPyTypeDictRef().
|
|
@@ -79,8 +77,8 @@ extern "C" {
|
|
|
79
77
|
|
|
80
78
|
|
|
81
79
|
/* The version of the code generator. */
|
|
82
|
-
#define SIP_VERSION
|
|
83
|
-
#define SIP_VERSION_STR "6.
|
|
80
|
+
#define SIP_VERSION 0x60806
|
|
81
|
+
#define SIP_VERSION_STR "6.8.6"
|
|
84
82
|
|
|
85
83
|
/* These are all dependent on the user-specified name of the sip module. */
|
|
86
84
|
#define _SIP_MODULE_FQ_NAME "PyQt6.sip"
|
|
@@ -1,22 +1,13 @@
|
|
|
1
|
+
/* SPDX-License-Identifier: BSD-2-Clause */
|
|
2
|
+
|
|
1
3
|
/*
|
|
2
4
|
* This file implements the API for the array type.
|
|
3
5
|
*
|
|
4
|
-
* Copyright (c)
|
|
5
|
-
*
|
|
6
|
-
* This file is part of SIP.
|
|
7
|
-
*
|
|
8
|
-
* This copy of SIP is licensed for use under the terms of the SIP License
|
|
9
|
-
* Agreement. See the file LICENSE for more details.
|
|
10
|
-
*
|
|
11
|
-
* This copy of SIP may also used under the terms of the GNU General Public
|
|
12
|
-
* License v2 or v3 as published by the Free Software Foundation which can be
|
|
13
|
-
* found in the files LICENSE-GPL2 and LICENSE-GPL3 included in this package.
|
|
14
|
-
*
|
|
15
|
-
* SIP is supplied WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
16
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
6
|
+
* Copyright (c) 2024 Phil Thompson <phil@riverbankcomputing.com>
|
|
17
7
|
*/
|
|
18
8
|
|
|
19
9
|
|
|
10
|
+
/* Remove when Python v3.12 is no longer supported. */
|
|
20
11
|
#define PY_SSIZE_T_CLEAN
|
|
21
12
|
#include <Python.h>
|
|
22
13
|
|
|
@@ -320,7 +311,8 @@ static int sipArray_getbuffer(PyObject *self, Py_buffer *view, int flags)
|
|
|
320
311
|
|
|
321
312
|
view->format = NULL;
|
|
322
313
|
if ((flags & PyBUF_FORMAT) == PyBUF_FORMAT)
|
|
323
|
-
|
|
314
|
+
/* Note that the need for a cast is probably a Python bug. */
|
|
315
|
+
view->format = (char *)format;
|
|
324
316
|
|
|
325
317
|
view->ndim = 1;
|
|
326
318
|
|
|
@@ -384,7 +376,11 @@ static PyObject *sipArray_repr(PyObject *self)
|
|
|
384
376
|
*/
|
|
385
377
|
static PyObject *sipArray_new(PyTypeObject *cls, PyObject *args, PyObject *kw)
|
|
386
378
|
{
|
|
379
|
+
#if PY_VERSION_HEX >= 0x030d0000
|
|
380
|
+
static char * const kwlist[] = {"", "", NULL};
|
|
381
|
+
#else
|
|
387
382
|
static char *kwlist[] = {"", "", NULL};
|
|
383
|
+
#endif
|
|
388
384
|
|
|
389
385
|
Py_ssize_t length;
|
|
390
386
|
PyObject *array, *type;
|
|
@@ -483,9 +479,7 @@ PyTypeObject sipArray_Type = {
|
|
|
483
479
|
0, /* tp_del */
|
|
484
480
|
0, /* tp_version_tag */
|
|
485
481
|
0, /* tp_finalize */
|
|
486
|
-
#if PY_VERSION_HEX >= 0x03080000
|
|
487
482
|
0, /* tp_vectorcall */
|
|
488
|
-
#endif
|
|
489
483
|
};
|
|
490
484
|
|
|
491
485
|
|
|
@@ -1,19 +1,9 @@
|
|
|
1
|
+
/* SPDX-License-Identifier: BSD-2-Clause */
|
|
2
|
+
|
|
1
3
|
/*
|
|
2
4
|
* This file defines the API for the array type.
|
|
3
5
|
*
|
|
4
|
-
* Copyright (c)
|
|
5
|
-
*
|
|
6
|
-
* This file is part of SIP.
|
|
7
|
-
*
|
|
8
|
-
* This copy of SIP is licensed for use under the terms of the SIP License
|
|
9
|
-
* Agreement. See the file LICENSE for more details.
|
|
10
|
-
*
|
|
11
|
-
* This copy of SIP may also used under the terms of the GNU General Public
|
|
12
|
-
* License v2 or v3 as published by the Free Software Foundation which can be
|
|
13
|
-
* found in the files LICENSE-GPL2 and LICENSE-GPL3 included in this package.
|
|
14
|
-
*
|
|
15
|
-
* SIP is supplied WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
16
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
6
|
+
* Copyright (c) 2024 Phil Thompson <phil@riverbankcomputing.com>
|
|
17
7
|
*/
|
|
18
8
|
|
|
19
9
|
|
|
@@ -21,6 +11,7 @@
|
|
|
21
11
|
#define _SIP_ARRAY_H
|
|
22
12
|
|
|
23
13
|
|
|
14
|
+
/* Remove when Python v3.12 is no longer supported. */
|
|
24
15
|
#define PY_SSIZE_T_CLEAN
|
|
25
16
|
#include <Python.h>
|
|
26
17
|
|
|
@@ -1,22 +1,13 @@
|
|
|
1
|
+
/* SPDX-License-Identifier: BSD-2-Clause */
|
|
2
|
+
|
|
1
3
|
/*
|
|
2
4
|
* The core sip module code.
|
|
3
5
|
*
|
|
4
|
-
* Copyright (c)
|
|
5
|
-
*
|
|
6
|
-
* This file is part of SIP.
|
|
7
|
-
*
|
|
8
|
-
* This copy of SIP is licensed for use under the terms of the SIP License
|
|
9
|
-
* Agreement. See the file LICENSE for more details.
|
|
10
|
-
*
|
|
11
|
-
* This copy of SIP may also used under the terms of the GNU General Public
|
|
12
|
-
* License v2 or v3 as published by the Free Software Foundation which can be
|
|
13
|
-
* found in the files LICENSE-GPL2 and LICENSE-GPL3 included in this package.
|
|
14
|
-
*
|
|
15
|
-
* SIP is supplied WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
16
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
6
|
+
* Copyright (c) 2024 Phil Thompson <phil@riverbankcomputing.com>
|
|
17
7
|
*/
|
|
18
8
|
|
|
19
9
|
|
|
10
|
+
/* Remove when Python v3.12 is no longer supported. */
|
|
20
11
|
#define PY_SSIZE_T_CLEAN
|
|
21
12
|
#include <Python.h>
|
|
22
13
|
#include <datetime.h>
|
|
@@ -34,12 +25,6 @@
|
|
|
34
25
|
#include "sip_core.h"
|
|
35
26
|
|
|
36
27
|
|
|
37
|
-
/* There doesn't seem to be a standard way of checking for C99 support. */
|
|
38
|
-
#if !defined(va_copy)
|
|
39
|
-
#define va_copy(d, s) ((d) = (s))
|
|
40
|
-
#endif
|
|
41
|
-
|
|
42
|
-
|
|
43
28
|
/*
|
|
44
29
|
* The Python metatype for a C++ wrapper type. We inherit everything from the
|
|
45
30
|
* standard Python metatype except the init and getattro methods and the size
|
|
@@ -103,9 +88,7 @@ PyTypeObject sipWrapperType_Type = {
|
|
|
103
88
|
0, /* tp_del */
|
|
104
89
|
0, /* tp_version_tag */
|
|
105
90
|
0, /* tp_finalize */
|
|
106
|
-
#if PY_VERSION_HEX >= 0x03080000
|
|
107
91
|
0, /* tp_vectorcall */
|
|
108
|
-
#endif
|
|
109
92
|
};
|
|
110
93
|
|
|
111
94
|
|
|
@@ -171,9 +154,7 @@ static sipWrapperType sipWrapper_Type = {
|
|
|
171
154
|
0, /* tp_del */
|
|
172
155
|
0, /* tp_version_tag */
|
|
173
156
|
0, /* tp_finalize */
|
|
174
|
-
#if PY_VERSION_HEX >= 0x03080000
|
|
175
157
|
0, /* tp_vectorcall */
|
|
176
|
-
#endif
|
|
177
158
|
},
|
|
178
159
|
{
|
|
179
160
|
0, /* am_await */
|
|
@@ -893,10 +874,6 @@ const sipAPIDef *sip_init_library(PyObject *mod_dict)
|
|
|
893
874
|
PyObject *obj;
|
|
894
875
|
PyMethodDef *md;
|
|
895
876
|
|
|
896
|
-
#if PY_VERSION_HEX < 0x03070000 && defined(WITH_THREAD)
|
|
897
|
-
PyEval_InitThreads();
|
|
898
|
-
#endif
|
|
899
|
-
|
|
900
877
|
if (sip_enum_init() < 0)
|
|
901
878
|
return NULL;
|
|
902
879
|
|
|
@@ -2321,7 +2298,7 @@ static PyObject *buildObject(PyObject *obj, const char *fmt, va_list va)
|
|
|
2321
2298
|
break;
|
|
2322
2299
|
|
|
2323
2300
|
case '=':
|
|
2324
|
-
el =
|
|
2301
|
+
el = PyLong_FromSize_t(va_arg(va, size_t));
|
|
2325
2302
|
break;
|
|
2326
2303
|
|
|
2327
2304
|
case 'N':
|
|
@@ -2695,6 +2672,19 @@ static int parseResult(PyObject *method, PyObject *res,
|
|
|
2695
2672
|
|
|
2696
2673
|
break;
|
|
2697
2674
|
|
|
2675
|
+
case 'I':
|
|
2676
|
+
{
|
|
2677
|
+
char *p = va_arg(va, char *);
|
|
2678
|
+
char v = sip_api_long_as_char(arg);
|
|
2679
|
+
|
|
2680
|
+
if (PyErr_Occurred())
|
|
2681
|
+
invalid = TRUE;
|
|
2682
|
+
else if (p != NULL)
|
|
2683
|
+
*p = v;
|
|
2684
|
+
}
|
|
2685
|
+
|
|
2686
|
+
break;
|
|
2687
|
+
|
|
2698
2688
|
case 'L':
|
|
2699
2689
|
{
|
|
2700
2690
|
signed char *p = va_arg(va, signed char *);
|
|
@@ -4322,9 +4312,28 @@ static int parsePass1(PyObject **parseErrp, PyObject **selfp, int *selfargp,
|
|
|
4322
4312
|
break;
|
|
4323
4313
|
}
|
|
4324
4314
|
|
|
4315
|
+
case 'I':
|
|
4316
|
+
{
|
|
4317
|
+
/* Char as an integer. */
|
|
4318
|
+
|
|
4319
|
+
char *p = va_arg(va, char *);
|
|
4320
|
+
|
|
4321
|
+
if (arg != NULL)
|
|
4322
|
+
{
|
|
4323
|
+
char v = sip_api_long_as_char(arg);
|
|
4324
|
+
|
|
4325
|
+
if (PyErr_Occurred())
|
|
4326
|
+
handle_failed_int_conversion(&failure, arg);
|
|
4327
|
+
else
|
|
4328
|
+
*p = v;
|
|
4329
|
+
}
|
|
4330
|
+
|
|
4331
|
+
break;
|
|
4332
|
+
}
|
|
4333
|
+
|
|
4325
4334
|
case 'L':
|
|
4326
4335
|
{
|
|
4327
|
-
/* Signed char. */
|
|
4336
|
+
/* Signed char as an integer. */
|
|
4328
4337
|
|
|
4329
4338
|
signed char *p = va_arg(va, signed char *);
|
|
4330
4339
|
|
|
@@ -4343,7 +4352,7 @@ static int parsePass1(PyObject **parseErrp, PyObject **selfp, int *selfargp,
|
|
|
4343
4352
|
|
|
4344
4353
|
case 'M':
|
|
4345
4354
|
{
|
|
4346
|
-
/* Unsigned char. */
|
|
4355
|
+
/* Unsigned char as an integer. */
|
|
4347
4356
|
|
|
4348
4357
|
unsigned char *p = va_arg(va, unsigned char *);
|
|
4349
4358
|
|
|
@@ -4943,6 +4952,8 @@ static int parsePass2(PyObject *self, int selfarg, PyObject *sipArgs,
|
|
|
4943
4952
|
|
|
4944
4953
|
if (flags & FMT_AP_TRANSFER_THIS)
|
|
4945
4954
|
owner = va_arg(va, PyObject **);
|
|
4955
|
+
else
|
|
4956
|
+
owner = NULL;
|
|
4946
4957
|
|
|
4947
4958
|
if (flags & FMT_AP_NO_CONVERTORS)
|
|
4948
4959
|
{
|
|
@@ -4969,7 +4980,7 @@ static int parsePass2(PyObject *self, int selfarg, PyObject *sipArgs,
|
|
|
4969
4980
|
if (iserr)
|
|
4970
4981
|
return FALSE;
|
|
4971
4982
|
|
|
4972
|
-
if (
|
|
4983
|
+
if (owner != NULL && *p != NULL)
|
|
4973
4984
|
*owner = arg;
|
|
4974
4985
|
}
|
|
4975
4986
|
|
|
@@ -9503,6 +9514,10 @@ static PyObject *slot_richcompare(PyObject *self, PyObject *arg, int op)
|
|
|
9503
9514
|
case Py_GE:
|
|
9504
9515
|
st = ge_slot;
|
|
9505
9516
|
break;
|
|
9517
|
+
|
|
9518
|
+
default:
|
|
9519
|
+
/* Suppress a compiler warning. */
|
|
9520
|
+
st = -1;
|
|
9506
9521
|
}
|
|
9507
9522
|
|
|
9508
9523
|
/* It might not exist if not all the above have been implemented. */
|
|
@@ -9632,9 +9647,7 @@ sipWrapperType sipSimpleWrapper_Type = {
|
|
|
9632
9647
|
0, /* tp_del */
|
|
9633
9648
|
0, /* tp_version_tag */
|
|
9634
9649
|
0, /* tp_finalize */
|
|
9635
|
-
#if PY_VERSION_HEX >= 0x03080000
|
|
9636
9650
|
0, /* tp_vectorcall */
|
|
9637
|
-
#endif
|
|
9638
9651
|
},
|
|
9639
9652
|
{
|
|
9640
9653
|
0, /* am_await */
|
|
@@ -11823,22 +11836,18 @@ PyObject *sip_get_qualname(const sipTypeDef *td, PyObject *name)
|
|
|
11823
11836
|
|
|
11824
11837
|
|
|
11825
11838
|
/*
|
|
11826
|
-
*
|
|
11839
|
+
* Unpack a slice object.
|
|
11827
11840
|
*/
|
|
11828
11841
|
int sip_api_convert_from_slice_object(PyObject *slice, Py_ssize_t length,
|
|
11829
11842
|
Py_ssize_t *start, Py_ssize_t *stop, Py_ssize_t *step,
|
|
11830
11843
|
Py_ssize_t *slicelength)
|
|
11831
11844
|
{
|
|
11832
|
-
#if PY_VERSION_HEX >= 0x03070000
|
|
11833
11845
|
if (PySlice_Unpack(slice, start, stop, step) < 0)
|
|
11834
11846
|
return -1;
|
|
11835
11847
|
|
|
11836
11848
|
*slicelength = PySlice_AdjustIndices(length, start, stop, *step);
|
|
11837
11849
|
|
|
11838
11850
|
return 0;
|
|
11839
|
-
#else
|
|
11840
|
-
return PySlice_GetIndicesEx(slice, length, start, stop, step, slicelength);
|
|
11841
|
-
#endif
|
|
11842
11851
|
}
|
|
11843
11852
|
|
|
11844
11853
|
|
|
@@ -1,19 +1,9 @@
|
|
|
1
|
+
/* SPDX-License-Identifier: BSD-2-Clause */
|
|
2
|
+
|
|
1
3
|
/*
|
|
2
4
|
* This file defines the core sip module internal interfaces.
|
|
3
5
|
*
|
|
4
|
-
* Copyright (c)
|
|
5
|
-
*
|
|
6
|
-
* This file is part of SIP.
|
|
7
|
-
*
|
|
8
|
-
* This copy of SIP is licensed for use under the terms of the SIP License
|
|
9
|
-
* Agreement. See the file LICENSE for more details.
|
|
10
|
-
*
|
|
11
|
-
* This copy of SIP may also used under the terms of the GNU General Public
|
|
12
|
-
* License v2 or v3 as published by the Free Software Foundation which can be
|
|
13
|
-
* found in the files LICENSE-GPL2 and LICENSE-GPL3 included in this package.
|
|
14
|
-
*
|
|
15
|
-
* SIP is supplied WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
16
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
6
|
+
* Copyright (c) 2024 Phil Thompson <phil@riverbankcomputing.com>
|
|
17
7
|
*/
|
|
18
8
|
|
|
19
9
|
|
|
@@ -21,9 +11,13 @@
|
|
|
21
11
|
#define _SIP_CORE_H
|
|
22
12
|
|
|
23
13
|
|
|
14
|
+
/* Remove when Python v3.12 is no longer supported. */
|
|
24
15
|
#define PY_SSIZE_T_CLEAN
|
|
25
16
|
#include <Python.h>
|
|
26
17
|
|
|
18
|
+
#include <stdbool.h>
|
|
19
|
+
#include <stdint.h>
|
|
20
|
+
|
|
27
21
|
#include "sip.h"
|
|
28
22
|
|
|
29
23
|
|
|
@@ -55,9 +49,9 @@ typedef struct
|
|
|
55
49
|
typedef struct
|
|
56
50
|
{
|
|
57
51
|
int primeIdx; /* Index into table sizes. */
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
52
|
+
uintptr_t size; /* Size of hash table. */
|
|
53
|
+
uintptr_t unused; /* Nr. unused in hash table. */
|
|
54
|
+
uintptr_t stale; /* Nr. stale in hash table. */
|
|
61
55
|
sipHashEntry *hash_array; /* Current hash table. */
|
|
62
56
|
} sipObjectMap;
|
|
63
57
|
|
|
@@ -153,9 +147,7 @@ sipSimpleWrapper *sipOMFindObject(sipObjectMap *om, void *key,
|
|
|
153
147
|
void sipOMAddObject(sipObjectMap *om, sipSimpleWrapper *val);
|
|
154
148
|
int sipOMRemoveObject(sipObjectMap *om, sipSimpleWrapper *val);
|
|
155
149
|
|
|
156
|
-
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
|
|
157
150
|
#define sip_set_bool(p, v) (*(_Bool *)(p) = (v))
|
|
158
|
-
#endif
|
|
159
151
|
|
|
160
152
|
|
|
161
153
|
#ifdef __cplusplus
|
|
@@ -1,22 +1,13 @@
|
|
|
1
|
+
/* SPDX-License-Identifier: BSD-2-Clause */
|
|
2
|
+
|
|
1
3
|
/*
|
|
2
4
|
* The implementation of the different descriptors.
|
|
3
5
|
*
|
|
4
|
-
* Copyright (c)
|
|
5
|
-
*
|
|
6
|
-
* This file is part of SIP.
|
|
7
|
-
*
|
|
8
|
-
* This copy of SIP is licensed for use under the terms of the SIP License
|
|
9
|
-
* Agreement. See the file LICENSE for more details.
|
|
10
|
-
*
|
|
11
|
-
* This copy of SIP may also used under the terms of the GNU General Public
|
|
12
|
-
* License v2 or v3 as published by the Free Software Foundation which can be
|
|
13
|
-
* found in the files LICENSE-GPL2 and LICENSE-GPL3 included in this package.
|
|
14
|
-
*
|
|
15
|
-
* SIP is supplied WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
16
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
6
|
+
* Copyright (c) 2024 Phil Thompson <phil@riverbankcomputing.com>
|
|
17
7
|
*/
|
|
18
8
|
|
|
19
9
|
|
|
10
|
+
/* Remove when Python v3.12 is no longer supported. */
|
|
20
11
|
#define PY_SSIZE_T_CLEAN
|
|
21
12
|
#include <Python.h>
|
|
22
13
|
|
|
@@ -105,9 +96,7 @@ PyTypeObject sipMethodDescr_Type = {
|
|
|
105
96
|
0, /* tp_del */
|
|
106
97
|
0, /* tp_version_tag */
|
|
107
98
|
0, /* tp_finalize */
|
|
108
|
-
#if PY_VERSION_HEX >= 0x03080000
|
|
109
99
|
0, /* tp_vectorcall */
|
|
110
|
-
#endif
|
|
111
100
|
};
|
|
112
101
|
|
|
113
102
|
|
|
@@ -325,9 +314,7 @@ PyTypeObject sipVariableDescr_Type = {
|
|
|
325
314
|
0, /* tp_del */
|
|
326
315
|
0, /* tp_version_tag */
|
|
327
316
|
0, /* tp_finalize */
|
|
328
|
-
#if PY_VERSION_HEX >= 0x03080000
|
|
329
317
|
0, /* tp_vectorcall */
|
|
330
|
-
#endif
|
|
331
318
|
};
|
|
332
319
|
|
|
333
320
|
|
|
@@ -1,22 +1,13 @@
|
|
|
1
|
+
/* SPDX-License-Identifier: BSD-2-Clause */
|
|
2
|
+
|
|
1
3
|
/*
|
|
2
4
|
* This file implements the enum support.
|
|
3
5
|
*
|
|
4
|
-
* Copyright (c)
|
|
5
|
-
*
|
|
6
|
-
* This file is part of SIP.
|
|
7
|
-
*
|
|
8
|
-
* This copy of SIP is licensed for use under the terms of the SIP License
|
|
9
|
-
* Agreement. See the file LICENSE for more details.
|
|
10
|
-
*
|
|
11
|
-
* This copy of SIP may also used under the terms of the GNU General Public
|
|
12
|
-
* License v2 or v3 as published by the Free Software Foundation which can be
|
|
13
|
-
* found in the files LICENSE-GPL2 and LICENSE-GPL3 included in this package.
|
|
14
|
-
*
|
|
15
|
-
* SIP is supplied WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
16
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
6
|
+
* Copyright (c) 2024 Phil Thompson <phil@riverbankcomputing.com>
|
|
17
7
|
*/
|
|
18
8
|
|
|
19
9
|
|
|
10
|
+
/* Remove when Python v3.12 is no longer supported. */
|
|
20
11
|
#define PY_SSIZE_T_CLEAN
|
|
21
12
|
#include <Python.h>
|
|
22
13
|
|
|
@@ -1,19 +1,9 @@
|
|
|
1
|
+
/* SPDX-License-Identifier: BSD-2-Clause */
|
|
2
|
+
|
|
1
3
|
/*
|
|
2
4
|
* This file defines the API for the enum support.
|
|
3
5
|
*
|
|
4
|
-
* Copyright (c)
|
|
5
|
-
*
|
|
6
|
-
* This file is part of SIP.
|
|
7
|
-
*
|
|
8
|
-
* This copy of SIP is licensed for use under the terms of the SIP License
|
|
9
|
-
* Agreement. See the file LICENSE for more details.
|
|
10
|
-
*
|
|
11
|
-
* This copy of SIP may also used under the terms of the GNU General Public
|
|
12
|
-
* License v2 or v3 as published by the Free Software Foundation which can be
|
|
13
|
-
* found in the files LICENSE-GPL2 and LICENSE-GPL3 included in this package.
|
|
14
|
-
*
|
|
15
|
-
* SIP is supplied WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
16
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
6
|
+
* Copyright (c) 2024 Phil Thompson <phil@riverbankcomputing.com>
|
|
17
7
|
*/
|
|
18
8
|
|
|
19
9
|
|
|
@@ -21,6 +11,7 @@
|
|
|
21
11
|
#define _SIP_ENUM_H
|
|
22
12
|
|
|
23
13
|
|
|
14
|
+
/* Remove when Python v3.12 is no longer supported. */
|
|
24
15
|
#define PY_SSIZE_T_CLEAN
|
|
25
16
|
#include <Python.h>
|
|
26
17
|
|
|
@@ -1,22 +1,13 @@
|
|
|
1
|
+
/* SPDX-License-Identifier: BSD-2-Clause */
|
|
2
|
+
|
|
1
3
|
/*
|
|
2
4
|
* The implementation of the Python object to C/C++ integer convertors.
|
|
3
5
|
*
|
|
4
|
-
* Copyright (c)
|
|
5
|
-
*
|
|
6
|
-
* This file is part of SIP.
|
|
7
|
-
*
|
|
8
|
-
* This copy of SIP is licensed for use under the terms of the SIP License
|
|
9
|
-
* Agreement. See the file LICENSE for more details.
|
|
10
|
-
*
|
|
11
|
-
* This copy of SIP may also used under the terms of the GNU General Public
|
|
12
|
-
* License v2 or v3 as published by the Free Software Foundation which can be
|
|
13
|
-
* found in the files LICENSE-GPL2 and LICENSE-GPL3 included in this package.
|
|
14
|
-
*
|
|
15
|
-
* SIP is supplied WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
16
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
6
|
+
* Copyright (c) 2024 Phil Thompson <phil@riverbankcomputing.com>
|
|
17
7
|
*/
|
|
18
8
|
|
|
19
9
|
|
|
10
|
+
/* Remove when Python v3.12 is no longer supported. */
|
|
20
11
|
#define PY_SSIZE_T_CLEAN
|
|
21
12
|
#include <Python.h>
|
|
22
13
|
|