-/* $Id: macstore.c,v 1.17 2003/03/27 22:46:28 ben Exp $ */
+/* $Id: macstore.c,v 1.19 2003/04/01 18:10:25 simon Exp $ */
/*
* macstore.c: Macintosh-specific impementation of the interface
FSSpec dstfile;
};
-void *open_settings_w(char const *sessionname) {
+void *open_settings_w(char const *sessionname, char **errmsg) {
short sessVRefNum;
long sessDirID;
OSErr error;
Str255 psessionname;
FSSpec dstfile;
-
+
+ *errmsg = NULL;
+
error = get_session_dir(kCreateFolder, &sessVRefNum, &sessDirID);
if (error != noErr) return NULL;
OSErr error;
Str255 tmpname;
- ws = smalloc(sizeof *ws);
+ ws = snew(struct write_settings);
ws->dstfile = *dstfile;
/* Create a temporary file to save to first. */
fd = FSpOpenResFile(sessfile, fsRdPerm);
if (fd == 0) {error = ResError(); goto out;}
- handle = smalloc(sizeof *handle);
+ handle = snew(int);
*handle = fd;
return handle;