- If send_file_name() gets f set to -2, it skips the local filter rules.
[rsync/rsync.git] / main.c
diff --git a/main.c b/main.c
index fc48c01..fc67eae 100644 (file)
--- a/main.c
+++ b/main.c
@@ -44,6 +44,7 @@ extern int keep_dirlinks;
 extern int preserve_hard_links;
 extern int protocol_version;
 extern int recurse;
+extern int fuzzy_basis;
 extern int relative_paths;
 extern int rsync_port;
 extern int whole_file;
@@ -222,7 +223,7 @@ static void report(int f)
  **/
 static void show_malloc_stats(void)
 {
-#if HAVE_MALLINFO
+#ifdef HAVE_MALLINFO
        struct mallinfo mi;
 
        mi = mallinfo();
@@ -292,7 +293,7 @@ static pid_t do_cmd(char *cmd, char *machine, char *user, char *path,
                                dash_l_set = 1;
                }
 
-#if HAVE_REMSH
+#ifdef HAVE_REMSH
                /* remsh (on HPUX) takes the arguments the other way around */
                args[argc++] = machine;
                if (user && !(daemon_over_rsh && dash_l_set)) {
@@ -488,7 +489,8 @@ static int do_recv(int f_in,int f_out,struct file_list *flist,char *local_name)
        int pid;
        int status = 0;
        int error_pipe[2], name_pipe[2];
-       BOOL need_name_pipe = (basis_dir[0] || partial_dir) && !dry_run;
+       BOOL need_name_pipe = (basis_dir[0] || partial_dir || fuzzy_basis)
+                           && !dry_run;
 
        /* The receiving side mustn't obey this, or an existing symlink that
         * points to an identical file won't be replaced by the referent. */