Avoid the prune-empty-dir code when cleaning a file list created
authorWayne Davison <wayned@samba.org>
Sat, 7 Jul 2007 20:43:14 +0000 (20:43 +0000)
committerWayne Davison <wayned@samba.org>
Sat, 7 Jul 2007 20:43:14 +0000 (20:43 +0000)
by get_dirlist().

flist.c

diff --git a/flist.c b/flist.c
index bac097b..e2f329b 100644 (file)
--- a/flist.c
+++ b/flist.c
@@ -2615,6 +2615,7 @@ struct file_list *get_dirlist(char *dirname, int dlen, int ignore_filter_rules)
        char dirbuf[MAXPATHLEN];
        int save_recurse = recurse;
        int save_xfer_dirs = xfer_dirs;
        char dirbuf[MAXPATHLEN];
        int save_recurse = recurse;
        int save_xfer_dirs = xfer_dirs;
+       int save_prune_empty_dirs = prune_empty_dirs;
 
        if (dlen < 0) {
                dlen = strlcpy(dirbuf, dirname, MAXPATHLEN);
 
        if (dlen < 0) {
                dlen = strlcpy(dirbuf, dirname, MAXPATHLEN);
@@ -2633,8 +2634,10 @@ struct file_list *get_dirlist(char *dirname, int dlen, int ignore_filter_rules)
        if (do_progress)
                flist_count_offset += dirlist->used;
 
        if (do_progress)
                flist_count_offset += dirlist->used;
 
+       prune_empty_dirs = 0;
        dirlist->sorted = dirlist->files;
        clean_flist(dirlist, 0);
        dirlist->sorted = dirlist->files;
        clean_flist(dirlist, 0);
+       prune_empty_dirs = save_prune_empty_dirs;
 
        if (verbose > 3)
                output_flist(dirlist);
 
        if (verbose > 3)
                output_flist(dirlist);