From 119716f16215ba00bc557cff9e60009cca61cc64 Mon Sep 17 00:00:00 2001 From: Tim Potter Date: Fri, 17 May 2002 02:24:06 +0000 Subject: to_struct() now returns a boolean which is false if not all the elements of the structure were present in the dictionary. (This used to be commit b26d9d793914b66050c374ec2c0e94fa37c7e0e4) --- source3/python/py_conv.c | 7 ++++++- source3/python/py_conv.h | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) (limited to 'source3/python') diff --git a/source3/python/py_conv.c b/source3/python/py_conv.c index 2dc12f348a..c6f39515af 100644 --- a/source3/python/py_conv.c +++ b/source3/python/py_conv.c @@ -78,7 +78,7 @@ PyObject *from_struct(void *s, struct pyconv *conv) /* Convert a Python dict to a structure */ -void to_struct(void *s, PyObject *dict, struct pyconv *conv) +BOOL to_struct(void *s, PyObject *dict, struct pyconv *conv) { int i; @@ -86,6 +86,9 @@ void to_struct(void *s, PyObject *dict, struct pyconv *conv) PyObject *obj; obj = PyDict_GetItemString(dict, conv[i].name); + + if (!obj) + return False; switch (conv[i].type) { case PY_UNISTR: { @@ -123,4 +126,6 @@ void to_struct(void *s, PyObject *dict, struct pyconv *conv) break; } } + + return True; } diff --git a/source3/python/py_conv.h b/source3/python/py_conv.h index 0de2d674de..ed06b9a852 100644 --- a/source3/python/py_conv.h +++ b/source3/python/py_conv.h @@ -30,7 +30,7 @@ struct pyconv { }; PyObject *from_struct(void *s, struct pyconv *conv); -void to_struct(void *s, PyObject *dict, struct pyconv *conv); +BOOL to_struct(void *s, PyObject *dict, struct pyconv *conv); /* Another version of offsetof (-: */ -- cgit