X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/blobdiff_plain/9e164d82c8990d3c8cff58d866fb9938907d4d7b..a197b71101b0fb9381f9ffbaf36329e430215ef1:/windows/winplink.c diff --git a/windows/winplink.c b/windows/winplink.c index 60232ffe..7eb3aec1 100644 --- a/windows/winplink.c +++ b/windows/winplink.c @@ -166,7 +166,7 @@ static void usage(void) printf(" -pgpfp print PGP key fingerprints and exit\n"); printf(" -v show verbose messages\n"); printf(" -load sessname Load settings from saved session\n"); - printf(" -ssh -telnet -rlogin -raw\n"); + printf(" -ssh -telnet -rlogin -raw -serial\n"); printf(" force use of a particular protocol\n"); printf(" -P port connect to specified port\n"); printf(" -l user connect with specified username\n"); @@ -193,6 +193,8 @@ static void usage(void) printf(" -N don't start a shell/command (SSH-2 only)\n"); printf(" -nc host:port\n"); printf(" open tunnel in place of session (SSH-2 only)\n"); + printf(" -sercfg configuration-string (e.g. 19200,8,n,1,X)\n"); + printf(" Specify the serial configuration (serial only)\n"); exit(1); } @@ -279,6 +281,7 @@ int main(int argc, char **argv) int skcount, sksize; int exitcode; int errors; + int got_host = FALSE; int use_subsystem = 0; long now, next; @@ -305,7 +308,6 @@ int main(int argc, char **argv) * Override the default protocol if PLINK_PROTOCOL is set. */ char *p = getenv("PLINK_PROTOCOL"); - int i; if (p) { const Backend *b = backend_from_name(p); if (b) { @@ -342,7 +344,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; /* * If the hostname starts with "telnet:", set the @@ -368,6 +370,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; /* @@ -416,8 +419,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; } } @@ -464,7 +469,7 @@ int main(int argc, char **argv) if (errors) return 1; - if (!cfg_launchable(&cfg)) { + if (!cfg_launchable(&cfg) || !(got_host || loaded_session)) { usage(); }