X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/blobdiff_plain/d765248486faa03be34ddb77e2f7a49319df24ec..b537dd42c1da03890c832e94a4f47369ca3d99af:/mac/macdlg.c diff --git a/mac/macdlg.c b/mac/macdlg.c index ed9b026b..bf7c1e9d 100644 --- a/mac/macdlg.c +++ b/mac/macdlg.c @@ -1,4 +1,4 @@ -/* $Id: macdlg.c,v 1.3 2003/01/18 16:54:25 ben Exp $ */ +/* $Id: macdlg.c,v 1.4 2003/01/18 20:09:21 ben Exp $ */ /* * Copyright (c) 2002 Ben Harris * All rights reserved. @@ -31,6 +31,7 @@ #include #include +#include #include #include @@ -96,6 +97,32 @@ void mac_opensession(void) { return; } +void mac_savesession(void) +{ + + /* Don't remember which file a session goes with yet, so... */ + mac_savesessionas(); +} + +void mac_savesessionas(void) +{ + Session *s = (Session *)GetWRefCon(FrontWindow()); + StandardFileReply sfr; + void *sesshandle; + + StandardPutFile("\pSave session as:", "\puntitled", &sfr); + if (!sfr.sfGood) return; + + if (!sfr.sfReplacing) { + FSpCreateResFile(&sfr.sfFile, PUTTY_CREATOR, SESS_TYPE, sfr.sfScript); + if (ResError() != noErr) return; /* XXX report error */ + } + sesshandle = open_settings_w_fsp(&sfr.sfFile); + if (sesshandle == NULL) return; /* XXX report error */ + save_open_settings(sesshandle, TRUE, &s->cfg); + close_settings_w(sesshandle); +} + void mac_activatedlg(WindowPtr window, EventRecord *event) { DialogItemType itemtype;