summaryrefslogtreecommitdiffstats
path: root/Modules/_csv.c
diff options
context:
space:
mode:
authorAmaury Forgeot d'Arc <amauryfa@gmail.com>2007-11-19 21:20:21 (GMT)
committerAmaury Forgeot d'Arc <amauryfa@gmail.com>2007-11-19 21:20:21 (GMT)
commit10c476db2ca3052d537553c38881e5ceefdab9df (patch)
treef6f7bce0ab1bb637a34b103d0f0c68fe46bc2e94 /Modules/_csv.c
parenta2d1d7e3b23f6fef0651df1b8fd697aa15ae97c0 (diff)
downloadcpython-10c476db2ca3052d537553c38881e5ceefdab9df.zip
cpython-10c476db2ca3052d537553c38881e5ceefdab9df.tar.gz
cpython-10c476db2ca3052d537553c38881e5ceefdab9df.tar.bz2
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.
Diffstat (limited to 'Modules/_csv.c')
-rw-r--r--Modules/_csv.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/Modules/_csv.c b/Modules/_csv.c
index 10cf96f..75cafb2 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);