diff options
author | Sylvain <sylvain.desodt+github@gmail.com> | 2017-06-10 04:51:48 (GMT) |
---|---|---|
committer | Serhiy Storchaka <storchaka@gmail.com> | 2017-06-10 04:51:48 (GMT) |
commit | 7445381c606faf20e253da42656db478a4349f8e (patch) | |
tree | 49ad79e5347454d1bbfeb1c2d06d3d09fd9b273f /Modules/clinic/_dbmmodule.c.h | |
parent | e5f6e86c48c7b2eb9e1d6a0e72867b4d8b4720f3 (diff) | |
download | cpython-7445381c606faf20e253da42656db478a4349f8e.zip cpython-7445381c606faf20e253da42656db478a4349f8e.tar.gz cpython-7445381c606faf20e253da42656db478a4349f8e.tar.bz2 |
bpo-30600: Fix error messages (condition order in Argument Clinic) (#2051)
The function '_PyArg_ParseStack()' and
'_PyArg_UnpackStack' were failing (with error
"XXX() takes Y argument (Z given)") before
the function '_PyArg_NoStackKeywords()' was called.
Thus, the latter did not raise its more meaningful
error : "XXX() takes no keyword arguments".
Diffstat (limited to 'Modules/clinic/_dbmmodule.c.h')
-rw-r--r-- | Modules/clinic/_dbmmodule.c.h | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/Modules/clinic/_dbmmodule.c.h b/Modules/clinic/_dbmmodule.c.h index 06f0b04..be64539 100644 --- a/Modules/clinic/_dbmmodule.c.h +++ b/Modules/clinic/_dbmmodule.c.h @@ -59,12 +59,12 @@ _dbm_dbm_get(dbmobject *self, PyObject **args, Py_ssize_t nargs, PyObject *kwnam Py_ssize_clean_t key_length; PyObject *default_value = NULL; - if (!_PyArg_ParseStack(args, nargs, "s#|O:get", - &key, &key_length, &default_value)) { + if (!_PyArg_NoStackKeywords("get", kwnames)) { goto exit; } - if (!_PyArg_NoStackKeywords("get", kwnames)) { + if (!_PyArg_ParseStack(args, nargs, "s#|O:get", + &key, &key_length, &default_value)) { goto exit; } return_value = _dbm_dbm_get_impl(self, key, key_length, default_value); @@ -97,12 +97,12 @@ _dbm_dbm_setdefault(dbmobject *self, PyObject **args, Py_ssize_t nargs, PyObject Py_ssize_clean_t key_length; PyObject *default_value = NULL; - if (!_PyArg_ParseStack(args, nargs, "s#|O:setdefault", - &key, &key_length, &default_value)) { + if (!_PyArg_NoStackKeywords("setdefault", kwnames)) { goto exit; } - if (!_PyArg_NoStackKeywords("setdefault", kwnames)) { + if (!_PyArg_ParseStack(args, nargs, "s#|O:setdefault", + &key, &key_length, &default_value)) { goto exit; } return_value = _dbm_dbm_setdefault_impl(self, key, key_length, default_value); @@ -140,12 +140,12 @@ dbmopen(PyObject *module, PyObject **args, Py_ssize_t nargs, PyObject *kwnames) const char *flags = "r"; int mode = 438; - if (!_PyArg_ParseStack(args, nargs, "s|si:open", - &filename, &flags, &mode)) { + if (!_PyArg_NoStackKeywords("open", kwnames)) { goto exit; } - if (!_PyArg_NoStackKeywords("open", kwnames)) { + if (!_PyArg_ParseStack(args, nargs, "s|si:open", + &filename, &flags, &mode)) { goto exit; } return_value = dbmopen_impl(module, filename, flags, mode); @@ -153,4 +153,4 @@ dbmopen(PyObject *module, PyObject **args, Py_ssize_t nargs, PyObject *kwnames) exit: return return_value; } -/*[clinic end generated code: output=4fdb7be8bd03cbce input=a9049054013a1b77]*/ +/*[clinic end generated code: output=35a8df9a8e4ed18f input=a9049054013a1b77]*/ |