From: Guido van Rossum Date: Mon, 23 Jul 2007 17:08:21 +0000 (+0000) Subject: SF patch# 1758570 by Jeffrey Yasskin, who writes: X-Git-Tag: v3.0a1~587 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9e473c28e4eb65e86fc11a5717cc6e7e1febd898;p=python SF patch# 1758570 by Jeffrey Yasskin, who writes: I made Carbon.File.pathname return unicode, by analogy with macpath.abspath. There could easily be other bugs of the same sort in this file. The uses of PyString_FromString*() in particular look sketchy. --- diff --git a/Mac/Modules/file/_Filemodule.c b/Mac/Modules/file/_Filemodule.c index ce4049f9a5..8b4dd1308f 100644 --- a/Mac/Modules/file/_Filemodule.c +++ b/Mac/Modules/file/_Filemodule.c @@ -3033,12 +3033,8 @@ static PyObject *File_pathname(PyObject *_self, PyObject *_args) if (!PyArg_ParseTuple(_args, "O", &obj)) return NULL; - if (PyString_Check(obj)) { - Py_INCREF(obj); - return obj; - } - if (PyUnicode_Check(obj)) - return PyUnicode_AsEncodedString(obj, "utf8", "strict"); + if (PyString_Check(obj) || PyUnicode_Check(obj)) + return PyUnicode_FromObject(obj); _res = PyObject_CallMethod(obj, "as_pathname", NULL); return _res; @@ -3140,7 +3136,7 @@ static PyMethodDef File_methods[] = { {"FSUpdateAlias", (PyCFunction)File_FSUpdateAlias, 1, PyDoc_STR("(FSRef fromFile, FSRef target, AliasHandle alias) -> (Boolean wasChanged)")}, {"pathname", (PyCFunction)File_pathname, 1, - PyDoc_STR("(str|unicode|FSSpec|FSref) -> pathname")}, + PyDoc_STR("(str|FSSpec|FSref) -> pathname")}, {NULL, NULL, 0} };