If the user specified --relative and a source dir with a trailing
authorWayne Davison <wayned@samba.org>
Wed, 27 Apr 2005 22:56:47 +0000 (22:56 +0000)
committerWayne Davison <wayned@samba.org>
Wed, 27 Apr 2005 22:56:47 +0000 (22:56 +0000)
slash, make sure we strip of the trailing "/." from the dir's len
(in del_hier_name_len) so that its subdirs get marked with
FLAG_DEL_HERE.

flist.c

diff --git a/flist.c b/flist.c
index fcfde84043591dc037a88fa1606130fc9a609188..29d75cab5d27c4f1e4ac5e675836632b6294c001 100644 (file)
--- a/flist.c
+++ b/flist.c
@@ -655,6 +655,9 @@ static struct file_struct *receive_file_entry(struct file_list *flist,
                if (flags & XMIT_TOP_DIR) {
                        in_del_hier = 1;
                        del_hier_name_len = file->dir.depth == 0 ? 0 : l1 + l2;
+                       if (relative_paths && del_hier_name_len > 2
+                           && basename_len == 1+1 && *basename == '.')
+                               del_hier_name_len -= 2;
                        file->flags |= FLAG_TOP_DIR | FLAG_DEL_HERE;
                } else if (in_del_hier) {
                        if (!relative_paths || !del_hier_name_len