From e9b9df0fb92e0a0db3f5ae2736a5afe8343d3b2e Mon Sep 17 00:00:00 2001 From: Jacob Nevins Date: Wed, 3 Dec 2003 23:25:48 +0000 Subject: [PATCH] Spotted by Tim Kosse: reput on an already complete file was hanging. Should be fixed now (we only wait for packets if we know there are some that haven't been replied to yet). [originally from svn r3618] --- psftp.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/psftp.c b/psftp.c index c7cd8701..d395b6f1 100644 --- a/psftp.c +++ b/psftp.c @@ -616,12 +616,13 @@ int sftp_general_put(struct sftp_command *cmd, int restart) } } - pktin = sftp_recv(); - ret = xfer_upload_gotpkt(xfer, pktin); - - if (!ret) { - printf("error while writing: %s\n", fxp_error()); - err = 1; + if (!xfer_done(xfer)) { + pktin = sftp_recv(); + ret = xfer_upload_gotpkt(xfer, pktin); + if (!ret) { + printf("error while writing: %s\n", fxp_error()); + err = 1; + } } }