getitem = PyTuple_GetItem;
}
else {
- badarg:
- PyErr_BadArgument();
+ PyErr_SetString(PyExc_TypeError, "argv must be tuple or list");
+ return NULL;
+ }
+
+ if (argc == 0) {
+ PyErr_SetString(PyExc_ValueError, "empty argument list");
return NULL;
}
for (i = 0; i < argc; i++) {
if (!PyArg_Parse((*getitem)(argv, i), "s", &argvlist[i])) {
PyMem_DEL(argvlist);
- goto badarg;
+ PyErr_SetString(PyExc_TypeError,
+ "all arguments must be strings");
+ return NULL;
+
}
}
argvlist[argc] = NULL;
return NULL;
}
+ if (argc == 0) {
+ PyErr_SetString(PyExc_ValueError,
+ "empty argument list");
+ return NULL;
+ }
+
argvlist = PyMem_NEW(char *, argc+1);
if (argvlist == NULL) {
PyErr_NoMemory();