1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-03-12 18:13:50 -05:00

Move mac_opensession() from macterm.c to macdlg.c.

[originally from svn r2641]
This commit is contained in:
Ben Harris 2003-01-18 16:54:25 +00:00
parent 06a48a0c06
commit 2dc0bf7a60
2 changed files with 44 additions and 44 deletions

View File

@ -1,4 +1,4 @@
/* $Id: macdlg.c,v 1.2 2003/01/01 11:45:43 ben Exp $ */
/* $Id: macdlg.c,v 1.3 2003/01/18 16:54:25 ben Exp $ */
/*
* Copyright (c) 2002 Ben Harris
* All rights reserved.
@ -31,6 +31,7 @@
#include <MacTypes.h>
#include <Dialogs.h>
#include <StandardFile.h>
#include <Windows.h>
#include <string.h>
@ -38,6 +39,7 @@
#include "putty.h"
#include "mac.h"
#include "macresid.h"
#include "storage.h"
void mac_newsession(void)
{
@ -55,6 +57,45 @@ void mac_newsession(void)
ShowWindow(s->settings_window);
}
void mac_opensession(void) {
Session *s;
StandardFileReply sfr;
static const OSType sftypes[] = { 'Sess', 0, 0, 0 };
void *sesshandle;
int i;
s = smalloc(sizeof(*s));
memset(s, 0, sizeof(*s));
StandardGetFile(NULL, 1, sftypes, &sfr);
if (!sfr.sfGood) goto fail;
sesshandle = open_settings_r_fsp(&sfr.sfFile);
if (sesshandle == NULL) goto fail;
load_open_settings(sesshandle, TRUE, &s->cfg);
close_settings_r(sesshandle);
/*
* Select protocol. This is farmed out into a table in a
* separate file to enable an ssh-free variant.
*/
s->back = NULL;
for (i = 0; backends[i].backend != NULL; i++)
if (backends[i].protocol == s->cfg.protocol) {
s->back = backends[i].backend;
break;
}
if (s->back == NULL) {
fatalbox("Unsupported protocol number found");
}
mac_startsession(s);
return;
fail:
sfree(s);
return;
}
void mac_activatedlg(WindowPtr window, EventRecord *event)
{
DialogItemType itemtype;

View File

@ -1,4 +1,4 @@
/* $Id: macterm.c,v 1.50 2003/01/15 23:30:21 ben Exp $ */
/* $Id: macterm.c,v 1.51 2003/01/18 16:54:25 ben Exp $ */
/*
* Copyright (c) 1999 Simon Tatham
* Copyright (c) 1999, 2002 Ben Harris
@ -33,6 +33,7 @@
#include <MacTypes.h>
#include <Controls.h>
#include <ControlDefinitions.h>
#include <FixMath.h>
#include <Fonts.h>
#include <Gestalt.h>
#include <LowMem.h>
@ -46,9 +47,7 @@
#include <Scrap.h>
#include <Script.h>
#include <Sound.h>
#include <StandardFile.h>
#include <TextCommon.h>
#include <Threads.h>
#include <ToolUtils.h>
#include <UnicodeConverter.h>
@ -62,7 +61,6 @@
#include "putty.h"
#include "charset.h"
#include "mac.h"
#include "storage.h"
#include "terminal.h"
#define NCOLOURS (lenof(((Config *)0)->colours))
@ -109,45 +107,6 @@ static RoutineDescriptor do_text_for_device_upp =
#define do_text_for_device_upp do_text_for_device
#endif /* not TARGET_RT_MAC_CFM */
void mac_opensession(void) {
Session *s;
StandardFileReply sfr;
static const OSType sftypes[] = { 'Sess', 0, 0, 0 };
void *sesshandle;
int i;
s = smalloc(sizeof(*s));
memset(s, 0, sizeof(*s));
StandardGetFile(NULL, 1, sftypes, &sfr);
if (!sfr.sfGood) goto fail;
sesshandle = open_settings_r_fsp(&sfr.sfFile);
if (sesshandle == NULL) goto fail;
load_open_settings(sesshandle, TRUE, &s->cfg);
close_settings_r(sesshandle);
/*
* Select protocol. This is farmed out into a table in a
* separate file to enable an ssh-free variant.
*/
s->back = NULL;
for (i = 0; backends[i].backend != NULL; i++)
if (backends[i].protocol == s->cfg.protocol) {
s->back = backends[i].backend;
break;
}
if (s->back == NULL) {
fatalbox("Unsupported protocol number found");
}
mac_startsession(s);
return;
fail:
sfree(s);
return;
}
void mac_startsession(Session *s)
{
char *errmsg;