Replace PyUnicode_Decode(buf, strlen(buf), Py_FileSystemDefaultEncoding,

"surrogateescape") by PyUnicode_DecodeFSDefault(val).
This commit is contained in:
Victor Stinner 2010-05-07 16:34:53 +00:00
parent 56fdb75453
commit 97c18ab6a5
4 changed files with 6 additions and 11 deletions

View File

@ -46,11 +46,8 @@ mkgrent(struct group *p)
Py_DECREF(v);
return NULL;
}
#define FSDECODE(val) PyUnicode_Decode(val, strlen(val),\
Py_FileSystemDefaultEncoding,\
"surrogateescape")
for (member = p->gr_mem; *member != NULL; member++) {
PyObject *x = FSDECODE(*member);
PyObject *x = PyUnicode_DecodeFSDefault(*member);
if (x == NULL || PyList_Append(w, x) != 0) {
Py_XDECREF(x);
Py_DECREF(w);
@ -61,13 +58,13 @@ mkgrent(struct group *p)
}
#define SET(i,val) PyStructSequence_SET_ITEM(v, i, val)
SET(setIndex++, FSDECODE(p->gr_name));
SET(setIndex++, PyUnicode_DecodeFSDefault(p->gr_name));
#ifdef __VMS
SET(setIndex++, Py_None);
Py_INCREF(Py_None);
#else
if (p->gr_passwd)
SET(setIndex++, FSDECODE(p->gr_passwd));
SET(setIndex++, PyUnicode_DecodeFSDefault(p->gr_passwd));
else {
SET(setIndex++, Py_None);
Py_INCREF(Py_None);

View File

@ -2031,7 +2031,7 @@ posix_getcwd(int use_bytes)
return posix_error();
if (use_bytes)
return PyBytes_FromStringAndSize(buf, strlen(buf));
return PyUnicode_Decode(buf, strlen(buf), Py_FileSystemDefaultEncoding,"surrogateescape");
return PyUnicode_DecodeFSDefault(buf);
}
PyDoc_STRVAR(posix_getcwd__doc__,

View File

@ -49,7 +49,7 @@ static void
sets(PyObject *v, int i, const char* val)
{
if (val) {
PyObject *o = PyUnicode_Decode(val, strlen(val),
PyObject *o = PyUnicode_DecodeFSDefault(val, strlen(val),
Py_FileSystemDefaultEncoding,
"surrogateescape");
PyStructSequence_SET_ITEM(v, i, o);

View File

@ -60,9 +60,7 @@ static void
sets(PyObject *v, int i, const char* val)
{
if (val) {
PyObject *o = PyUnicode_Decode(val, strlen(val),
Py_FileSystemDefaultEncoding,
"surrogateescape");
PyObject *o = PyUnicode_DecodeFSDefault(val);
PyStructSequence_SET_ITEM(v, i, o);
} else {
PyStructSequence_SET_ITEM(v, i, Py_None);