summaryrefslogtreecommitdiffstats
path: root/Python/compile.c
diff options
context:
space:
mode:
authorMartin v. Löwis <martin@v.loewis.de>2002-08-07 12:33:18 (GMT)
committerMartin v. Löwis <martin@v.loewis.de>2002-08-07 12:33:18 (GMT)
commit019934b3ccd27463e1bed94b280acba65fb43ccf (patch)
treef7881b224647ba07887b3be252acf85184559f99 /Python/compile.c
parent63d5bead18d920be40053e93e807cd8e124d5d3f (diff)
downloadcpython-019934b3ccd27463e1bed94b280acba65fb43ccf.zip
cpython-019934b3ccd27463e1bed94b280acba65fb43ccf.tar.gz
cpython-019934b3ccd27463e1bed94b280acba65fb43ccf.tar.bz2
Fix PEP 263 code --without-unicode. Fixes #591943.
Diffstat (limited to 'Python/compile.c')
-rw-r--r--Python/compile.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/Python/compile.c b/Python/compile.c
index 512b5a3..b671937 100644
--- a/Python/compile.c
+++ b/Python/compile.c
@@ -1185,6 +1185,9 @@ parsenumber(struct compiling *co, char *s)
static PyObject *
decode_utf8(char **sPtr, char *end, char* encoding)
{
+#ifndef Py_USING_UNICODE
+ abort();
+#else
PyObject *u, *v;
char *s, *t;
t = s = *sPtr;
@@ -1197,6 +1200,7 @@ decode_utf8(char **sPtr, char *end, char* encoding)
v = PyUnicode_AsEncodedString(u, encoding, NULL);
Py_DECREF(u);
return v;
+#endif
}
static PyObject *
@@ -1312,12 +1316,18 @@ parsestr(struct compiling *com, char *s)
strcmp(encoding, "iso-8859-1") != 0);
if (rawmode || strchr(s, '\\') == NULL) {
if (need_encoding) {
+#ifndef Py_USING_UNICODE
+ /* This should not happen - we never see any other
+ encoding. */
+ abort();
+#else
PyObject* u = PyUnicode_DecodeUTF8(s, len, NULL);
if (u == NULL)
return NULL;
v = PyUnicode_AsEncodedString(u, encoding, NULL);
Py_DECREF(u);
return v;
+#endif
} else {
return PyString_FromStringAndSize(s, len);
}