Close #18109: os.uname() now decodes fields from the locale encoding, and

socket.gethostname() now decodes the hostname from the locale encoding, instead
of using the UTF-8 encoding in strict mode.
This commit is contained in:
Victor Stinner 2013-06-03 22:07:27 +02:00
parent caa00fec19
commit a534fc4b3b
3 changed files with 14 additions and 10 deletions

View File

@ -24,6 +24,10 @@ Core and Builtins
Library Library
------- -------
- Issue #18109: os.uname() now decodes fields from the locale encoding, and
socket.gethostname() now decodes the hostname from the locale encoding,
instead of using the UTF-8 encoding in strict mode.
- Issue #17403: urllib.parse.robotparser normalizes the urls before adding to - Issue #17403: urllib.parse.robotparser normalizes the urls before adding to
ruleline. This helps in handling certain types invalid urls in a conservative ruleline. This helps in handling certain types invalid urls in a conservative
manner. manner.

View File

@ -4514,7 +4514,7 @@ posix_uname(PyObject *self, PyObject *noargs)
#define SET(i, field) \ #define SET(i, field) \
{ \ { \
PyObject *o = PyUnicode_DecodeASCII(field, strlen(field), NULL); \ PyObject *o = PyUnicode_DecodeFSDefault(field); \
if (!o) { \ if (!o) { \
Py_DECREF(value); \ Py_DECREF(value); \
return NULL; \ return NULL; \

View File

@ -4111,7 +4111,7 @@ socket_gethostname(PyObject *self, PyObject *unused)
if (res < 0) if (res < 0)
return set_error(); return set_error();
buf[sizeof buf - 1] = '\0'; buf[sizeof buf - 1] = '\0';
return PyUnicode_FromString(buf); return PyUnicode_DecodeFSDefault(buf);
#endif #endif
} }