X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;f=unix%2Fuxplink.c;h=6b56d2af1fc5d61db6b7102006a91265b8921639;hb=46c00b0f381f48a9992e43e014e104015952e9da;hp=e9c6c9e6eedae82017dee5849622d991c30b4002;hpb=003424de050138841bf9fed2031d3cb514e15ea4;p=PuTTY.git diff --git a/unix/uxplink.c b/unix/uxplink.c index e9c6c9e6..6b56d2af 100644 --- a/unix/uxplink.c +++ b/unix/uxplink.c @@ -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; } /*