diff options
-rw-r--r-- | Include/pyerrors.h | 3 | ||||
-rw-r--r-- | Python/codecs.c | 6 | ||||
-rw-r--r-- | Python/exceptions.c | 6 |
3 files changed, 15 insertions, 0 deletions
diff --git a/Include/pyerrors.h b/Include/pyerrors.h index 18dee28..8685849 100644 --- a/Include/pyerrors.h +++ b/Include/pyerrors.h @@ -138,8 +138,10 @@ PyAPI_FUNC(void) PyErr_SetInterrupt(void); PyAPI_FUNC(void) PyErr_SyntaxLocation(char *, int); PyAPI_FUNC(PyObject *) PyErr_ProgramText(char *, int); +#ifdef Py_USING_UNICODE /* The following functions are used to create and modify unicode exceptions from C */ + /* create a UnicodeDecodeError object */ PyAPI_FUNC(PyObject *) PyUnicodeDecodeError_Create( const char *, const char *, int, int, int, const char *); @@ -198,6 +200,7 @@ PyAPI_FUNC(int) PyUnicodeDecodeError_SetReason( PyObject *, const char *); PyAPI_FUNC(int) PyUnicodeTranslateError_SetReason( PyObject *, const char *); +#endif /* These APIs aren't really part of the error implementation, but diff --git a/Python/codecs.c b/Python/codecs.c index 1424bb5..9302a3d 100644 --- a/Python/codecs.c +++ b/Python/codecs.c @@ -486,6 +486,7 @@ PyObject *PyCodec_StrictErrors(PyObject *exc) } +#ifdef Py_USING_UNICODE PyObject *PyCodec_IgnoreErrors(PyObject *exc) { int end; @@ -728,6 +729,7 @@ PyObject *PyCodec_BackslashReplaceErrors(PyObject *exc) return NULL; } } +#endif static PyObject *strict_errors(PyObject *self, PyObject *exc) { @@ -735,6 +737,7 @@ static PyObject *strict_errors(PyObject *self, PyObject *exc) } +#ifdef Py_USING_UNICODE static PyObject *ignore_errors(PyObject *self, PyObject *exc) { return PyCodec_IgnoreErrors(exc); @@ -757,6 +760,7 @@ static PyObject *backslashreplace_errors(PyObject *self, PyObject *exc) { return PyCodec_BackslashReplaceErrors(exc); } +#endif void _PyCodecRegistry_Init(void) @@ -774,6 +778,7 @@ void _PyCodecRegistry_Init(void) METH_O } }, +#ifdef Py_USING_UNICODE { "ignore", { @@ -806,6 +811,7 @@ void _PyCodecRegistry_Init(void) METH_O } } +#endif }; if (_PyCodec_SearchPath == NULL) _PyCodec_SearchPath = PyList_New(0); diff --git a/Python/exceptions.c b/Python/exceptions.c index e4a6880..015d45a 100644 --- a/Python/exceptions.c +++ b/Python/exceptions.c @@ -892,6 +892,7 @@ static PyMethodDef KeyError_methods[] = { }; +#ifdef Py_USING_UNICODE static int get_int(PyObject *exc, const char *name, int *value) { @@ -1469,6 +1470,7 @@ PyObject * PyUnicodeTranslateError_Create( return PyObject_CallFunction(PyExc_UnicodeTranslateError, "u#iis", object, length, start, end, reason); } +#endif @@ -1496,11 +1498,13 @@ PyDoc_STRVAR(ValueError__doc__, PyDoc_STRVAR(UnicodeError__doc__, "Unicode related error."); +#ifdef Py_USING_UNICODE PyDoc_STRVAR(UnicodeEncodeError__doc__, "Unicode encoding error."); PyDoc_STRVAR(UnicodeDecodeError__doc__, "Unicode decoding error."); PyDoc_STRVAR(UnicodeTranslateError__doc__, "Unicode translation error."); +#endif PyDoc_STRVAR(SystemError__doc__, "Internal error in the Python interpreter.\n\ @@ -1675,12 +1679,14 @@ static struct { FloatingPointError__doc__}, {"ValueError", &PyExc_ValueError, 0, ValueError__doc__}, {"UnicodeError", &PyExc_UnicodeError, &PyExc_ValueError, UnicodeError__doc__}, +#ifdef Py_USING_UNICODE {"UnicodeEncodeError", &PyExc_UnicodeEncodeError, &PyExc_UnicodeError, UnicodeEncodeError__doc__, UnicodeEncodeError_methods}, {"UnicodeDecodeError", &PyExc_UnicodeDecodeError, &PyExc_UnicodeError, UnicodeDecodeError__doc__, UnicodeDecodeError_methods}, {"UnicodeTranslateError", &PyExc_UnicodeTranslateError, &PyExc_UnicodeError, UnicodeTranslateError__doc__, UnicodeTranslateError_methods}, +#endif {"ReferenceError", &PyExc_ReferenceError, 0, ReferenceError__doc__}, {"SystemError", &PyExc_SystemError, 0, SystemError__doc__}, {"MemoryError", &PyExc_MemoryError, 0, MemoryError__doc__}, |