From f12e7093d5307bd8ce1cb82f767ead5be5e88e5c Mon Sep 17 00:00:00 2001 From: Jack Jansen Date: Thu, 5 Sep 1996 15:19:24 +0000 Subject: Check that our override pythonpath is actually coming from the application, not from some system extension that happens to use the same resource id. --- Mac/Python/macgetpath.c | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/Mac/Python/macgetpath.c b/Mac/Python/macgetpath.c index 40dd6c1..0e3341d 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 ) -- cgit v0.12