diff options
Diffstat (limited to 'source3/python/py_spoolss_forms.c')
-rw-r--r-- | source3/python/py_spoolss_forms.c | 16 |
1 files changed, 3 insertions, 13 deletions
diff --git a/source3/python/py_spoolss_forms.c b/source3/python/py_spoolss_forms.c index 66a6540e07..00c5b18e18 100644 --- a/source3/python/py_spoolss_forms.c +++ b/source3/python/py_spoolss_forms.c @@ -101,14 +101,9 @@ PyObject *spoolss_hnd_getform(PyObject *self, PyObject *args, PyObject *kw) /* Call rpc function */ - werror = cli_spoolss_getform(hnd->cli, hnd->mem_ctx, 0, &needed, + werror = cli_spoolss_getform(hnd->cli, hnd->mem_ctx, &hnd->pol, form_name, level, &form); - if (W_ERROR_V(werror) == ERRinsufficientbuffer) - werror = cli_spoolss_getform( - hnd->cli, hnd->mem_ctx, needed, NULL, &hnd->pol, - form_name, 1, &form); - if (!W_ERROR_IS_OK(werror)) { PyErr_SetObject(spoolss_werror, py_werror_tuple(werror)); return NULL; @@ -211,7 +206,7 @@ PyObject *spoolss_hnd_enumforms(PyObject *self, PyObject *args, PyObject *kw) PyObject *result; spoolss_policy_hnd_object *hnd = (spoolss_policy_hnd_object *)self; WERROR werror; - uint32 level = 1, num_forms, needed, i; + uint32 level = 1, num_forms, i; static char *kwlist[] = {"level", NULL}; FORM_1 *forms; @@ -224,14 +219,9 @@ PyObject *spoolss_hnd_enumforms(PyObject *self, PyObject *args, PyObject *kw) /* Call rpc function */ werror = cli_spoolss_enumforms( - hnd->cli, hnd->mem_ctx, 0, &needed, &hnd->pol, level, + hnd->cli, hnd->mem_ctx, &hnd->pol, level, &num_forms, &forms); - if (W_ERROR_V(werror) == ERRinsufficientbuffer) - werror = cli_spoolss_enumforms( - hnd->cli, hnd->mem_ctx, needed, NULL, &hnd->pol, level, - &num_forms, &forms); - if (!W_ERROR_IS_OK(werror)) { PyErr_SetObject(spoolss_werror, py_werror_tuple(werror)); return NULL; |