Change filter MATCHFLGs to FILTRULEs.
[rsync/rsync.git] / compat.c
index 212f927..787e289 100644 (file)
--- a/compat.c
+++ b/compat.c
@@ -3,7 +3,7 @@
  *
  * Copyright (C) Andrew Tridgell 1996
  * Copyright (C) Paul Mackerras 1996
- * Copyright (C) 2004-2008 Wayne Davison
+ * Copyright (C) 2004-2009 Wayne Davison
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -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_rule(&filter_list, partial_dir, rflags, 0);
        }