X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/a8e6e1486960fe2e9ac190ad53e9830f0f3f900a..0d5ebab1d6df5169c5834c02c978fd5bb67421ca:/flist.c diff --git a/flist.c b/flist.c index 2af7e88b..7208efa4 100644 --- a/flist.c +++ b/flist.c @@ -79,8 +79,8 @@ extern char curr_dir[MAXPATHLEN]; extern struct chmod_mode_struct *chmod_modes; -extern struct filter_list_struct filter_list; -extern struct filter_list_struct daemon_filter_list; +extern filter_rule_list filter_list; +extern filter_rule_list daemon_filter_list; #ifdef ICONV_OPTION extern int filesfrom_convert; @@ -1476,6 +1476,7 @@ static struct file_struct *send_file_name(int f, struct file_list *flist, #endif #ifdef SUPPORT_XATTRS if (preserve_xattrs) { + sx.st.st_mode = file->mode; if (get_xattr(fname, &sx) < 0) { io_error |= IOERR_GENERAL; return NULL; @@ -1743,7 +1744,7 @@ static void send_implied_dirs(int f, struct file_list *flist, char *fname, item_list *relname_list; relnamecache **rnpp; int len, need_new_dir, depth = 0; - struct filter_list_struct save_filter_list = filter_list; + filter_rule_list save_filter_list = filter_list; flags = (flags | FLAG_IMPLIED_DIR) & ~(FLAG_TOP_DIR | FLAG_CONTENT_DIR); filter_list.head = filter_list.tail = NULL; /* Don't filter implied dirs. */