@@ -964,7 +964,6 @@ Reader_iternext(PyObject *op)
964964 PyObject * fields = NULL ;
965965 Py_ssize_t pos , linelen , chunk_end , p ;
966966 PyObject * lineobj ;
967- DialectObj * dialect ;
968967 Py_UCS4 c ;
969968
970969#define FIND_AND_UPDATE_CHUNK_END (c ) \
@@ -1000,15 +999,13 @@ Reader_iternext(PyObject *op)
1000999 if (parse_reset (self ) < 0 )
10011000 return NULL ;
10021001
1003- dialect = self -> dialect ;
1004-
10051002 do {
10061003 lineobj = PyIter_Next (self -> input_iter );
10071004 if (lineobj == NULL ) {
10081005 /* End of input OR exception */
10091006 if (!PyErr_Occurred () && (self -> field_len != 0 ||
10101007 self -> state == IN_QUOTED_FIELD )) {
1011- if (dialect -> strict )
1008+ if (self -> dialect -> strict )
10121009 PyErr_SetString (module_state -> error_obj ,
10131010 "unexpected end of data" );
10141011 else if (parse_save_field (self ) >= 0 )
@@ -1039,9 +1036,9 @@ Reader_iternext(PyObject *op)
10391036 case IN_FIELD :
10401037 chunk_end = linelen ;
10411038
1042- FIND_AND_UPDATE_CHUNK_END (dialect -> delimiter );
1043- if (dialect -> escapechar != NOT_SET ) {
1044- FIND_AND_UPDATE_CHUNK_END (dialect -> escapechar );
1039+ FIND_AND_UPDATE_CHUNK_END (self -> dialect -> delimiter );
1040+ if (self -> dialect -> escapechar != NOT_SET ) {
1041+ FIND_AND_UPDATE_CHUNK_END (self -> dialect -> escapechar );
10451042 }
10461043 FIND_AND_UPDATE_CHUNK_END ('\n' );
10471044 FIND_AND_UPDATE_CHUNK_END ('\r' );
@@ -1061,9 +1058,9 @@ Reader_iternext(PyObject *op)
10611058 case IN_QUOTED_FIELD :
10621059 chunk_end = linelen ;
10631060
1064- FIND_AND_UPDATE_CHUNK_END (dialect -> quotechar );
1065- if (dialect -> escapechar != NOT_SET ) {
1066- FIND_AND_UPDATE_CHUNK_END (dialect -> escapechar );
1061+ FIND_AND_UPDATE_CHUNK_END (self -> dialect -> quotechar );
1062+ if (self -> dialect -> escapechar != NOT_SET ) {
1063+ FIND_AND_UPDATE_CHUNK_END (self -> dialect -> escapechar );
10671064 }
10681065
10691066 if (chunk_end > pos ) {
0 commit comments