| |
1 #include "common.h" |
| |
2 |
| |
3 PyObject * |
| |
4 create_pyobject_from_string_list(GList *list) |
| |
5 { |
| |
6 PyObject *py_list; |
| |
7 if (list == NULL) { |
| |
8 Py_INCREF(Py_None); |
| |
9 return Py_None; |
| |
10 } |
| |
11 if ((py_list = PyList_New(0)) == NULL) { |
| |
12 g_list_foreach(list, (GFunc)g_free, NULL); |
| |
13 g_list_free(list); |
| |
14 return NULL; |
| |
15 } |
| |
16 while (list) { |
| |
17 PyObject *obj = PyString_FromString(list->data); |
| |
18 PyList_Append(py_list, obj); |
| |
19 Py_DECREF(obj); |
| |
20 g_free(list->data); |
| |
21 list = g_list_delete_link(list, list); |
| |
22 } |
| |
23 return py_list; |
| |
24 } |