From 2e6445caa67955fc1f627df9655e1a49b8f3fdae Mon Sep 17 00:00:00 2001 From: Jack Jansen Date: Fri, 31 Jul 1998 09:37:02 +0000 Subject: [PATCH] Don't add the library file to the resource file chain if it is the same as the application file (Just). --- Mac/Python/macshlglue.c | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/Mac/Python/macshlglue.c b/Mac/Python/macshlglue.c index 84cddd86dc8..4b510706702 100644 --- a/Mac/Python/macshlglue.c +++ b/Mac/Python/macshlglue.c @@ -82,6 +82,23 @@ __initialize_with_resources(CFragInitBlockPtr data) return noErr; } +/* +** compare two FSSpecs, return true if equal, false if different +** XXX where could this function live? (jvr) +*/ + +static int +FSpCompare(FSSpec *fss1, FSSpec *fss2) { + if (fss1->vRefNum != fss2->vRefNum) + return 0; + if (fss1->parID != fss2->parID) + return 0; + return !PLstrcmp(fss1->name, fss2->name); +} + +/* XXX can't include "macglue.h" somehow (jvr) */ +extern FSSpec PyMac_ApplicationFSSpec; /* Application location (from macargv.c) */ + /* ** Insert the library resources into the search path. Put them after ** the resources from the application (which we assume is the current @@ -90,7 +107,7 @@ __initialize_with_resources(CFragInitBlockPtr data) void PyMac_AddLibResources() { - if ( !library_fss_valid ) + if ( !library_fss_valid || FSpCompare(&library_fss, &PyMac_ApplicationFSSpec)) return; (void)FSpOpenResFile(&library_fss, fsRdPerm); }