1 #include "Python.h"
2
3 #ifdef UNUSED
4 #elif defined(__GNUC__)
5 # define UNUSED(x) UNUSED_ ## x __attribute__((unused))
6 #elif defined(__LCLINT__)
7 # define UNUSED(x) /*@unused@*/ x
8 #else
9 # define UNUSED(x) x
10 #endif
11
12 #define py_decref(x) { if (x) Py_DECREF(x); }
13
py_append_string(PyObject * list,const char * value)14 static int py_append_string(PyObject *list, const char* value)
15 {
16 int rt;
17 PyObject *obj = PyString_FromString(value);
18 if (!obj) return -1;
19 rt = PyList_Append(list, obj);
20 Py_DECREF(obj);
21 return rt;
22 }
23
py_append_obj(PyObject * list,PyObject * obj)24 static int py_append_obj(PyObject *list, PyObject *obj)
25 {
26 int rt;
27 if (!obj) return -1;
28 rt = PyList_Append(list, obj);
29 return rt;
30 }
31
py_insert_obj(PyObject * dict,const char * name,PyObject * obj)32 static int py_insert_obj(PyObject *dict, const char *name, PyObject *obj)
33 {
34 int rt;
35 if (!obj) return -1;
36 rt = PyDict_SetItemString(dict, name, obj);
37 return rt;
38 }
39
py_insert_string(PyObject * dict,const char * name,const char * value)40 static int py_insert_string(PyObject *dict, const char *name, const char* value)
41 {
42 int rt;
43 PyObject *obj = PyString_FromString(value);
44 if (!obj) return -1;
45 rt = PyDict_SetItemString(dict, name, obj);
46 Py_DECREF(obj);
47 return rt;
48 }
49
50
51