From 9e473c28e4eb65e86fc11a5717cc6e7e1febd898 Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Mon, 23 Jul 2007 17:08:21 +0000 Subject: [PATCH] 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. --- Mac/Modules/file/_Filemodule.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/Mac/Modules/file/_Filemodule.c b/Mac/Modules/file/_Filemodule.c index ce4049f9a59..8b4dd1308f5 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} };