Some improvements to the solaris xattr routines.
[rsync/rsync.git] / compat.c
index 6e00072..10add12 100644 (file)
--- a/compat.c
+++ b/compat.c
@@ -52,7 +52,7 @@ extern char *partial_dir;
 extern char *dest_option;
 extern char *files_from;
 extern char *filesfrom_host;
-extern struct filter_list_struct filter_list;
+extern filter_rule_list filter_list;
 extern int need_unsorted_flist;
 #ifdef ICONV_OPTION
 extern iconv_t ic_send, ic_recv;
@@ -270,7 +270,7 @@ void setup_protocol(int f_out,int f_in)
 #endif
 #ifdef ICONV_OPTION
                sender_symlink_iconv = iconv_opt && (am_server
-                   ? strchr(client_info, 's') != NULL
+                   ? local_server || strchr(client_info, 's') != NULL
                    : !!(compat_flags & CF_SYMLINK_ICONV));
 #endif
                if (inc_recurse && !allow_inc_recurse) {
@@ -291,10 +291,10 @@ void setup_protocol(int f_out,int f_in)
                unsort_ndx = ++file_extra_cnt;
 
        if (partial_dir && *partial_dir != '/' && (!am_server || local_server)) {
-               int flags = MATCHFLG_NO_PREFIXES | MATCHFLG_DIRECTORY;
+               int rflags = FILTRULE_NO_PREFIXES | FILTRULE_DIRECTORY;
                if (!am_sender || protocol_version >= 30)
-                       flags |= MATCHFLG_PERISHABLE;
-               parse_rule(&filter_list, partial_dir, flags, 0);
+                       rflags |= FILTRULE_PERISHABLE;
+               parse_filter_str(&filter_list, partial_dir, rule_template(rflags), 0);
        }