mirror of
https://git.tartarus.org/simon/putty.git
synced 2025-06-30 11:02:48 -05:00
Rationalise access to, and content of, backends[] array.
Should be no significant change in behaviour. (Well, entering usernames containing commas on Plink's command line will be a little harder now.) [originally from svn r7628]
This commit is contained in:
@ -596,15 +596,11 @@ int main(int argc, char **argv)
|
||||
* Override the default protocol if PLINK_PROTOCOL is set.
|
||||
*/
|
||||
char *p = getenv("PLINK_PROTOCOL");
|
||||
int i;
|
||||
if (p) {
|
||||
for (i = 0; backends[i].backend != NULL; i++) {
|
||||
if (!strcmp(backends[i].name, p)) {
|
||||
default_protocol = cfg.protocol = backends[i].protocol;
|
||||
default_port = cfg.port =
|
||||
backends[i].backend->default_port;
|
||||
break;
|
||||
}
|
||||
const Backend *b = backend_from_name(p);
|
||||
if (b) {
|
||||
default_protocol = cfg.protocol = b->protocol;
|
||||
default_port = cfg.port = b->default_port;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -681,19 +677,14 @@ int main(int argc, char **argv)
|
||||
*/
|
||||
r = strchr(p, ',');
|
||||
if (r) {
|
||||
int i, j;
|
||||
for (i = 0; backends[i].backend != NULL; i++) {
|
||||
j = strlen(backends[i].name);
|
||||
if (j == r - p &&
|
||||
!memcmp(backends[i].name, p, j)) {
|
||||
default_protocol = cfg.protocol =
|
||||
backends[i].protocol;
|
||||
portnumber =
|
||||
backends[i].backend->default_port;
|
||||
p = r + 1;
|
||||
break;
|
||||
}
|
||||
const Backend *b;
|
||||
*r = '\0';
|
||||
b = backend_from_name(p);
|
||||
if (b) {
|
||||
default_protocol = cfg.protocol = b->protocol;
|
||||
portnumber = b->default_port;
|
||||
}
|
||||
p = r + 1;
|
||||
}
|
||||
|
||||
/*
|
||||
@ -836,19 +827,11 @@ int main(int argc, char **argv)
|
||||
* Select protocol. This is farmed out into a table in a
|
||||
* separate file to enable an ssh-free variant.
|
||||
*/
|
||||
{
|
||||
int i;
|
||||
back = NULL;
|
||||
for (i = 0; backends[i].backend != NULL; i++)
|
||||
if (backends[i].protocol == cfg.protocol) {
|
||||
back = backends[i].backend;
|
||||
break;
|
||||
}
|
||||
if (back == NULL) {
|
||||
fprintf(stderr,
|
||||
"Internal fault: Unsupported protocol found\n");
|
||||
return 1;
|
||||
}
|
||||
back = backend_from_proto(cfg.protocol);
|
||||
if (back == NULL) {
|
||||
fprintf(stderr,
|
||||
"Internal fault: Unsupported protocol found\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -1085,5 +1085,7 @@ Backend pty_backend = {
|
||||
pty_provide_logctx,
|
||||
pty_unthrottle,
|
||||
pty_cfg_info,
|
||||
"pty",
|
||||
-1,
|
||||
1
|
||||
};
|
||||
|
@ -33,13 +33,7 @@ void cleanup_exit(int code)
|
||||
|
||||
Backend *select_backend(Config *cfg)
|
||||
{
|
||||
int i;
|
||||
Backend *back = NULL;
|
||||
for (i = 0; backends[i].backend != NULL; i++)
|
||||
if (backends[i].protocol == cfg->protocol) {
|
||||
back = backends[i].backend;
|
||||
break;
|
||||
}
|
||||
Backend *back = backend_from_proto(cfg->protocol);
|
||||
assert(back != NULL);
|
||||
return back;
|
||||
}
|
||||
@ -137,13 +131,10 @@ int main(int argc, char **argv)
|
||||
default_protocol = be_default_protocol;
|
||||
/* Find the appropriate default port. */
|
||||
{
|
||||
int i;
|
||||
Backend *b = backend_from_proto(default_protocol);
|
||||
default_port = 0; /* illegal */
|
||||
for (i = 0; backends[i].backend != NULL; i++)
|
||||
if (backends[i].protocol == default_protocol) {
|
||||
default_port = backends[i].backend->default_port;
|
||||
break;
|
||||
}
|
||||
if (b)
|
||||
default_port = b->default_port;
|
||||
}
|
||||
return pt_main(argc, argv);
|
||||
}
|
||||
|
@ -536,5 +536,7 @@ Backend serial_backend = {
|
||||
serial_provide_logctx,
|
||||
serial_unthrottle,
|
||||
serial_cfg_info,
|
||||
"serial",
|
||||
PROT_SERIAL,
|
||||
1
|
||||
};
|
||||
|
Reference in New Issue
Block a user