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:
parent
5bbab3e64f
commit
6d77e07196
|
@ -570,10 +570,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
|
||||
|
|
Loading…
Reference in New Issue