Simplified the last change a bit.
[rsync/rsync.git] / flist.c
diff --git a/flist.c b/flist.c
index c342539..5526e20 100644 (file)
--- a/flist.c
+++ b/flist.c
@@ -1524,9 +1524,8 @@ static void clean_flist(struct file_list *flist, int strip_root, int no_dups)
                        }
                        /* Make sure that if we unduplicate '.', that we don't
                         * lose track of a user-specified top directory. */
-                       j = flist->files[drop]->flags & (FLAG_TOP_DIR|FLAG_DEL_HERE);
-                       if (j)
-                               flist->files[keep]->flags |= j;
+                       flist->files[keep]->flags |= flist->files[drop]->flags
+                                                  & (FLAG_TOP_DIR|FLAG_DEL_HERE);
 
                        clear_file(drop, flist);