From e91c4dc223a0bb163ac6a292e0f26227e721ba20 Mon Sep 17 00:00:00 2001
From: wenjingwang <2363541664@qq.com>
Date: Tue, 9 Apr 2019 13:59:59 +0800
Subject: [PATCH] Fix the issue where scp transfer completion tracking wasn't
being triggered for 100% completion
This closes #91 pull request at github/apache/ant
---
CONTRIBUTORS | 1 +
WHATSNEW | 4 ++++
contributors.xml | 4 ++++
.../tools/ant/taskdefs/optional/ssh/ScpFromMessage.java | 7 +++----
4 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 56fb51130..e83a6564b 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -441,6 +441,7 @@ Vladislav Bauer
Volker Leidl
Waldek Herka
Wang Weijun
+Wenjing Wang
Will Wang
William Bernardet
William Ferguson
diff --git a/WHATSNEW b/WHATSNEW
index c5d7f5861..aee4b54ef 100644
--- a/WHATSNEW
+++ b/WHATSNEW
@@ -56,6 +56,10 @@ Fixed bugs:
actual address could potentially be unreachable. This is now fixed
and the resolved address is actually checked for reachability.
+ * Fixes an issue where scp transfer completion tracking wasn't being
+ triggered for 100% completion.
+ Github Pull Request #91
+
Other changes:
--------------
diff --git a/contributors.xml b/contributors.xml
index a8e53ab94..3f567e6e6 100644
--- a/contributors.xml
+++ b/contributors.xml
@@ -1815,6 +1815,10 @@
Wang
Weijun
+
+ Wenjing
+ Wang
+
Will
Wang
diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/ssh/ScpFromMessage.java b/src/main/org/apache/tools/ant/taskdefs/optional/ssh/ScpFromMessage.java
index 312bf6672..5091aa547 100644
--- a/src/main/org/apache/tools/ant/taskdefs/optional/ssh/ScpFromMessage.java
+++ b/src/main/org/apache/tools/ant/taskdefs/optional/ssh/ScpFromMessage.java
@@ -286,15 +286,14 @@ public class ScpFromMessage extends AbstractSshMessage {
fos.write(buf, 0, length);
filesize -= length;
totalLength += length;
- if (filesize == 0) {
- break;
- }
-
if (trackProgress) {
percentTransmitted = trackProgress(initFilesize,
totalLength,
percentTransmitted);
}
+ if (filesize == 0) {
+ break;
+ }
}
} finally {
final long endTime = System.currentTimeMillis();