diff options
author | Martin v. Löwis <martin@v.loewis.de> | 2002-08-07 12:33:18 (GMT) |
---|---|---|
committer | Martin v. Löwis <martin@v.loewis.de> | 2002-08-07 12:33:18 (GMT) |
commit | 019934b3ccd27463e1bed94b280acba65fb43ccf (patch) | |
tree | f7881b224647ba07887b3be252acf85184559f99 /Python/compile.c | |
parent | 63d5bead18d920be40053e93e807cd8e124d5d3f (diff) | |
download | cpython-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.c | 10 |
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); } |