chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
systemd-python: add _Reader.closed attribute
[elogind.git]
/
src
/
python-systemd
/
id128.c
diff --git
a/src/python-systemd/id128.c
b/src/python-systemd/id128.c
index 04db786b66dc649c359ee9cfd1d776d2b3e5e5aa..a6711a5bd5f6b6a24f00a0eaf80a979a312d601e 100644
(file)
--- a/
src/python-systemd/id128.c
+++ b/
src/python-systemd/id128.c
@@
-19,18
+19,13
@@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
***/
along with systemd; If not, see <http://www.gnu.org/licenses/>.
***/
+#include <stdbool.h>
+
#include <Python.h>
#include <systemd/sd-messages.h>
#include <Python.h>
#include <systemd/sd-messages.h>
-#define _cleanup_Py_DECREF_ __attribute__((cleanup(cleanup_Py_DECREFp)))
-
-static void cleanup_Py_DECREFp(PyObject **p) {
- if (!*p)
- return;
-
- Py_DECREF(*p);
-}
+#include "pyutil.h"
PyDoc_STRVAR(module__doc__,
"Python interface to the libsystemd-id128 library.\n\n"
PyDoc_STRVAR(module__doc__,
"Python interface to the libsystemd-id128 library.\n\n"
@@
-106,13
+101,13
@@
static PyMethodDef methods[] = {
};
static int add_id(PyObject *module, const char* name, sd_id128_t id) {
};
static int add_id(PyObject *module, const char* name, sd_id128_t id) {
- PyObject
_cleanup_Py_DECREF_
*obj;
+ PyObject *obj;
obj = make_uuid(id);
if (!obj)
return -1;
obj = make_uuid(id);
if (!obj)
return -1;
- return Py
Object_SetAttrString
(module, name, obj);
+ return Py
Module_AddObject
(module, name, obj);
}
#pragma GCC diagnostic push
}
#pragma GCC diagnostic push
@@
-127,7
+122,10
@@
PyMODINIT_FUNC initid128(void) {
if (m == NULL)
return;
if (m == NULL)
return;
+ /* a series of lines like 'add_id() ;' follow */
+#define JOINER ;
#include "id128-constants.h"
#include "id128-constants.h"
+#undef JOINER
}
#else
}
#else
@@
-147,7
+145,14
@@
PyMODINIT_FUNC PyInit_id128(void) {
if (m == NULL)
return NULL;
if (m == NULL)
return NULL;
+ if ( /* a series of lines like 'add_id() ||' follow */
+#define JOINER ||
#include "id128-constants.h"
#include "id128-constants.h"
+#undef JOINER
+ false) {
+ Py_DECREF(m);
+ return NULL;
+ }
return m;
}
return m;
}