diff options
| author | Wayne Davison <wayned@samba.org> | 2005-02-11 09:58:31 +0000 |
|---|---|---|
| committer | Wayne Davison <wayned@samba.org> | 2005-02-11 09:58:31 +0000 |
| commit | 5aa7b20a3e89d5b4d4095f669dc608d0317044ee (patch) | |
| tree | 67a462abe287a3699a1c3fa32feda9b729e825ce /util.c | |
| parent | 68795c640bf18ad27bfac0947a5871debc38c9f4 (diff) | |
| download | android_external_rsync-5aa7b20a3e89d5b4d4095f669dc608d0317044ee.tar.gz android_external_rsync-5aa7b20a3e89d5b4d4095f669dc608d0317044ee.tar.bz2 android_external_rsync-5aa7b20a3e89d5b4d4095f669dc608d0317044ee.zip | |
Have partial_dir_fname() also check if the dir is excluded
by the server, not just the partial file.
Diffstat (limited to 'util.c')
| -rw-r--r-- | util.c | 14 |
1 files changed, 11 insertions, 3 deletions
@@ -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; } |
