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
........
This commit is contained in:
Ronald Oussoren 2009-09-06 14:01:46 +00:00
parent d45ff2ce5a
commit dc9bc3be97
1 changed files with 13 additions and 1 deletions

View File

@ -567,10 +567,22 @@ else:
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