X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/blobdiff_plain/3fe551b2cde6cbc1946b48c311f45310de416cc5..f0f51e90dcb84e35046dd6683e29f15336a429fb:/unix/uxplink.c diff --git a/unix/uxplink.c b/unix/uxplink.c index 8027b6f8..55d1663d 100644 --- a/unix/uxplink.c +++ b/unix/uxplink.c @@ -587,6 +587,7 @@ int main(int argc, char **argv) int exitcode; int errors; int use_subsystem = 0; + int got_host = FALSE; void *ldisc; long now; @@ -660,7 +661,7 @@ int main(int argc, char **argv) errors = 1; } } else if (*p) { - if (!cfg_launchable(&cfg)) { + if (!cfg_launchable(&cfg) || !(got_host || loaded_session)) { char *q = p; /* @@ -687,6 +688,7 @@ int main(int argc, char **argv) cfg.port = -1; strncpy(cfg.host, q, sizeof(cfg.host) - 1); cfg.host[sizeof(cfg.host) - 1] = '\0'; + got_host = TRUE; } else { char *r, *user, *host; /* @@ -735,8 +737,10 @@ int main(int argc, char **argv) strncpy(cfg.host, host, sizeof(cfg.host) - 1); cfg.host[sizeof(cfg.host) - 1] = '\0'; cfg.port = default_port; + got_host = TRUE; } else { cfg = cfg2; + loaded_session = TRUE; } } @@ -783,7 +787,7 @@ int main(int argc, char **argv) if (errors) return 1; - if (!cfg_launchable(&cfg)) { + if (!cfg_launchable(&cfg) || !(got_host || loaded_session)) { usage(); }