Commit 0af4916a authored by Tim Peters's avatar Tim Peters

vgetargskeywords: Removed all PyErr_Clear() calls. It's possible that

this routine will report an error now when it didn't before, but, if so,
it's a legitimate error that should never have been suppressed.
parent 077f574d
......@@ -1097,6 +1097,8 @@ vgetargskeywords(PyObject *args, PyObject *keywords, char *format,
thiskw);
return 0;
}
else if (PyErr_Occurred())
return 0;
}
}
......@@ -1107,10 +1109,11 @@ vgetargskeywords(PyObject *args, PyObject *keywords, char *format,
for (i = nargs; i < min; i++) {
if (PyDict_GetItemString(keywords, kwlist[i]))
len++;
else if (PyErr_Occurred())
return 0;
}
}
PyErr_Clear();
/* make sure we got an acceptable number of arguments; the message
is a little confusing with keywords since keyword arguments
which are supplied, but don't match the required arguments
......@@ -1159,7 +1162,7 @@ vgetargskeywords(PyObject *args, PyObject *keywords, char *format,
"number of items in format string and keyword list do not match");
return 0;
}
/* convert the keyword arguments; this uses the format
string where it was left after processing args */
converted = 0;
......@@ -1178,8 +1181,9 @@ vgetargskeywords(PyObject *args, PyObject *keywords, char *format,
}
converted++;
}
else if (PyErr_Occurred())
return 0;
else {
PyErr_Clear();
msg = skipitem(&format, p_va);
if (msg) {
seterror(i+1, msg, levels, fname, message);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment