summaryrefslogtreecommitdiff
path: root/src/mscp.c
diff options
context:
space:
mode:
authorRyo Nakamura <upa@haeena.net>2023-03-10 21:42:00 +0900
committerRyo Nakamura <upa@haeena.net>2023-03-10 21:42:00 +0900
commit2477647a3bf66d9dceed301622076079529f1689 (patch)
treeadc44dfc2c8ce30e594435a822167c6cb35d9a17 /src/mscp.c
parente037294d3db20370710cd478ce7868f9f49aeb23 (diff)
fix uninitialized dst_path_is_dir bool
Diffstat (limited to 'src/mscp.c')
-rw-r--r--src/mscp.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/mscp.c b/src/mscp.c
index 59eb246..7c39d73 100644
--- a/src/mscp.c
+++ b/src/mscp.c
@@ -289,12 +289,14 @@ int mscp_set_dst_path(struct mscp *m, const char *dst_path)
int mscp_prepare(struct mscp *m)
{
sftp_session src_sftp = NULL, dst_sftp = NULL;
- bool src_path_is_dir, dst_path_is_dir, dst_path_should_dir = false;
+ bool src_path_is_dir, dst_path_is_dir, dst_path_should_dir;
struct list_head tmp;
struct path *p;
struct src *s;
mstat ss, ds;
+ src_path_is_dir = dst_path_is_dir = dst_path_should_dir = false;
+
switch (m->opts->direction) {
case MSCP_DIRECTION_L2R:
src_sftp = NULL;
@@ -316,8 +318,7 @@ int mscp_prepare(struct mscp *m)
if (mstat_is_dir(ds))
dst_path_is_dir = true;
mscp_stat_free(ds);
- } else
- dst_path_is_dir = false;
+ }
/* walk a src_path recusively, and resolve path->dst_path for each src */
list_for_each_entry(s, &m->src_list, list) {
@@ -438,6 +439,9 @@ int mscp_join(struct mscp *m)
if (m->threads) {
for (n = 0; n < m->opts->nr_threads; n++) {
struct mscp_thread *t = &m->threads[n];
+ if (t->ret != 0)
+ ret = ret;
+
if (t->sftp) {
ssh_sftp_close(t->sftp);
t->sftp = NULL;