diff options
author | Tim Potter <tpot@samba.org> | 2002-04-09 04:23:52 +0000 |
---|---|---|
committer | Tim Potter <tpot@samba.org> | 2002-04-09 04:23:52 +0000 |
commit | ecba275cf75be3152c917329ba16d77bf4490259 (patch) | |
tree | e73b9057fe2d694faaf64103d6b5c4a7ff737ed3 | |
parent | 5ef5e805d5f51f6fc4cfcfea7f17adc8d1f6f6eb (diff) | |
download | samba-ecba275cf75be3152c917329ba16d77bf4490259.tar.gz samba-ecba275cf75be3152c917329ba16d77bf4490259.tar.xz samba-ecba275cf75be3152c917329ba16d77bf4490259.zip |
Fixed setform and addform functions.
-rw-r--r-- | source/python/py_spoolss_forms.c | 38 |
1 files changed, 17 insertions, 21 deletions
diff --git a/source/python/py_spoolss_forms.c b/source/python/py_spoolss_forms.c index f7b80d0f330..9f8a49bd525 100644 --- a/source/python/py_spoolss_forms.c +++ b/source/python/py_spoolss_forms.c @@ -26,7 +26,8 @@ PyObject *spoolss_addform(PyObject *self, PyObject *args, PyObject *kw) { spoolss_policy_hnd_object *hnd = (spoolss_policy_hnd_object *)self; WERROR werror; - PyObject *py_form; + PyObject *py_form, *py_form_name; + char *form_name; FORM form; int level = 1; static char *kwlist[] = {"form", "level", NULL}; @@ -39,23 +40,17 @@ PyObject *spoolss_addform(PyObject *self, PyObject *args, PyObject *kw) /* Call rpc function */ - switch (level) { - case 1: { - PyObject *py_form_name; - char *form_name; - - if (!py_to_FORM(&form, py_form)) { - PyErr_SetString(spoolss_error, "invalid form"); - return NULL; - } - - py_form_name = PyDict_GetItemString(py_form, "name"); - form_name = PyString_AsString(py_form_name); + if (!py_to_FORM(&form, py_form) || + !(py_form_name = PyDict_GetItemString(py_form, "name")) || + !(form_name = PyString_AsString(py_form_name))) { + PyErr_SetString(spoolss_error, "invalid form"); + return NULL; + } + switch (level) { + case 1: init_unistr2(&form.name, form_name, strlen(form_name) + 1); - break; - } default: PyErr_SetString(spoolss_error, "unsupported info level"); return NULL; @@ -126,22 +121,23 @@ PyObject *spoolss_setform(PyObject *self, PyObject *args, PyObject *kw) { spoolss_policy_hnd_object *hnd = (spoolss_policy_hnd_object *)self; WERROR werror; - PyObject *py_form; + PyObject *py_form, *py_form_name; int level = 1; - static char *kwlist[] = {"form_name", "form", "level", NULL}; + static char *kwlist[] = {"form", "level", NULL}; char *form_name; FORM form; /* Parse parameters */ - if (!PyArg_ParseTupleAndKeywords(args, kw, "sO!|i", kwlist, - &form_name, &PyDict_Type, &py_form, - &level)) + if (!PyArg_ParseTupleAndKeywords(args, kw, "O!|i", kwlist, + &PyDict_Type, &py_form, &level)) return NULL; /* Call rpc function */ - if (!py_to_FORM(&form, py_form)) { + if (!py_to_FORM(&form, py_form) || + !(py_form_name = PyDict_GetItemString(py_form, "name")) || + !(form_name = PyString_AsString(py_form_name))) { PyErr_SetString(spoolss_error, "invalid form"); return NULL; } |