From: Jack Jansen Date: Thu, 5 Sep 1996 15:19:24 +0000 (+0000) Subject: Check that our override pythonpath is actually coming from the X-Git-Tag: v1.4~300 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f12e7093d5307bd8ce1cb82f767ead5be5e88e5c;p=thirdparty%2FPython%2Fcpython.git Check that our override pythonpath is actually coming from the application, not from some system extension that happens to use the same resource id. --- diff --git a/Mac/Python/macgetpath.c b/Mac/Python/macgetpath.c index 40dd6c10d639..0e3341dfe5f3 100644 --- a/Mac/Python/macgetpath.c +++ b/Mac/Python/macgetpath.c @@ -210,6 +210,21 @@ char *dir; Str255 pathitem; int resource_id; OSErr err; + Handle h; + + /* + ** This is a bit tricky. We check here whether the current resource file + ** contains an override. This is to forestall us finding another STR# resource + ** with "our" id and using that for path initialization + */ + SetResLoad(0); + if ( (h=Get1Resource('STR#', PYTHONPATHOVERRIDE_ID)) ) { + ReleaseResource(h); + resource_id = PYTHONPATHOVERRIDE_ID; + } else { + resource_id = PYTHONPATH_ID; + } + SetResLoad(1); /* ** Remember old resource file and try to open preferences file @@ -229,14 +244,7 @@ char *dir; if( (rv = malloc(2)) == NULL ) goto out; strcpy(rv, "\n"); - /* - ** See whether there's an override. - */ - GetIndString(pathitem, PYTHONPATHOVERRIDE_ID, 1); - if ( pathitem[0] ) - resource_id = PYTHONPATHOVERRIDE_ID; - else - resource_id = PYTHONPATH_ID; + for(i=1; ; i++) { GetIndString(pathitem, resource_id, i); if( pathitem[0] == 0 )