Replace Py_UNICODE_strchr with PyUnicode_FindChar.
authorMartin v. Löwis <martin@v.loewis.de>
Tue, 1 Nov 2011 17:42:23 +0000 (18:42 +0100)
committerMartin v. Löwis <martin@v.loewis.de>
Tue, 1 Nov 2011 17:42:23 +0000 (18:42 +0100)
Modules/_csv.c

index 627c3b1b38109ff93aab0f959c0a18b36839684c..c02ee384b2cb4d20d5054b47abd9c62033bd5af8 100644 (file)
@@ -950,7 +950,6 @@ join_append_data(WriterObj *self, unsigned int field_kind, void *field_data,
     DialectObj *dialect = self->dialect;
     int i;
     Py_ssize_t rec_len;
-    Py_UNICODE *lineterm;
 
 #define ADDCH(c) \
     do {\
@@ -959,10 +958,6 @@ join_append_data(WriterObj *self, unsigned int field_kind, void *field_data,
         rec_len++;\
     } while(0)
 
-    lineterm = PyUnicode_AsUnicode(dialect->lineterminator);
-    if (lineterm == NULL)
-        return -1;
-
     rec_len = self->rec_len;
 
     /* If this is not the first field we need a field separator */
@@ -982,7 +977,9 @@ join_append_data(WriterObj *self, unsigned int field_kind, void *field_data,
         if (c == dialect->delimiter ||
             c == dialect->escapechar ||
             c == dialect->quotechar  ||
-            Py_UNICODE_strchr(lineterm, c)) {
+            PyUnicode_FindChar(
+                dialect->lineterminator, c, 0,
+                PyUnicode_GET_LENGTH(dialect->lineterminator), 1) >= 0) {
             if (dialect->quoting == QUOTE_NONE)
                 want_escape = 1;
             else {