summaryrefslogtreecommitdiff
path: root/flist.c
diff options
context:
space:
mode:
authorWayne Davison <wayned@samba.org>2008-08-01 19:03:59 -0700
committerWayne Davison <wayned@samba.org>2008-08-01 19:03:59 -0700
commit902ee53ea44f661414202ccce775e846f514a2bd (patch)
treebfcd640f4c53b293b0e857234dadccd5af8bc18f /flist.c
parentc9f540f37d594bb9ae46066e471644c5309c6664 (diff)
downloadrsync-902ee53ea44f661414202ccce775e846f514a2bd.tar.gz
Fixed a problem with checking for the '.' dir in the first file
list that is transferred. This fixes a glitch where a failed --iconv conversion on the receiving side could prevent deletions from happening in the root-dir of the transfer.
Diffstat (limited to 'flist.c')
-rw-r--r--flist.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/flist.c b/flist.c
index fe6d0b91..c1898247 100644
--- a/flist.c
+++ b/flist.c
@@ -2193,7 +2193,7 @@ struct file_list *send_file_list(int f, int argc, char *argv[])
if (inc_recurse) {
send_dir_depth = 1;
add_dirs_to_tree(-1, flist, dir_count);
- if (!file_total || strcmp(flist->sorted[0]->basename, ".") != 0)
+ if (!file_total || strcmp(flist->sorted[flist->low]->basename, ".") != 0)
flist->parent_ndx = -1;
flist_done_allocating(flist);
if (send_dir_ndx < 0) {
@@ -2318,7 +2318,7 @@ struct file_list *recv_file_list(int f)
else
io_error |= read_int(f);
} else if (inc_recurse && flist->ndx_start == 1) {
- if (!file_total || strcmp(flist->sorted[0]->basename, ".") != 0)
+ if (!file_total || strcmp(flist->sorted[flist->low]->basename, ".") != 0)
flist->parent_ndx = -1;
}