summaryrefslogtreecommitdiff
path: root/source3/python/py_conv.c
diff options
context:
space:
mode:
Diffstat (limited to 'source3/python/py_conv.c')
-rw-r--r--source3/python/py_conv.c19
1 files changed, 17 insertions, 2 deletions
diff --git a/source3/python/py_conv.c b/source3/python/py_conv.c
index e865daf7d9..d0a2d78aab 100644
--- a/source3/python/py_conv.c
+++ b/source3/python/py_conv.c
@@ -18,8 +18,6 @@
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-#include "includes.h"
-#include "Python.h"
#include "py_conv.h"
/* Helper for rpcstr_pull() function */
@@ -29,6 +27,11 @@ static void fstr_pull(fstring str, UNISTR *uni)
rpcstr_pull(str, uni->buffer, sizeof(fstring), -1, STR_TERMINATE);
}
+static void fstr_pull2(fstring str, UNISTR2 *uni)
+{
+ rpcstr_pull(str, uni->buffer, sizeof(fstring), -1, STR_TERMINATE);
+}
+
/* Convert a structure to a Python dict */
PyObject *from_struct(void *s, struct pyconv *conv)
@@ -52,6 +55,18 @@ PyObject *from_struct(void *s, struct pyconv *conv)
break;
}
+ case PY_UNISTR2: {
+ UNISTR2 *u = (UNISTR2 *)((char *)s + conv[i].offset);
+ fstring str = "";
+
+ if (u->buffer)
+ fstr_pull2(str, u);
+
+ item = PyString_FromString(str);
+ PyDict_SetItemString(obj, conv[i].name, item);
+
+ break;
+ }
case PY_UINT32: {
uint32 *u = (uint32 *)((char *)s + conv[i].offset);