diff options
Diffstat (limited to 'Mac/Python')
-rw-r--r-- | Mac/Python/macgetpath.c | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/Mac/Python/macgetpath.c b/Mac/Python/macgetpath.c index 80918fd..70a1b69 100644 --- a/Mac/Python/macgetpath.c +++ b/Mac/Python/macgetpath.c @@ -65,10 +65,11 @@ PERFORMANCE OF THIS SOFTWARE. :Lib:test\n\ :Lib:mac" -static void +static int getpreffilefss(FSSpec *fssp) { static int diditbefore=0; + static int rv = 1; static FSSpec fss; short prefdirRefNum; long prefdirDirID; @@ -88,12 +89,19 @@ getpreffilefss(FSSpec *fssp) } HLock(namehandle); - (void)FSMakeFSSpec(prefdirRefNum, prefdirDirID, (unsigned char *)*namehandle, &fss); + if ( **namehandle == '\0' ) { + /* Empty string means don't use preferences file */ + rv = 0; + } else { + /* There is a filename, construct the fsspec */ + (void)FSMakeFSSpec(prefdirRefNum, prefdirDirID, (unsigned char *)*namehandle, &fss); + } HUnlock(namehandle); ReleaseResource(namehandle); diditbefore = 1; } *fssp = fss; + return rv; } char * @@ -162,7 +170,8 @@ PyMac_OpenPrefFile() short prefrh; OSErr err; - getpreffilefss(&dirspec); + if ( !getpreffilefss(&dirspec)) + return -1; prefrh = FSpOpenResFile(&dirspec, fsRdWrShPerm); if ( prefrh < 0 ) { #if 0 @@ -225,7 +234,7 @@ PyMac_GetPythonDir() prefrh = PyMac_OpenPrefFile(); handle = (AliasHandle)Get1Resource('alis', PYTHONHOME_ID); if ( handle == NULL ) { - (void)StopAlert(BADPREFFILE_ID, NULL); + /* (void)StopAlert(BADPREFFILE_ID, NULL); */ diditbefore=1; return ":"; } |