From: Wayne Davison Date: Fri, 11 Feb 2005 09:58:31 +0000 (+0000) Subject: Have partial_dir_fname() also check if the dir is excluded X-Git-Tag: v2.6.4pre1~197 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5aa7b20a3e89d5b4d4095f669dc608d0317044ee;p=thirdparty%2Frsync.git Have partial_dir_fname() also check if the dir is excluded by the server, not just the partial file. --- diff --git a/util.c b/util.c index 9bda946b..141342cf 100644 --- a/util.c +++ b/util.c @@ -969,9 +969,17 @@ char *partial_dir_fname(const char *fname) fn = fname; if ((int)pathjoin(t, sz, partial_dir, fn) >= sz) return NULL; - if (server_filter_list.head - && check_filter(&server_filter_list, partial_fname, 0) < 0) - return NULL; + if (server_filter_list.head) { + static int len; + if (!len) + len = strlen(partial_dir); + t[len] = '\0'; + if (check_filter(&server_filter_list, partial_fname, 1) < 0) + return NULL; + t[len] = '/'; + if (check_filter(&server_filter_list, partial_fname, 0) < 0) + return NULL; + } return partial_fname; }