diff options
Diffstat (limited to 'flist.c')
-rw-r--r-- | flist.c | 11 |
1 files changed, 7 insertions, 4 deletions
@@ -211,6 +211,8 @@ int link_stat(const char *path, STRUCT_STAT * buffer) */ static int check_exclude_file(char *fname, int is_dir, int exclude_level) { + int rc; + #if 0 /* This currently never happens, so avoid a useless compare. */ if (exclude_level == NO_EXCLUDES) return 0; @@ -227,14 +229,15 @@ static int check_exclude_file(char *fname, int is_dir, int exclude_level) } } if (server_exclude_list.head - && check_exclude(&server_exclude_list, fname, is_dir)) + && check_exclude(&server_exclude_list, fname, is_dir) < 0) return 1; if (exclude_level != ALL_EXCLUDES) return 0; - if (exclude_list.head && check_exclude(&exclude_list, fname, is_dir)) - return 1; + if (exclude_list.head + && (rc = check_exclude(&exclude_list, fname, is_dir)) != 0) + return rc < 0; if (local_exclude_list.head - && check_exclude(&local_exclude_list, fname, is_dir)) + && check_exclude(&local_exclude_list, fname, is_dir) < 0) return 1; return 0; } |