aboutsummaryrefslogtreecommitdiffstats
path: root/flist.c
diff options
context:
space:
mode:
authorWayne Davison <wayned@samba.org>2006-11-11 15:34:31 +0000
committerWayne Davison <wayned@samba.org>2006-11-11 15:34:31 +0000
commit60cc01a6c602fe95375a52f854d557fde8b4a232 (patch)
tree11b3419853c4d7b9bc4ee24764b5c787e1949d26 /flist.c
parentf5761a342b4d5c0bb1351fc01f3f513f87b248f4 (diff)
downloadandroid_external_rsync-60cc01a6c602fe95375a52f854d557fde8b4a232.tar.gz
android_external_rsync-60cc01a6c602fe95375a52f854d557fde8b4a232.tar.bz2
android_external_rsync-60cc01a6c602fe95375a52f854d557fde8b4a232.zip
When make_file() gets a stat() error on a file, the check-for-
exclusion-before-reporting-an-error code allows a dir-specific rule to match the unknown file, not just a non-dir rule.
Diffstat (limited to 'flist.c')
-rw-r--r--flist.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/flist.c b/flist.c
index 08a75b26..9a493af6 100644
--- a/flist.c
+++ b/flist.c
@@ -752,7 +752,8 @@ struct file_struct *make_file(char *fname, struct file_list *flist,
int save_errno = errno;
/* See if file is excluded before reporting an error. */
if (filter_level != NO_FILTERS
- && is_excluded(thisname, 0, filter_level))
+ && (is_excluded(thisname, 0, filter_level)
+ || is_excluded(thisname, 1, filter_level)))
return NULL;
if (save_errno == ENOENT) {
#ifdef SUPPORT_LINKS