From b0d7b8ba6bcb5fccd3583723d647311bdfca8683 Mon Sep 17 00:00:00 2001
From: Niko Ehrenfeuchter <nikolaus.ehrenfeuchter@unibas.ch>
Date: Fri, 15 Dec 2017 18:17:56 +0100
Subject: [PATCH] Make transfer source path a parameter of StartTransfer().

---
 AutoTx/AutoTx.cs      | 6 ++----
 AutoTx/RoboCommand.cs | 6 ++++--
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/AutoTx/AutoTx.cs b/AutoTx/AutoTx.cs
index c166bc6..2b132a2 100644
--- a/AutoTx/AutoTx.cs
+++ b/AutoTx/AutoTx.cs
@@ -634,14 +634,12 @@ namespace AutoTx
                 return;
             }
             try {
-                _status.CurrentTransferSrc = subdirs[0].FullName;
-                _status.CurrentTransferSize = GetDirectorySize(_status.CurrentTransferSrc);
+                StartTransfer(subdirs[0].FullName);
             }
             catch (Exception ex) {
                 writeLog("Error checking for data to be transferred: " + ex.Message);
                 throw;
             }
-            StartTransfer();
         }
 
         /// <summary>
@@ -706,7 +704,7 @@ namespace AutoTx
 
             writeLogDebug("Resuming transfer from '" + _status.CurrentTransferSrc +
                           "' to '" + ExpandCurrentTargetTmp() + "'");
-            StartTransfer();
+            StartTransfer(_status.CurrentTransferSrc);
         }
 
         #endregion
diff --git a/AutoTx/RoboCommand.cs b/AutoTx/RoboCommand.cs
index cbce886..f80bb21 100644
--- a/AutoTx/RoboCommand.cs
+++ b/AutoTx/RoboCommand.cs
@@ -16,12 +16,14 @@ namespace AutoTx
         /// false. The currently processed path is stored in the global status
         /// variable CurrentTransferSrc.
         /// </summary>
-        private void StartTransfer() {
+        private void StartTransfer(string sourcePath) {
             // only proceed when in a valid state:
             if (_transferState != TxState.Stopped)
                 return;
 
-            var sourcePath = _status.CurrentTransferSrc;
+            _status.CurrentTransferSrc = sourcePath;
+            _status.CurrentTransferSize = GetDirectorySize(sourcePath);
+
             // the user name is expected to be the last part of the path:
             _status.CurrentTargetTmp = new DirectoryInfo(sourcePath).Name;
             CreateNewDirectory(ExpandCurrentTargetTmp(), false);
-- 
GitLab