summaryrefslogtreecommitdiffstats
path: root/Modules
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2013-06-03 20:07:27 (GMT)
committerVictor Stinner <victor.stinner@gmail.com>2013-06-03 20:07:27 (GMT)
commita534fc4b3bd4b731be9304be626bc161f53d7bfb (patch)
tree503ac32ab7c4de6f54c73597d04f97b82930397e /Modules
parentcaa00fec19705c656497658c6ff1b1fff62a4484 (diff)
downloadcpython-a534fc4b3bd4b731be9304be626bc161f53d7bfb.zip
cpython-a534fc4b3bd4b731be9304be626bc161f53d7bfb.tar.gz
cpython-a534fc4b3bd4b731be9304be626bc161f53d7bfb.tar.bz2
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.
Diffstat (limited to 'Modules')
-rw-r--r--Modules/posixmodule.c2
-rw-r--r--Modules/socketmodule.c16
2 files changed, 9 insertions, 9 deletions
diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c
index 7c96a67..3b4b570 100644
--- a/Modules/posixmodule.c
+++ b/Modules/posixmodule.c
@@ -4514,7 +4514,7 @@ posix_uname(PyObject *self, PyObject *noargs)
#define SET(i, field) \
{ \
- PyObject *o = PyUnicode_DecodeASCII(field, strlen(field), NULL); \
+ PyObject *o = PyUnicode_DecodeFSDefault(field); \
if (!o) { \
Py_DECREF(value); \
return NULL; \
diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c
index 679143c..b957928 100644
--- a/Modules/socketmodule.c
+++ b/Modules/socketmodule.c
@@ -1702,7 +1702,7 @@ getsockaddrarg(PySocketSockObject *s, PyObject *args,
return 0;
}
#endif
-
+
#ifdef PF_SYSTEM
case PF_SYSTEM:
switch (s->sock_proto) {
@@ -1710,10 +1710,10 @@ getsockaddrarg(PySocketSockObject *s, PyObject *args,
case SYSPROTO_CONTROL:
{
struct sockaddr_ctl *addr;
-
+
addr = (struct sockaddr_ctl *)addr_ret;
addr->sc_family = AF_SYSTEM;
- addr->ss_sysaddr = AF_SYS_CONTROL;
+ addr->ss_sysaddr = AF_SYS_CONTROL;
if (PyUnicode_Check(args)) {
struct ctl_info info;
@@ -1739,17 +1739,17 @@ getsockaddrarg(PySocketSockObject *s, PyObject *args,
"cannot find kernel control with provided name");
return 0;
}
-
+
addr->sc_id = info.ctl_id;
addr->sc_unit = 0;
} else if (!PyArg_ParseTuple(args, "II",
&(addr->sc_id), &(addr->sc_unit))) {
PyErr_SetString(PyExc_TypeError, "getsockaddrarg: "
"expected str or tuple of two ints");
-
+
return 0;
}
-
+
*len_ret = sizeof(*addr);
return 1;
}
@@ -1866,7 +1866,7 @@ getsockaddrlen(PySocketSockObject *s, socklen_t *len_ret)
return 1;
}
#endif
-
+
#ifdef PF_SYSTEM
case PF_SYSTEM:
switch(s->sock_proto) {
@@ -4111,7 +4111,7 @@ socket_gethostname(PyObject *self, PyObject *unused)
if (res < 0)
return set_error();
buf[sizeof buf - 1] = '\0';
- return PyUnicode_FromString(buf);
+ return PyUnicode_DecodeFSDefault(buf);
#endif
}