In delete_in_dir(), skip a directory that isn't really a directory on
authorWayne Davison <wayned@samba.org>
Thu, 19 Jan 2006 18:53:48 +0000 (18:53 +0000)
committerWayne Davison <wayned@samba.org>
Thu, 19 Jan 2006 18:53:48 +0000 (18:53 +0000)
the local disk (can easily happen if --dry-run was specified).

generator.c

index a4b9b0d..afa56a2 100644 (file)
@@ -261,7 +261,7 @@ static void delete_in_dir(struct file_list *flist, char *fbuf,
        dlen = strlen(fbuf);
        filt_array[cur_depth] = push_local_filters(fbuf, dlen);
 
-       if (link_stat(fbuf, &st, keep_dirlinks) < 0)
+       if (link_stat(fbuf, &st, keep_dirlinks) < 0 || !S_ISDIR(st.st_mode))
                return;
 
        if (one_file_system) {