]> asedeno.scripts.mit.edu Git - PuTTY.git/blobdiff - pscp.c
Fix error reporting pointer parameters in winsecur.c.
[PuTTY.git] / pscp.c
diff --git a/pscp.c b/pscp.c
index a4e55fe09b457be378152051125797071afe9b60..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'.
@@ -1495,7 +1499,7 @@ int scp_get_sink_action(struct scp_sink_action *act)
        {
            char sizestr[40];
        
-           if (sscanf(act->buf, "%lo %s %n", &act->permissions,
+            if (sscanf(act->buf, "%lo %39s %n", &act->permissions,
                        sizestr, &i) != 2)
                bump("Protocol error: Illegal file descriptor format");
            act->size = uint64_from_decimal(sizestr);
@@ -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);
 }
 
@@ -2349,6 +2356,8 @@ int psftp_main(int argc, char *argv[])
     argv += i;
     back = NULL;
 
+    platform_psftp_post_option_setup();
+
     if (list) {
        if (argc != 1)
            usage();