diff Objects/moduleobject.c @ 43569:19319e70fc3e

Patch #1272, by Christian Heimes and Alexandre Vassalotti. Changes to make __file__ a proper Unicode object, using the default filesystem encoding. This is a bit tricky because the default filesystem encoding isn't set by the time we import the first modules; at that point we fudge things a bit. This is okay since __file__ isn't really used much except for error reporting. Tested on OSX and Linux only so far.
author Guido van Rossum <guido@python.org>
date Mon, 15 Oct 2007 02:52:41 +0000
parents d5b52d56beba
children 0d462d789b18
line wrap: on
line diff
--- a/Objects/moduleobject.c	Mon Oct 15 02:40:08 2007 +0000
+++ b/Objects/moduleobject.c	Mon Oct 15 02:52:41 2007 +0000
@@ -86,12 +86,12 @@
 	d = ((PyModuleObject *)m)->md_dict;
 	if (d == NULL ||
 	    (fileobj = PyDict_GetItemString(d, "__file__")) == NULL ||
-	    !PyString_Check(fileobj))
+	    !PyUnicode_Check(fileobj))
 	{
 		PyErr_SetString(PyExc_SystemError, "module filename missing");
 		return NULL;
 	}
-	return PyString_AsString(fileobj);
+	return PyUnicode_AsString(fileobj);
 }
 
 void