From b2750b5d334e9c8d262009069bce41c15803eca0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andr=C3=A9=20Lemburg?= Date: Fri, 6 Jun 2008 12:18:17 +0000 Subject: Move the codec decode type checks to bytes/bytearray.decode(). Use faster PyUnicode_FromEncodedObject() for bytes/bytearray.decode(). Add new PyCodec_KnownEncoding() API. Add new PyUnicode_AsDecodedUnicode() and PyUnicode_AsEncodedUnicode() APIs. Add missing PyUnicode_AsDecodedObject() to unicodeobject.h Fix punicode codec to also work on memoryviews. --- Python/pythonrun.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) (limited to 'Python/pythonrun.c') diff --git a/Python/pythonrun.c b/Python/pythonrun.c index 7fe4ccea55..24517e4764 100644 --- a/Python/pythonrun.c +++ b/Python/pythonrun.c @@ -261,14 +261,10 @@ Py_InitializeEx(int install_sigs) codeset = nl_langinfo(CODESET); if (codeset && *codeset) { - PyObject *enc = PyCodec_Encoder(codeset); - if (enc) { - codeset = strdup(codeset); - Py_DECREF(enc); - } else { - codeset = NULL; - PyErr_Clear(); - } + if (PyCodec_KnownEncoding(codeset)) + codeset = strdup(codeset); + else + codeset = NULL; } else codeset = NULL; -- cgit v1.2.1