[Python-checkins] r74688 - in python/branches/release31-maint: Lib/locale.py
ronald.oussoren
python-checkins at python.org
Sun Sep 6 16:01:46 CEST 2009
Author: ronald.oussoren
Date: Sun Sep 6 16:01:46 2009
New Revision: 74688
Log:
Merged revisions 74687 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k
........
r74687 | ronald.oussoren | 2009-09-06 15:59:02 +0200 (Sun, 06 Sep 2009) | 3 lines
Fix for issue 6393: Python crashes on OSX when $LANG is set to some (but
not all) invalid values due to an invalid result from nl_langinfo
........
Modified:
python/branches/release31-maint/ (props changed)
python/branches/release31-maint/Lib/locale.py
Modified: python/branches/release31-maint/Lib/locale.py
==============================================================================
--- python/branches/release31-maint/Lib/locale.py (original)
+++ python/branches/release31-maint/Lib/locale.py Sun Sep 6 16:01:46 2009
@@ -567,10 +567,22 @@
except Error:
pass
result = nl_langinfo(CODESET)
+ if not result and sys.platform == 'darwin':
+ # nl_langinfo can return an empty string
+ # when the setting has an invalid value.
+ # Default to UTF-8 in that case because
+ # UTF-8 is the default charset on OSX and
+ # returning nothing will crash the
+ # interpreter.
+ result = 'UTF-8'
+
setlocale(LC_CTYPE, oldloc)
return result
else:
- return nl_langinfo(CODESET)
+ result = nl_langinfo(CODESET)
+ if not result and sys.platform == 'darwin':
+ # See above for explanation
+ result = 'UTF-8'
### Database
More information about the Python-checkins
mailing list