]> asedeno.scripts.mit.edu Git - PuTTY.git/blobdiff - pscp.c
Rework handling of asynchronous connect(2) errors on Unix.
[PuTTY.git] / pscp.c
diff --git a/pscp.c b/pscp.c
index 6e1d0ff9a084576f8582d915cd63931a30f5c945..25a2a7377e8e4f4984f46b586d71c8b735f08d14 100644 (file)
--- a/pscp.c
+++ b/pscp.c
@@ -658,6 +658,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 +1715,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 +2263,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);
 }