git-svn-id: svn+ssh://svn.dolda2000.com/srv/svn/repos/src/doldaconnect@764
959494ce-11ee-0310-bf91-
de5d638817bd
toks = NULL;
tokssize = toksdata = 0;
cmd = NULL;
toks = NULL;
tokssize = toksdata = 0;
cmd = NULL;
for(i = 0; i < PySequence_Size(args); i++) {
for(i = 0; i < PySequence_Size(args); i++) {
- c = PySequence_GetItem(args, i);
+ if((c = PySequence_GetItem(args, i)) == NULL)
+ goto out;
if(!PyUnicode_Check(c)) {
n = PyUnicode_FromObject(c);
Py_DECREF(c);
if(!PyUnicode_Check(c)) {
n = PyUnicode_FromObject(c);
Py_DECREF(c);
+ if((c = n) == NULL)
+ goto out;
}
tok = smalloc((toksize = (PyUnicode_GetSize(c) + 1)) * sizeof(*tok));
tok[PyUnicode_AsWideChar((PyUnicodeObject *)c, tok, toksize)] = L'\0';
}
tok = smalloc((toksize = (PyUnicode_GetSize(c) + 1)) * sizeof(*tok));
tok[PyUnicode_AsWideChar((PyUnicodeObject *)c, tok, toksize)] = L'\0';
}
if(cmd == NULL) {
PyErr_SetString(PyExc_TypeError, "qcmd needs at least 1 argument");
}
if(cmd == NULL) {
PyErr_SetString(PyExc_TypeError, "qcmd needs at least 1 argument");
}
addtobuf(toks, NULL);
ret = NULL;
}
addtobuf(toks, NULL);
ret = NULL;
} else {
ret = PyInt_FromLong(dc_queuecmd(NULL, NULL, cmd, L"%%a", toks, NULL));
}
} else {
ret = PyInt_FromLong(dc_queuecmd(NULL, NULL, cmd, L"%%a", toks, NULL));
}
+ if(cmd != NULL)
+ free(cmd);