mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
MacPython-OS9 specific fix: If there are non-string items on sys.path don't try to intern them. This has the theoretical problem that resource filenames on sys.path cannot be unicode objects, but in practice that shouldn't matter.
This commit is contained in:
parent
0064026668
commit
9363dca3f8
1 changed files with 17 additions and 14 deletions
|
@ -1214,23 +1214,26 @@ find_module(char *fullname, char *subname, PyObject *path, char *buf,
|
|||
** Speedup: each sys.path item is interned, and
|
||||
** FindResourceModule remembers which items refer to
|
||||
** folders (so we don't have to bother trying to look
|
||||
** into them for resources).
|
||||
** into them for resources). We only do this for string
|
||||
** items.
|
||||
*/
|
||||
PyString_InternInPlace(&PyList_GET_ITEM(path, i));
|
||||
v = PyList_GET_ITEM(path, i);
|
||||
if (PyMac_FindResourceModule((PyStringObject *)v, name, buf)) {
|
||||
static struct filedescr resfiledescr =
|
||||
{"", "", PY_RESOURCE};
|
||||
if (PyString_Check(PyList_GET_ITEM(path, i))) {
|
||||
PyString_InternInPlace(&PyList_GET_ITEM(path, i));
|
||||
v = PyList_GET_ITEM(path, i);
|
||||
if (PyMac_FindResourceModule((PyStringObject *)v, name, buf)) {
|
||||
static struct filedescr resfiledescr =
|
||||
{"", "", PY_RESOURCE};
|
||||
|
||||
Py_XDECREF(copy);
|
||||
return &resfiledescr;
|
||||
}
|
||||
if (PyMac_FindCodeResourceModule((PyStringObject *)v, name, buf)) {
|
||||
static struct filedescr resfiledescr =
|
||||
{"", "", PY_CODERESOURCE};
|
||||
Py_XDECREF(copy);
|
||||
return &resfiledescr;
|
||||
}
|
||||
if (PyMac_FindCodeResourceModule((PyStringObject *)v, name, buf)) {
|
||||
static struct filedescr resfiledescr =
|
||||
{"", "", PY_CODERESOURCE};
|
||||
|
||||
Py_XDECREF(copy);
|
||||
return &resfiledescr;
|
||||
Py_XDECREF(copy);
|
||||
return &resfiledescr;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
if (len > 0 && buf[len-1] != SEP
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue