X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/83a8ca7b14483826c85f7cc0e0e38ed9ce387d83..1df02d13d304ea5a35ecc81b26a5419904aacd95:/generator.c diff --git a/generator.c b/generator.c index b209812d..1ac09553 100644 --- a/generator.c +++ b/generator.c @@ -97,7 +97,7 @@ extern char *backup_dir; extern char *backup_suffix; extern int backup_suffix_len; extern struct file_list *cur_flist, *first_flist, *dir_flist; -extern struct filter_list_struct server_filter_list; +extern struct filter_list_struct daemon_filter_list; int ignore_perishable = 0; int non_perishable_cnt = 0; @@ -1268,19 +1268,21 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx, return; } - if (skip_dir && is_below(file, skip_dir)) { - if (is_dir) - file->flags |= FLAG_MISSING_DIR; + if (skip_dir) { + if (is_below(file, skip_dir)) { + if (is_dir) + file->flags |= FLAG_MISSING_DIR; #ifdef SUPPORT_HARD_LINKS - else if (F_IS_HLINKED(file)) - handle_skipped_hlink(file, itemizing, code, f_out); + else if (F_IS_HLINKED(file)) + handle_skipped_hlink(file, itemizing, code, f_out); #endif - return; - } else + return; + } skip_dir = NULL; + } - if (server_filter_list.head) { - if (check_filter(&server_filter_list, fname, is_dir) < 0) { + if (daemon_filter_list.head) { + if (check_filter(&daemon_filter_list, FLOG, fname, is_dir) < 0) { if (is_dir < 0) return; #ifdef SUPPORT_HARD_LINKS @@ -1312,8 +1314,8 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx, statret = -1; stat_errno = ENOENT; } else { - dry_missing_dir = NULL; const char *dn = file->dirname ? file->dirname : "."; + dry_missing_dir = NULL; if (parent_dirname != dn && strcmp(parent_dirname, dn) != 0) { if (relative_paths && !implied_dirs && do_stat(dn, &sx.st) < 0) { @@ -1409,7 +1411,8 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx, statret = -1; } if (dry_run && statret != 0) { - dry_missing_dir = file; + if (!dry_missing_dir) + dry_missing_dir = file; file->flags |= FLAG_MISSING_DIR; } real_ret = statret;