X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/blobdiff_plain/510d42ee5074abd7d567be0167d271d60759d30b..882ddee7948d1bfcddc3a6ca6721496b6ebf439e:/scp.c diff --git a/scp.c b/scp.c index 4334d9ff..f7fa255f 100644 --- a/scp.c +++ b/scp.c @@ -450,7 +450,8 @@ static void do_cmd(char *host, char *user, char *cmd) back = &ssh_backend; - err = back->init(NULL, &backhandle, &cfg, cfg.host, cfg.port, &realhost,0); + err = back->init(NULL, &backhandle, &cfg, cfg.host, cfg.port, &realhost, + 0, cfg.tcp_keepalives); if (err != NULL) bump("ssh_init: %s", err); logctx = log_init(NULL, &cfg); @@ -470,7 +471,7 @@ static void print_stats(char *name, unsigned long size, unsigned long done, { float ratebs; unsigned long eta; - char etastr[10]; + char *etastr; int pct; int len; int elap; @@ -486,8 +487,8 @@ static void print_stats(char *name, unsigned long size, unsigned long done, eta = size - done; else eta = (unsigned long) ((size - done) / ratebs); - sprintf(etastr, "%02ld:%02ld:%02ld", - eta / 3600, (eta % 3600) / 60, eta % 60); + etastr = dupprintf("%02ld:%02ld:%02ld", + eta / 3600, (eta % 3600) / 60, eta % 60); pct = (int) (100 * (done * 1.0 / size)); @@ -506,6 +507,8 @@ static void print_stats(char *name, unsigned long size, unsigned long done, fflush(stdout); } + + free(etastr); } /*