Mercurial > cpython-lru_cache-weakref
diff Python/codecs.c @ 42025:36b8d74deb9e
Short-cut lookup of utf-8 codec, to make import work
on OSX.
| author | Martin v. Löwis <martin@v.loewis.de> |
|---|---|
| date | Mon, 11 Jun 2007 04:19:13 +0000 |
| parents | 089f449a20cd |
| children | 3473a685e5e7 |
line wrap: on
line diff
--- a/Python/codecs.c Sun Jun 10 21:13:34 2007 +0000 +++ b/Python/codecs.c Mon Jun 11 04:19:13 2007 +0000 @@ -319,6 +319,23 @@ PyObject *args = NULL, *result = NULL; PyObject *v; + /* XXX short-cut a few common file system + encodings for now, as otherwise the import + code can't load the codec registry. */ + if (strcmp(encoding, "utf-8") == 0 && PyUnicode_Check(object)) { + return PyUnicode_EncodeUTF8(PyUnicode_AS_UNICODE(object), + PyUnicode_GET_SIZE(object), + errors); + } +#if defined(MS_WINDOWS) && defined(HAVE_USABLE_WCHAR_T) + if (strcmp(encoding, "mbcs") == 0 && PyUnicode_Check(object)) { + return PyUnicode_EncodeMBCS(PyUnicode_AS_UNICODE(object), + PyUnicode_GET_SIZE(object), + errors); + } +#endif + + encoder = PyCodec_Encoder(encoding); if (encoder == NULL) goto onError;
