mirror of
https://github.com/samba-team/samba.git
synced 2025-02-22 05:57:43 +03:00
Call get_level_value() utility function.
(This used to be commit 2566dad274e0bced9e55cbc3c126c00e70373fbe)
This commit is contained in:
parent
1ab45841cc
commit
191a446078
@ -298,7 +298,7 @@ PyObject *spoolss_addprinterdriver(PyObject *self, PyObject *args,
|
||||
static char *kwlist[] = { "server", "info", "creds", NULL };
|
||||
char *server, *errstr;
|
||||
uint32 level;
|
||||
PyObject *info, *result = NULL, *creds = NULL, *level_obj;
|
||||
PyObject *info, *result = NULL, *creds = NULL;
|
||||
WERROR werror;
|
||||
TALLOC_CTX *mem_ctx;
|
||||
struct cli_state *cli;
|
||||
@ -328,29 +328,16 @@ PyObject *spoolss_addprinterdriver(PyObject *self, PyObject *args,
|
||||
goto done;
|
||||
}
|
||||
|
||||
if ((level_obj = PyDict_GetItemString(info, "level"))) {
|
||||
if (!get_level_value(info, &level)) {
|
||||
PyErr_SetString(spoolss_error, "invalid info level");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (!PyInt_Check(level_obj)) {
|
||||
PyErr_SetString(spoolss_error,
|
||||
"level not an integer");
|
||||
goto done;
|
||||
}
|
||||
|
||||
level = PyInt_AsLong(level_obj);
|
||||
|
||||
/* Only level 2, 3 supported by NT */
|
||||
|
||||
if (level != 3) {
|
||||
PyErr_SetString(spoolss_error,
|
||||
"unsupported info level");
|
||||
goto done;
|
||||
}
|
||||
|
||||
} else {
|
||||
PyErr_SetString(spoolss_error, "no info level present");
|
||||
if (level != 3) {
|
||||
PyErr_SetString(spoolss_error, "unsupported info level");
|
||||
goto done;
|
||||
}
|
||||
|
||||
|
||||
ZERO_STRUCT(ctr);
|
||||
|
||||
switch(level) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user