X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/blobdiff_plain/086efcde067f75f97768e54c251befc9e4ad10ce..193194e2bb5121cc9eaee3e7c41d5ae348c26fda:/mac/macstore.c?ds=sidebyside diff --git a/mac/macstore.c b/mac/macstore.c index 1c317ebc..fe1232e3 100644 --- a/mac/macstore.c +++ b/mac/macstore.c @@ -1,4 +1,4 @@ -/* $Id: macstore.c,v 1.2 2002/12/12 23:55:51 ben Exp $ */ +/* $Id: macstore.c,v 1.6 2002/12/30 18:21:17 ben Exp $ */ /* * macstore.c: Macintosh-specific impementation of the interface @@ -15,12 +15,12 @@ #include "putty.h" #include "storage.h" +#include "mac.h" #define PUTTY_CREATOR FOUR_CHAR_CODE('pTTY') #define SESS_TYPE FOUR_CHAR_CODE('Sess') -OSErr get_session_dir(Boolean makeit, short *pVRefNum, long *pDirID); OSErr FSpGetDirID(FSSpec *f, long *idp, Boolean makeit); /* @@ -87,7 +87,6 @@ struct write_settings { void *open_settings_w(char *sessionname) { short sessVRefNum, tmpVRefNum; long sessDirID, tmpDirID; - FSSpec sessfile; OSErr error; Str255 psessionname; struct write_settings *ws; @@ -192,21 +191,32 @@ void close_settings_w(void *handle) { safefree(handle); } -void *open_settings_r(char *sessionname) { +void *open_settings_r(char *sessionname) +{ short sessVRefNum; long sessDirID; FSSpec sessfile; OSErr error; Str255 psessionname; - int fd; - int *handle; error = get_session_dir(kDontCreateFolder, &sessVRefNum, &sessDirID); c2pstrcpy(psessionname, sessionname); error = FSMakeFSSpec(sessVRefNum, sessDirID, psessionname, &sessfile); if (error != noErr) goto out; - fd = FSpOpenResFile(&sessfile, fsRdPerm); + return open_settings_r_fsp(&sessfile); + + out: + return NULL; +} + +void *open_settings_r_fsp(FSSpec *sessfile) +{ + OSErr error; + int fd; + int *handle; + + fd = FSpOpenResFile(sessfile, fsRdPerm); if (fd == 0) {error = ResError(); goto out;} handle = safemalloc(sizeof *handle); @@ -217,11 +227,9 @@ void *open_settings_r(char *sessionname) { return NULL; } - char *read_setting_s(void *handle, char *key, char *buffer, int buflen) { int fd; Handle h; - OSErr error; size_t len; if (handle == NULL) goto out; @@ -247,7 +255,6 @@ char *read_setting_s(void *handle, char *key, char *buffer, int buflen) { int read_setting_i(void *handle, char *key, int defvalue) { int fd; Handle h; - OSErr error; int value; if (handle == NULL) goto out;