Commit e039ffe4 authored by Victor Stinner's avatar Victor Stinner

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.
parent 61ec5dca
......@@ -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
......
......@@ -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;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment