[Python-checkins] r69660 - python/branches/io-c/Modules/_textio.c

benjamin.peterson python-checkins at python.org
Mon Feb 16 04:09:31 CET 2009


Author: benjamin.peterson
Date: Mon Feb 16 04:09:31 2009
New Revision: 69660
Log:
apparently locale.getprefferedencoding() can raise a ImportError, too
Modified:
 python/branches/io-c/Modules/_textio.c
Modified: python/branches/io-c/Modules/_textio.c
==============================================================================
--- python/branches/io-c/Modules/_textio.c	(original)
+++ python/branches/io-c/Modules/_textio.c	Mon Feb 16 04:09:31 2009
@@ -789,9 +789,15 @@
 use_locale:
 self->encoding = PyObject_CallMethod(
 state->locale_module, "getpreferredencoding", NULL);
- if (self->encoding == NULL)
- goto error;
- if (!PyUnicode_Check(self->encoding))
+ if (self->encoding == NULL) {
+ if (PyErr_ExceptionMatches(PyExc_ImportError)) {
+ PyErr_Clear();
+ self->encoding = PyUnicode_FromString("ascii");
+ }
+ else
+ goto error;
+ }
+ else if (!PyUnicode_Check(self->encoding))
 Py_CLEAR(self->encoding);
 }
 }


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /