summaryrefslogtreecommitdiffstats
path: root/source3/python
diff options
context:
space:
mode:
authorTim Potter <tpot@samba.org>2002-11-06 23:34:12 +0000
committerTim Potter <tpot@samba.org>2002-11-06 23:34:12 +0000
commitf4766f4900c87a82d49f39dadac56e74debef920 (patch)
tree0a2f2a92aceceb8a0fcfb063bd79425c8ede173a /source3/python
parent6ae9de8f39ea80622be091c95a7461c5d106de13 (diff)
downloadsamba-f4766f4900c87a82d49f39dadac56e74debef920.tar.gz
samba-f4766f4900c87a82d49f39dadac56e74debef920.tar.xz
samba-f4766f4900c87a82d49f39dadac56e74debef920.zip
Moved function to parse a list of unicode strings into util file.
It's now used in parsing printer driver structures and the response from the enumprinterkey rpc. (This used to be commit acecee6f2bb92c4992078f4fe2dfae4414f43482)
Diffstat (limited to 'source3/python')
-rw-r--r--source3/python/py_conv.c24
-rw-r--r--source3/python/py_spoolss_drivers_conv.c28
2 files changed, 26 insertions, 26 deletions
diff --git a/source3/python/py_conv.c b/source3/python/py_conv.c
index 20302c83e87..04b41948240 100644
--- a/source3/python/py_conv.c
+++ b/source3/python/py_conv.c
@@ -182,3 +182,27 @@ done:
return result;
}
+
+/* Convert a NULL terminated list of NULL terminated unicode strings
+ to a list of (char *) strings */
+
+PyObject *from_unistr_list(uint16 *dependentfiles)
+{
+ PyObject *list;
+ int offset = 0;
+
+ list = PyList_New(0);
+
+ while (*(dependentfiles + offset) != 0) {
+ fstring name;
+ int len;
+
+ len = rpcstr_pull(name, dependentfiles + offset,
+ sizeof(fstring), -1, STR_TERMINATE);
+
+ offset += len / 2;
+ PyList_Append(list, PyString_FromString(name));
+ }
+
+ return list;
+}
diff --git a/source3/python/py_spoolss_drivers_conv.c b/source3/python/py_spoolss_drivers_conv.c
index fd47c0e84da..9bc84080529 100644
--- a/source3/python/py_spoolss_drivers_conv.c
+++ b/source3/python/py_spoolss_drivers_conv.c
@@ -78,30 +78,6 @@ struct pyconv py_DRIVER_DIRECTORY_1[] = {
{ NULL }
};
-/* Convert a NULL terminated list of NULL terminated unicode strings
- to a list of (char *) strings */
-
-static PyObject *from_dependentfiles(uint16 *dependentfiles)
-{
- PyObject *list;
- int offset = 0;
-
- list = PyList_New(0);
-
- while (*(dependentfiles + offset) != 0) {
- fstring name;
- int len;
-
- len = rpcstr_pull(name, dependentfiles + offset,
- sizeof(fstring), -1, STR_TERMINATE);
-
- offset += len / 2;
- PyList_Append(list, PyString_FromString(name));
- }
-
- return list;
-}
-
static uint16 *to_dependentfiles(PyObject *dict)
{
return (uint16 *)"abcd\0";
@@ -141,7 +117,7 @@ BOOL py_from_DRIVER_INFO_3(PyObject **dict, DRIVER_INFO_3 *info)
PyDict_SetItemString(
*dict, "dependent_files",
- from_dependentfiles(info->dependentfiles));
+ from_unistr_list(info->dependentfiles));
return True;
}
@@ -181,7 +157,7 @@ BOOL py_from_DRIVER_INFO_6(PyObject **dict, DRIVER_INFO_6 *info)
PyDict_SetItemString(*dict, "level", PyInt_FromLong(6));
PyDict_SetItemString(
*dict, "dependent_files",
- from_dependentfiles (info->dependentfiles));
+ from_unistr_list(info->dependentfiles));
return True;
}