Replicate r8110 from PSFTP to PSCP, and various other minor patchery from
authorjacob <jacob@cda61777-01e9-0310-a592-d414129be87e>
Fri, 11 Jul 2008 19:24:56 +0000 (19:24 +0000)
committerjacob <jacob@cda61777-01e9-0310-a592-d414129be87e>
Fri, 11 Jul 2008 19:24:56 +0000 (19:24 +0000)
Roger Picton.

git-svn-id: svn://svn.tartarus.org/sgt/putty@8117 cda61777-01e9-0310-a592-d414129be87e

pscp.c

diff --git a/pscp.c b/pscp.c
index 1809c6f..3ef1b33 100644 (file)
--- a/pscp.c
+++ b/pscp.c
@@ -252,8 +252,14 @@ static int ssh_scp_recv(unsigned char *buf, int len)
 static void ssh_scp_init(void)
 {
     while (!back->sendok(backhandle)) {
-       if (ssh_sftp_loop_iteration() < 0)
+        if (back->exitcode(backhandle) >= 0) {
+            errs++;
+            return;
+        }
+       if (ssh_sftp_loop_iteration() < 0) {
+            errs++;
            return;                    /* doom */
+        }
     }
 
     /* Work out which backend we ended up using. */
@@ -467,7 +473,7 @@ static void do_cmd(char *host, char *user, char *cmd)
     back->provide_logctx(backhandle, logctx);
     console_provide_logctx(logctx);
     ssh_scp_init();
-    if (verbose && realhost != NULL)
+    if (verbose && realhost != NULL && errs == 0)
        tell_user(stderr, "Connected to %s\n", realhost);
     sfree(realhost);
 }