cpython/Modules/_testcapi/util.h
Miss Islington (bot) ba7e06bb63
[3.12] Add Modules/_testcapi/util.h header (GH-108774) (#108780)
Add Modules/_testcapi/util.h header (GH-108774)

It contains common macros used in C API tests.
(cherry picked from commit 0e01fac315)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2023-09-02 23:43:14 +02:00

25 lines
971 B
C

#define NULLABLE(x) do { \
if (x == Py_None) { \
x = NULL; \
} \
} while (0);
#define RETURN_INT(value) do { \
int _ret = (value); \
if (_ret == -1) { \
assert(PyErr_Occurred()); \
return NULL; \
} \
assert(!PyErr_Occurred()); \
return PyLong_FromLong(_ret); \
} while (0)
#define RETURN_SIZE(value) do { \
Py_ssize_t _ret = (value); \
if (_ret == -1) { \
assert(PyErr_Occurred()); \
return NULL; \
} \
assert(!PyErr_Occurred()); \
return PyLong_FromSsize_t(_ret); \
} while (0)