X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/blobdiff_plain/b9d7bcadee831e9b59fb785f2464a5fc1897bd1a..b7a189f38294c745ae4ea6efb55891c8196e275b:/plink.c diff --git a/plink.c b/plink.c index 3b332642..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,13 +62,14 @@ void cmdline_error(char *p, ...) exit(1); } -static char *password = NULL; - HANDLE inhandle, outhandle, errhandle; DWORD orig_console_mode; WSAEVENT netevent; +static Backend *back; +static void *backhandle; + int term_ldisc(Terminal *term, int mode) { return FALSE; @@ -166,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); @@ -253,6 +253,7 @@ int main(int argc, char **argv) int skcount, sksize; int connopen; int exitcode; + int errors; ssh_get_line = console_get_line; @@ -272,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. @@ -296,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) { @@ -423,6 +429,9 @@ int main(int argc, char **argv) } } + if (errors) + return 1; + if (!*cfg.host) { usage(); } @@ -535,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;