• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #define NULLABLE(x) do {                    \
2         if (x == Py_None) {                 \
3             x = NULL;                       \
4         }                                   \
5     } while (0);
6 
7 #define RETURN_INT(value) do {              \
8         int _ret = (value);                 \
9         if (_ret == -1) {                   \
10             assert(PyErr_Occurred());       \
11             return NULL;                    \
12         }                                   \
13         assert(!PyErr_Occurred());          \
14         return PyLong_FromLong(_ret);       \
15     } while (0)
16 
17 #define RETURN_SIZE(value) do {             \
18         Py_ssize_t _ret = (value);          \
19         if (_ret == -1) {                   \
20             assert(PyErr_Occurred());       \
21             return NULL;                    \
22         }                                   \
23         assert(!PyErr_Occurred());          \
24         return PyLong_FromSsize_t(_ret);    \
25     } while (0)
26 
27 /* Marker to check that pointer value was set. */
28 static const char uninitialized[] = "uninitialized";
29 #define UNINITIALIZED_PTR ((void *)uninitialized)
30 /* Marker to check that Py_ssize_t value was set. */
31 #define UNINITIALIZED_SIZE ((Py_ssize_t)236892191)
32 /* Marker to check that integer value was set. */
33 #define UNINITIALIZED_INT (63256717)
34