X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/blobdiff_plain/0e03ceff4e371364f17c49ea370b6475cb0b7230..7374c7790ee32f36855e4257eb15d2fe43e277ea:/windows/winplink.c diff --git a/windows/winplink.c b/windows/winplink.c index c784a5dc..562d26af 100644 --- a/windows/winplink.c +++ b/windows/winplink.c @@ -218,7 +218,7 @@ int stdin_gotdata(struct handle *h, void *data, int len) cleanup_exit(0); } noise_ultralight(len); - if (connopen && back->socket(backhandle) != NULL) { + if (connopen && back->connected(backhandle)) { if (len > 0) { return back->send(backhandle, data, len); } else { @@ -239,7 +239,7 @@ void stdouterr_sent(struct handle *h, int new_backlog) (h == stdout_handle ? "output" : "error")); cleanup_exit(0); } - if (connopen && back->socket(backhandle) != NULL) { + if (connopen && back->connected(backhandle)) { back->unthrottle(backhandle, (handle_backlog(stdout_handle) + handle_backlog(stderr_handle))); } @@ -319,7 +319,7 @@ int main(int argc, char **argv) errors = 1; } } else if (*p) { - if (!*cfg.host) { + if (!cfg_launchable(&cfg)) { char *q = p; /* * If the hostname starts with "telnet:", set the @@ -392,7 +392,7 @@ int main(int argc, char **argv) { Config cfg2; do_defaults(host, &cfg2); - if (loaded_session || cfg2.host[0] == '\0') { + if (loaded_session || !cfg_launchable(&cfg2)) { /* No settings for this host; use defaults */ /* (or session was already loaded with -load) */ strncpy(cfg.host, host, sizeof(cfg.host) - 1); @@ -446,7 +446,7 @@ int main(int argc, char **argv) if (errors) return 1; - if (!*cfg.host) { + if (!cfg_launchable(&cfg)) { usage(); } @@ -459,7 +459,7 @@ int main(int argc, char **argv) } /* See if host is of the form user@host */ - if (cfg.host[0] != '\0') { + if (cfg_launchable(&cfg)) { char *atsign = strrchr(cfg.host, '@'); /* Make sure we're not overflowing the user field */ if (atsign) { @@ -536,6 +536,9 @@ int main(int argc, char **argv) return 1; } + logctx = log_init(NULL, &cfg); + console_provide_logctx(logctx); + /* * Start up the connection. */ @@ -553,9 +556,7 @@ int main(int argc, char **argv) fprintf(stderr, "Unable to open connection:\n%s", error); return 1; } - logctx = log_init(NULL, &cfg); back->provide_logctx(backhandle, logctx); - console_provide_logctx(logctx); sfree(realhost); } connopen = 1; @@ -577,8 +578,8 @@ int main(int argc, char **argv) * (The input one we leave until we're through the * authentication process.) */ - stdout_handle = handle_output_new(outhandle, stdouterr_sent, NULL); - stderr_handle = handle_output_new(errhandle, stdouterr_sent, NULL); + stdout_handle = handle_output_new(outhandle, stdouterr_sent, NULL, 0); + stderr_handle = handle_output_new(errhandle, stdouterr_sent, NULL, 0); main_thread_id = GetCurrentThreadId(); @@ -593,7 +594,8 @@ int main(int argc, char **argv) DWORD ticks; if (!sending && back->sendok(backhandle)) { - stdin_handle = handle_input_new(inhandle, stdin_gotdata, NULL); + stdin_handle = handle_input_new(inhandle, stdin_gotdata, NULL, + 0); sending = TRUE; } @@ -694,7 +696,7 @@ int main(int argc, char **argv) if (sending) handle_unthrottle(stdin_handle, back->sendbuffer(backhandle)); - if ((!connopen || back->socket(backhandle) == NULL) && + if ((!connopen || !back->connected(backhandle)) && handle_backlog(stdout_handle) + handle_backlog(stderr_handle) == 0) break; /* we closed the connection */ }