From 303f92a9ce0de3667fb6b3ed22fa3bea5f835066 Mon Sep 17 00:00:00 2001 From: sobolevn Date: Thu, 29 Aug 2024 09:53:57 +0300 Subject: gh-123446: Fix empty function names in `TypeError`s in `_csv` module (#123461) --- .../next/Library/2024-08-29-09-27-12.gh-issue-123446._I_mMr.rst | 3 +++ Modules/_csv.c | 6 +++--- 2 files changed, 6 insertions(+), 3 deletions(-) create mode 100644 Misc/NEWS.d/next/Library/2024-08-29-09-27-12.gh-issue-123446._I_mMr.rst diff --git a/Misc/NEWS.d/next/Library/2024-08-29-09-27-12.gh-issue-123446._I_mMr.rst b/Misc/NEWS.d/next/Library/2024-08-29-09-27-12.gh-issue-123446._I_mMr.rst new file mode 100644 index 0000000..871b2fb --- /dev/null +++ b/Misc/NEWS.d/next/Library/2024-08-29-09-27-12.gh-issue-123446._I_mMr.rst @@ -0,0 +1,3 @@ +Fix empty function name in :exc:`TypeError` when :func:`csv.reader`, +:func:`csv.writer`, or :func:`csv.register_dialect` are used without the +required args. diff --git a/Modules/_csv.c b/Modules/_csv.c index 737b2c7..3e2ddbd 100644 --- a/Modules/_csv.c +++ b/Modules/_csv.c @@ -1072,7 +1072,7 @@ csv_reader(PyObject *module, PyObject *args, PyObject *keyword_args) return NULL; } - if (!PyArg_UnpackTuple(args, "", 1, 2, &iterator, &dialect)) { + if (!PyArg_UnpackTuple(args, "_csv.reader", 1, 2, &iterator, &dialect)) { Py_DECREF(self); return NULL; } @@ -1519,7 +1519,7 @@ csv_writer(PyObject *module, PyObject *args, PyObject *keyword_args) self->error_obj = Py_NewRef(module_state->error_obj); - if (!PyArg_UnpackTuple(args, "", 1, 2, &output_file, &dialect)) { + if (!PyArg_UnpackTuple(args, "_csv.writer", 1, 2, &output_file, &dialect)) { Py_DECREF(self); return NULL; } @@ -1571,7 +1571,7 @@ csv_register_dialect(PyObject *module, PyObject *args, PyObject *kwargs) _csvstate *module_state = get_csv_state(module); PyObject *dialect; - if (!PyArg_UnpackTuple(args, "", 1, 2, &name_obj, &dialect_obj)) + if (!PyArg_UnpackTuple(args, "_csv.register_dialect", 1, 2, &name_obj, &dialect_obj)) return NULL; if (!PyUnicode_Check(name_obj)) { PyErr_SetString(PyExc_TypeError, -- cgit v0.12