X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;f=pscp.c;h=5d8256dfa27c0578d877e9bc3dc64de01e723960;hb=415224eab5791f504c08146db901fe87837a19f6;hp=61e6e1af0ef9a215a317d04f93a189e59ccc1965;hpb=984fe3dde809681f91d72152a4f96e91d79a2855;p=PuTTY.git diff --git a/pscp.c b/pscp.c index 61e6e1af..5d8256df 100644 --- a/pscp.c +++ b/pscp.c @@ -514,6 +514,9 @@ static void do_cmd(char *host, char *user, char *cmd) back = &ssh_backend; + logctx = log_init(NULL, conf); + console_provide_logctx(logctx); + err = back->init(NULL, &backhandle, conf, conf_get_str(conf, CONF_host), conf_get_int(conf, CONF_port), @@ -521,9 +524,7 @@ static void do_cmd(char *host, char *user, char *cmd) conf_get_int(conf, CONF_tcp_keepalives)); if (err != NULL) bump("ssh_init: %s", err); - logctx = log_init(NULL, conf); back->provide_logctx(backhandle, logctx); - console_provide_logctx(logctx); ssh_scp_init(); if (verbose && realhost != NULL && errs == 0) tell_user(stderr, "Connected to %s", realhost); @@ -658,6 +659,10 @@ int sftp_senddata(char *buf, int len) back->send(backhandle, buf, len); return 1; } +int sftp_sendbuffer(void) +{ + return back->sendbuffer(backhandle); +} /* ---------------------------------------------------------------------- * sftp-based replacement for the hacky `pscp -ls'. @@ -1711,11 +1716,12 @@ static void source(const char *src) stat_starttime = time(NULL); stat_lasttime = 0; +#define PSCP_SEND_BLOCK 4096 for (i = uint64_make(0,0); uint64_compare(i,size) < 0; - i = uint64_add32(i,4096)) { - char transbuf[4096]; - int j, k = 4096; + i = uint64_add32(i,PSCP_SEND_BLOCK)) { + char transbuf[PSCP_SEND_BLOCK]; + int j, k = PSCP_SEND_BLOCK; if (uint64_compare(uint64_add32(i, k),size) > 0) /* i + k > size */ k = (uint64_subtract(size, i)).lo; /* k = size - i; */ @@ -2258,7 +2264,9 @@ static void usage(void) void version(void) { - printf("pscp: %s\n", ver); + char *buildinfo_text = buildinfo("\n"); + printf("pscp: %s\n%s\n", ver, buildinfo_text); + sfree(buildinfo_text); cleanup_exit(1); } @@ -2349,6 +2357,8 @@ int psftp_main(int argc, char *argv[]) argv += i; back = NULL; + platform_psftp_post_option_setup(); + if (list) { if (argc != 1) usage();