bpo-35582: Argument Clinic: inline parsing code for positional parameters. (GH-11313)
diff --git a/Python/clinic/import.c.h b/Python/clinic/import.c.h
index d34d68f..783ed4e 100644
--- a/Python/clinic/import.c.h
+++ b/Python/clinic/import.c.h
@@ -88,10 +88,22 @@
PyCodeObject *code;
PyObject *path;
- if (!_PyArg_ParseStack(args, nargs, "O!U:_fix_co_filename",
- &PyCode_Type, &code, &path)) {
+ if (!_PyArg_CheckPositional("_fix_co_filename", nargs, 2, 2)) {
goto exit;
}
+ if (!PyObject_TypeCheck(args[0], &PyCode_Type)) {
+ _PyArg_BadArgument("_fix_co_filename", 1, (&PyCode_Type)->tp_name, args[0]);
+ goto exit;
+ }
+ code = (PyCodeObject *)args[0];
+ if (!PyUnicode_Check(args[1])) {
+ _PyArg_BadArgument("_fix_co_filename", 2, "str", args[1]);
+ goto exit;
+ }
+ if (PyUnicode_READY(args[1]) == -1) {
+ goto exit;
+ }
+ path = args[1];
return_value = _imp__fix_co_filename_impl(module, code, path);
exit:
@@ -144,7 +156,7 @@
PyObject *name;
if (!PyUnicode_Check(arg)) {
- _PyArg_BadArgument("init_frozen", "str", arg);
+ _PyArg_BadArgument("init_frozen", 0, "str", arg);
goto exit;
}
if (PyUnicode_READY(arg) == -1) {
@@ -176,7 +188,7 @@
PyObject *name;
if (!PyUnicode_Check(arg)) {
- _PyArg_BadArgument("get_frozen_object", "str", arg);
+ _PyArg_BadArgument("get_frozen_object", 0, "str", arg);
goto exit;
}
if (PyUnicode_READY(arg) == -1) {
@@ -208,7 +220,7 @@
PyObject *name;
if (!PyUnicode_Check(arg)) {
- _PyArg_BadArgument("is_frozen_package", "str", arg);
+ _PyArg_BadArgument("is_frozen_package", 0, "str", arg);
goto exit;
}
if (PyUnicode_READY(arg) == -1) {
@@ -240,7 +252,7 @@
PyObject *name;
if (!PyUnicode_Check(arg)) {
- _PyArg_BadArgument("is_builtin", "str", arg);
+ _PyArg_BadArgument("is_builtin", 0, "str", arg);
goto exit;
}
if (PyUnicode_READY(arg) == -1) {
@@ -272,7 +284,7 @@
PyObject *name;
if (!PyUnicode_Check(arg)) {
- _PyArg_BadArgument("is_frozen", "str", arg);
+ _PyArg_BadArgument("is_frozen", 0, "str", arg);
goto exit;
}
if (PyUnicode_READY(arg) == -1) {
@@ -421,4 +433,4 @@
#ifndef _IMP_EXEC_DYNAMIC_METHODDEF
#define _IMP_EXEC_DYNAMIC_METHODDEF
#endif /* !defined(_IMP_EXEC_DYNAMIC_METHODDEF) */
-/*[clinic end generated code: output=d8be58c9541122f1 input=a9049054013a1b77]*/
+/*[clinic end generated code: output=22062cee6e8ba7f3 input=a9049054013a1b77]*/