From 10c476db2ca3052d537553c38881e5ceefdab9df Mon Sep 17 00:00:00 2001 From: Amaury Forgeot d'Arc Date: Mon, 19 Nov 2007 21:20:21 +0000 Subject: Correct test_cvs on Windows, as suggested by Raghuram Devarakonda in issue1395. All other places in this file already use newline=''... Also check that csv.reader is given an iterable returning strings. --- Modules/_csv.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'Modules/_csv.c') diff --git a/Modules/_csv.c b/Modules/_csv.c index 10cf96f6b0..75cafb2608 100644 --- a/Modules/_csv.c +++ b/Modules/_csv.c @@ -270,7 +270,7 @@ _set_str(const char *name, PyObject **target, PyObject *src, const char *dflt) *target = NULL; else if (!IS_BASESTRING(src)) { PyErr_Format(PyExc_TypeError, - "\"%s\" must be an string", name); + "\"%s\" must be a string", name); return -1; } else { @@ -793,6 +793,16 @@ Reader_iternext(ReaderObj *self) "newline inside string"); return NULL; } + if (!PyUnicode_Check(lineobj)) + { + PyErr_Format(error_obj, + "Iterator should return strings, " + "not %.200s " + "(did you open the file in text mode?)", + lineobj->ob_type->tp_name + ); + return NULL; + } ++self->line_num; line = PyUnicode_AsUnicode(lineobj); linelen = PyUnicode_GetSize(lineobj); -- cgit v1.2.1