diff options
author | Victor Stinner <vstinner@python.org> | 2023-11-01 15:34:42 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-11-01 15:34:42 (GMT) |
commit | d9b606b3d04fc56fb0bcc479d7d6c14562edb5e2 (patch) | |
tree | 14d10605507380e411d5f62e5bab28f74091129d /Python/clinic/bltinmodule.c.h | |
parent | 97b3cd38d105fd891ba46dd27d08f03d1c6dd348 (diff) | |
download | cpython-d9b606b3d04fc56fb0bcc479d7d6c14562edb5e2.zip cpython-d9b606b3d04fc56fb0bcc479d7d6c14562edb5e2.tar.gz cpython-d9b606b3d04fc56fb0bcc479d7d6c14562edb5e2.tar.bz2 |
gh-111089: Use PyUnicode_AsUTF8() in Argument Clinic (#111585)
Replace PyUnicode_AsUTF8AndSize() with PyUnicode_AsUTF8() to remove
the explicit check for embedded null characters.
The change avoids to have to include explicitly <string.h> to get the
strlen() function when using a recent version of the limited C API.
Diffstat (limited to 'Python/clinic/bltinmodule.c.h')
-rw-r--r-- | Python/clinic/bltinmodule.c.h | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/Python/clinic/bltinmodule.c.h b/Python/clinic/bltinmodule.c.h index 8d40e65..4fb06bd 100644 --- a/Python/clinic/bltinmodule.c.h +++ b/Python/clinic/bltinmodule.c.h @@ -329,15 +329,10 @@ builtin_compile(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyObj _PyArg_BadArgument("compile", "argument 'mode'", "str", args[2]); goto exit; } - Py_ssize_t mode_length; - mode = PyUnicode_AsUTF8AndSize(args[2], &mode_length); + mode = PyUnicode_AsUTF8(args[2]); if (mode == NULL) { goto exit; } - if (strlen(mode) != (size_t)mode_length) { - PyErr_SetString(PyExc_ValueError, "embedded null character"); - goto exit; - } if (!noptargs) { goto skip_optional_pos; } @@ -1212,4 +1207,4 @@ builtin_issubclass(PyObject *module, PyObject *const *args, Py_ssize_t nargs) exit: return return_value; } -/*[clinic end generated code: output=31bded5d08647a57 input=a9049054013a1b77]*/ +/*[clinic end generated code: output=95d3813b1798f018 input=a9049054013a1b77]*/ |