diff options
author | Tim Potter <tpot@samba.org> | 2002-05-17 02:24:06 +0000 |
---|---|---|
committer | Tim Potter <tpot@samba.org> | 2002-05-17 02:24:06 +0000 |
commit | 119716f16215ba00bc557cff9e60009cca61cc64 (patch) | |
tree | 3771d2be5c56a7a46260f21c59e1cc9d7a0f6f4a /source3/python | |
parent | 67656e58f69b4452f5ed6cadd6f1884552db5cd7 (diff) | |
download | samba-119716f16215ba00bc557cff9e60009cca61cc64.tar.gz samba-119716f16215ba00bc557cff9e60009cca61cc64.tar.bz2 samba-119716f16215ba00bc557cff9e60009cca61cc64.zip |
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)
Diffstat (limited to 'source3/python')
-rw-r--r-- | source3/python/py_conv.c | 7 | ||||
-rw-r--r-- | source3/python/py_conv.h | 2 |
2 files changed, 7 insertions, 2 deletions
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 (-: */ |