X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/blobdiff_plain/6b78788aeda49ad942a13e736cda2cf282432d78..5dc6132d3a8e6e4048698bf1914b486f9cf41e2c:/plink.c diff --git a/plink.c b/plink.c index 86b34151..63d30c42 100644 --- a/plink.c +++ b/plink.c @@ -40,7 +40,7 @@ void modalfatalbox(char *p, ...) WSACleanup(); cleanup_exit(1); } -void connection_fatal(char *p, ...) +void connection_fatal(void *frontend, char *p, ...) { va_list ap; fprintf(stderr, "FATAL ERROR: "); @@ -62,8 +62,6 @@ void cmdline_error(char *p, ...) exit(1); } -static char *password = NULL; - HANDLE inhandle, outhandle, errhandle; DWORD orig_console_mode; @@ -169,7 +167,6 @@ void try_output(int is_stderr) int from_backend(void *frontend_handle, int is_stderr, char *data, int len) { - HANDLE h = (is_stderr ? errhandle : outhandle); int osize, esize; assert(len > 0); @@ -256,6 +253,7 @@ int main(int argc, char **argv) int skcount, sksize; int connopen; int exitcode; + int errors; ssh_get_line = console_get_line; @@ -275,6 +273,7 @@ int main(int argc, char **argv) do_defaults(NULL, &cfg); default_protocol = cfg.protocol; default_port = cfg.port; + errors = 0; { /* * Override the default protocol if PLINK_PROTOCOL is set. @@ -299,12 +298,16 @@ int main(int argc, char **argv) if (ret == -2) { fprintf(stderr, "plink: option \"%s\" requires an argument\n", p); + errors = 1; } else if (ret == 2) { --argc, ++argv; } else if (ret == 1) { continue; } else if (!strcmp(p, "-batch")) { console_batch_mode = 1; + } else { + fprintf(stderr, "plink: unknown option \"%s\"\n", p); + errors = 1; } } else if (*p) { if (!*cfg.host) { @@ -426,6 +429,9 @@ int main(int argc, char **argv) } } + if (errors) + return 1; + if (!*cfg.host) { usage(); } @@ -538,6 +544,8 @@ int main(int argc, char **argv) fprintf(stderr, "Unable to open connection:\n%s", error); return 1; } + logctx = log_init(NULL); + back->provide_logctx(backhandle, logctx); sfree(realhost); } connopen = 1;