Issue #9605: posix.getlogin() decodes the username with file filesystem

encoding and surrogateescape error handler. Patch written by David Watson.

Reindent also posix_getlogin(), and fix a typo in the NEWS file.
This commit is contained in:
Victor Stinner 2010-08-15 09:33:08 +00:00
parent 61ec5dca2b
commit e039ffe41d
2 changed files with 7 additions and 5 deletions

View File

@ -83,6 +83,9 @@ Extensions
Library
-------
- Issue #9605: posix.getlogin() decodes the username with file filesystem
encoding and surrogateescape error handler. Patch written by David Watson.
- Issue #9604: posix.initgroups() encodes the username using the fileystem
encoding and surrogateescape error handler. Patch written by David Watson.
@ -317,7 +320,7 @@ Core and Builtins
Fix a crash if an empty directory called "encodings" exists in sys.path.
- Issue #8589: Decode PYTHONWARNINGS environment variable with the file system
encoding and surrogateespace error handler instead of the locale encoding to
encoding and surrogateescape error handler instead of the locale encoding to
be consistent with os.environ. Add PySys_AddWarnOptionUnicode() function.
- PyObject_Dump() encodes unicode objects to utf8 with backslashreplace (instead

View File

@ -4354,13 +4354,12 @@ posix_getlogin(PyObject *self, PyObject *noargs)
name = getlogin();
if (name == NULL) {
if (errno)
posix_error();
posix_error();
else
PyErr_SetString(PyExc_OSError,
"unable to determine login name");
PyErr_SetString(PyExc_OSError, "unable to determine login name");
}
else
result = PyUnicode_FromString(name);
result = PyUnicode_DecodeFSDefault(name);
errno = old_errno;
return result;