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