summaryrefslogtreecommitdiff
path: root/Python/compile.c
diff options
context:
space:
mode:
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 512b5a339d..b67193773c 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);
}