]> granicus.if.org Git - python/commitdiff
Check that our override pythonpath is actually coming from the
authorJack Jansen <jack.jansen@cwi.nl>
Thu, 5 Sep 1996 15:19:24 +0000 (15:19 +0000)
committerJack Jansen <jack.jansen@cwi.nl>
Thu, 5 Sep 1996 15:19:24 +0000 (15:19 +0000)
application, not from some system extension that happens to use the
same resource id.

Mac/Python/macgetpath.c

index 40dd6c10d6393566636536904fec6a2604ec69c5..0e3341dfe5f32acae3b4d54bf020417bfee30d75 100644 (file)
@@ -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 )