diff options
author | Serhiy Storchaka <storchaka@gmail.com> | 2016-02-11 10:41:40 (GMT) |
---|---|---|
committer | Serhiy Storchaka <storchaka@gmail.com> | 2016-02-11 10:41:40 (GMT) |
commit | a9725f86a984f74e74f09c4808fc8f4b403728b2 (patch) | |
tree | 99da32331ded11bdd6dee41990bee66226acfa2b /Python/getargs.c | |
parent | 78f55ffc63ba637ffa4a07ca869f451e680b002a (diff) | |
download | cpython-a9725f86a984f74e74f09c4808fc8f4b403728b2.zip cpython-a9725f86a984f74e74f09c4808fc8f4b403728b2.tar.gz cpython-a9725f86a984f74e74f09c4808fc8f4b403728b2.tar.bz2 |
Issue #26312: SystemError is now raised in all programming bugs with using
PyArg_ParseTupleAndKeywords(). RuntimeError did raised before in some
programming bugs.
Diffstat (limited to 'Python/getargs.c')
-rw-r--r-- | Python/getargs.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/Python/getargs.c b/Python/getargs.c index be6e375..66a0c00 100644 --- a/Python/getargs.c +++ b/Python/getargs.c @@ -1512,7 +1512,7 @@ vgetargskeywords(PyObject *args, PyObject *keywords, const char *format, keyword = kwlist[i]; if (*format == '|') { if (min != INT_MAX) { - PyErr_SetString(PyExc_RuntimeError, + PyErr_SetString(PyExc_SystemError, "Invalid format string (| specified twice)"); return cleanreturn(0, &freelist); } @@ -1521,14 +1521,14 @@ vgetargskeywords(PyObject *args, PyObject *keywords, const char *format, format++; if (max != INT_MAX) { - PyErr_SetString(PyExc_RuntimeError, + PyErr_SetString(PyExc_SystemError, "Invalid format string ($ before |)"); return cleanreturn(0, &freelist); } } if (*format == '$') { if (max != INT_MAX) { - PyErr_SetString(PyExc_RuntimeError, + PyErr_SetString(PyExc_SystemError, "Invalid format string ($ specified twice)"); return cleanreturn(0, &freelist); } @@ -1546,7 +1546,7 @@ vgetargskeywords(PyObject *args, PyObject *keywords, const char *format, } } if (IS_END_OF_FORMAT(*format)) { - PyErr_Format(PyExc_RuntimeError, + PyErr_Format(PyExc_SystemError, "More keyword list entries (%d) than " "format specifiers (%d)", len, i); return cleanreturn(0, &freelist); @@ -1598,14 +1598,14 @@ vgetargskeywords(PyObject *args, PyObject *keywords, const char *format, * keyword args */ msg = skipitem(&format, p_va, flags); if (msg) { - PyErr_Format(PyExc_RuntimeError, "%s: '%s'", msg, + PyErr_Format(PyExc_SystemError, "%s: '%s'", msg, format); return cleanreturn(0, &freelist); } } if (!IS_END_OF_FORMAT(*format) && (*format != '|') && (*format != '$')) { - PyErr_Format(PyExc_RuntimeError, + PyErr_Format(PyExc_SystemError, "more argument specifiers than keyword list entries " "(remaining format:'%s')", format); return cleanreturn(0, &freelist); |