Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 6412f49

Browse files
committed
Issue #27809: _csv: _call_dialect() uses fast call
1 parent d1584d3 commit 6412f49

1 file changed

Lines changed: 7 additions & 9 deletions

File tree

Modules/_csv.c

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -518,15 +518,13 @@ static PyTypeObject Dialect_Type = {
518518
static PyObject *
519519
_call_dialect(PyObject *dialect_inst, PyObject *kwargs)
520520
{
521-
PyObject *ctor_args;
522-
PyObject *dialect;
523-
524-
ctor_args = Py_BuildValue(dialect_inst ? "(O)" : "()", dialect_inst);
525-
if (ctor_args == NULL)
526-
return NULL;
527-
dialect = PyObject_Call((PyObject *)&Dialect_Type, ctor_args, kwargs);
528-
Py_DECREF(ctor_args);
529-
return dialect;
521+
PyObject *type = (PyObject *)&Dialect_Type;
522+
if (dialect_inst) {
523+
return _PyObject_FastCallDict(type, &dialect_inst, 1, kwargs);
524+
}
525+
else {
526+
return _PyObject_FastCallDict(type, NULL, 0, kwargs);
527+
}
530528
}
531529

532530
/*

0 commit comments

Comments
 (0)