Implemented the -xx behavior that skips mount-point dirs.
authorWayne Davison <wayned@samba.org>
Sat, 21 Jan 2006 01:20:03 +0000 (01:20 +0000)
committerWayne Davison <wayned@samba.org>
Sat, 21 Jan 2006 01:20:03 +0000 (01:20 +0000)
flist.c

diff --git a/flist.c b/flist.c
index 18105d1..9654bd7 100644 (file)
--- a/flist.c
+++ b/flist.c
@@ -806,8 +806,11 @@ struct file_struct *make_file(char *fname, struct file_list *flist,
         * into a mount-point directory, not to avoid copying a symlinked
         * file if -L (or similar) was specified. */
        if (one_file_system && st.st_dev != filesystem_dev
         * into a mount-point directory, not to avoid copying a symlinked
         * file if -L (or similar) was specified. */
        if (one_file_system && st.st_dev != filesystem_dev
-           && S_ISDIR(st.st_mode))
+           && S_ISDIR(st.st_mode)) {
+               if (one_file_system > 1)
+                       return NULL;
                flags |= FLAG_MOUNT_POINT;
                flags |= FLAG_MOUNT_POINT;
+       }
 
        if (is_excluded(thisname, S_ISDIR(st.st_mode) != 0, filter_level))
                return NULL;
 
        if (is_excluded(thisname, S_ISDIR(st.st_mode) != 0, filter_level))
                return NULL;