X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/blobdiff_plain/055817455466c8eb60392f30bb7c689763962e17..2ac3322ef9bc032ad942753a56696764aa0b0f74:/windows/winplink.c diff --git a/windows/winplink.c b/windows/winplink.c index c1366979..66af5413 100644 --- a/windows/winplink.c +++ b/windows/winplink.c @@ -210,14 +210,14 @@ static void usage(void) printf("Usage: plink [options] [user@]host [command]\n"); printf(" (\"host\" can also be a PuTTY saved session name)\n"); printf("Options:\n"); - printf(" -V print version information\n"); + printf(" -V print version information and exit\n"); + 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(" force use of a particular protocol\n"); printf(" -P port connect to specified port\n"); printf(" -l user connect with specified username\n"); - printf(" -m file read remote command(s) from file\n"); printf(" -batch disable all interactive prompts\n"); printf("The following options only apply to SSH connections:\n"); printf(" -pw passw login with specified password\n"); @@ -234,6 +234,7 @@ static void usage(void) printf(" -4 -6 force use of IPv4 or IPv6\n"); printf(" -C enable compression\n"); printf(" -i key private key file for authentication\n"); + printf(" -m file read remote command(s) from file\n"); printf(" -s remote command is an SSH subsystem (SSH-2 only)\n"); printf(" -N don't start a shell/command (SSH-2 only)\n"); exit(1); @@ -271,7 +272,7 @@ int main(int argc, char **argv) HANDLE handles[4]; DWORD in_threadid, out_threadid, err_threadid; struct input_data idata; - int reading; + int reading = FALSE; int sending; int portnumber = -1; SOCKET *sklist; @@ -339,6 +340,9 @@ int main(int argc, char **argv) use_subsystem = 1; } else if (!strcmp(p, "-V")) { version(); + } else if (!strcmp(p, "-pgpfp")) { + pgp_fingerprints(); + exit(1); } else { fprintf(stderr, "plink: unknown option \"%s\"\n", p); errors = 1; @@ -425,8 +429,6 @@ int main(int argc, char **argv) cfg.port = default_port; } else { cfg = cfg2; - /* Ick: patch up internal pointer after copy */ - cfg.remote_cmd_ptr = cfg.remote_cmd; } } @@ -529,7 +531,7 @@ int main(int argc, char **argv) cfg.host[p1] = '\0'; } - if (!*cfg.remote_cmd_ptr) + if (!cfg.remote_cmd_ptr && !*cfg.remote_cmd) flags |= FLAG_INTERACTIVE; /* @@ -664,6 +666,7 @@ int main(int argc, char **argv) cleanup_exit(1); } sending = TRUE; + reading = TRUE; } if (run_timers(now, &next)) {