- Handle the new incremental-recursion mode.
[rsync/rsync.git] / main.c
diff --git a/main.c b/main.c
index 24c7544..76692e1 100644 (file)
--- a/main.c
+++ b/main.c
@@ -68,6 +68,7 @@ extern char *basis_dir[];
 extern char *rsync_path;
 extern char *shell_cmd;
 extern char *batch_name;
+extern char *password_file;
 extern char curr_dir[MAXPATHLEN];
 extern struct filter_list_struct server_filter_list;
 
@@ -699,7 +700,7 @@ static int do_recv(int f_in,int f_out,struct file_list *flist,char *local_name)
 
 #ifdef SUPPORT_HARD_LINKS
        if (preserve_hard_links)
-               init_hard_links();
+               match_hard_links();
 #endif
 
        if (fd_pair(error_pipe) < 0) {
@@ -1130,6 +1131,12 @@ static int start_client(int argc, char *argv[])
                }
        }
 
+       if (password_file && !daemon_over_rsh) {
+               rprintf(FERROR, "The --password-file option may only be "
+                               "used when accessing an rsync daemon.\n");
+               exit_cleanup(RERR_SYNTAX);
+       }
+
        if (shell_machine) {
                p = strrchr(shell_machine,'@');
                if (p) {
@@ -1360,6 +1367,9 @@ int main(int argc,char *argv[])
                }
                if (read_batch)
                        read_stream_flags(batch_fd);
+               else
+                       write_stream_flags(batch_fd);
+
        }
        if (write_batch < 0)
                dry_run = 1;