Skip to content

Commit 4abb382

Browse files
authored
Use PyObject_GetOptionalAttrString to simplify code
1 parent fbd8b14 commit 4abb382

1 file changed

Lines changed: 7 additions & 13 deletions

File tree

Modules/_csv.c

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -497,19 +497,13 @@ dialect_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
497497
Py_XINCREF(skipinitialspace);
498498
Py_XINCREF(strict);
499499
if (dialect != NULL) {
500-
#define DIALECT_GETATTR(v, n) \
501-
do { \
502-
if (v == NULL) { \
503-
v = PyObject_GetAttrString(dialect, n); \
504-
if (v == NULL) { \
505-
if (PyErr_ExceptionMatches(PyExc_AttributeError)) { \
506-
PyErr_Clear(); \
507-
} \
508-
else { \
509-
goto err; \
510-
} \
511-
} \
512-
} \
500+
#define DIALECT_GETATTR(v, n) \
501+
do { \
502+
if (v == NULL) { \
503+
if (PyObject_GetOptionalAttrString(dialect, n, &v) < 0) { \
504+
goto err; \
505+
} \
506+
} \
513507
} while (0)
514508
DIALECT_GETATTR(delimiter, "delimiter");
515509
DIALECT_GETATTR(doublequote, "doublequote");

0 commit comments

Comments
 (0)