A couple am_sender checks (one negated) were not needed.
[rsync/rsync.git] / main.c
diff --git a/main.c b/main.c
index a94dfe8..085e578 100644 (file)
--- a/main.c
+++ b/main.c
@@ -392,7 +392,7 @@ static void do_server_sender(int f_in, int f_out, int argc,char *argv[])
                        (long)getpid());
        }
 
-       if (am_daemon && lp_write_only(module_id) && am_sender) {
+       if (am_daemon && lp_write_only(module_id)) {
                rprintf(FERROR, "ERROR: module is write only\n");
                exit_cleanup(RERR_SYNTAX);
                return;
@@ -425,8 +425,9 @@ static void do_server_sender(int f_in, int f_out, int argc,char *argv[])
                exit_cleanup(0);
        }
 
-       io_start_buffering_in(f_in);
-       io_start_buffering_out(f_out);
+       io_start_buffering_in();
+       io_start_buffering_out();
+
        send_files(flist,f_out,f_in);
        io_flush(FULL_FLUSH);
        report(f_out);
@@ -494,7 +495,7 @@ static int do_recv(int f_in,int f_out,struct file_list *flist,char *local_name)
        if (f_in != f_out)
                close(f_in);
 
-       io_start_buffering_out(f_out);
+       io_start_buffering_out();
 
        set_msg_fd_in(error_pipe[0]);
 
@@ -528,7 +529,7 @@ static void do_server_recv(int f_in, int f_out, int argc,char *argv[])
                        argc, (long)getpid());
        }
 
-       if (am_daemon && lp_read_only(module_id) && !am_sender) {
+       if (am_daemon && lp_read_only(module_id)) {
                rprintf(FERROR,"ERROR: module is read only\n");
                exit_cleanup(RERR_SYNTAX);
                return;
@@ -546,7 +547,7 @@ static void do_server_recv(int f_in, int f_out, int argc,char *argv[])
                }
        }
 
-       io_start_buffering_in(f_in);
+       io_start_buffering_in();
        if (delete_mode && !delete_excluded)
                recv_exclude_list(f_in);
 
@@ -588,13 +589,14 @@ int child_main(int argc, char *argv[])
 
 void start_server(int f_in, int f_out, int argc, char *argv[])
 {
-       setup_protocol(f_out, f_in);
-
        set_nonblocking(f_in);
        set_nonblocking(f_out);
 
+       io_set_sock_fds(f_in, f_out);
+       setup_protocol(f_out, f_in);
+
        if (protocol_version >= 23)
-               io_start_multiplex_out(f_out);
+               io_start_multiplex_out();
 
        if (am_sender) {
                keep_dirlinks = 0; /* Must be disabled on the sender. */
@@ -635,14 +637,15 @@ int client_run(int f_in, int f_out, pid_t pid, int argc, char *argv[])
                set_nonblocking(f_out);
        }
 
+       io_set_sock_fds(f_in, f_out);
        setup_protocol(f_out,f_in);
 
        if (protocol_version >= 23 && !read_batch)
-               io_start_multiplex_in(f_in);
+               io_start_multiplex_in();
 
        if (am_sender) {
                keep_dirlinks = 0; /* Must be disabled on the sender. */
-               io_start_buffering_out(f_out);
+               io_start_buffering_out();
                if (cvs_exclude)
                        add_cvs_excludes();
                if (delete_mode && !delete_excluded)
@@ -1017,11 +1020,8 @@ static RETSIGTYPE rsync_panic_handler(UNUSED(int whatsig))
 int main(int argc,char *argv[])
 {
        int ret;
-       int orig_argc;
-       char **orig_argv;
-
-       orig_argc = argc;
-       orig_argv = argv;
+       int orig_argc = argc;
+       char **orig_argv = argv;
 
        signal(SIGUSR1, sigusr1_handler);
        signal(SIGUSR2, sigusr2_handler);
@@ -1072,7 +1072,7 @@ int main(int argc,char *argv[])
 
        if (write_batch || read_batch) {
                if (write_batch)
-                       write_batch_argvs_file(orig_argc, orig_argv);
+                       write_batch_shell_file(orig_argc, orig_argv, argc);
 
                if (read_batch && strcmp(batch_name, "-") == 0)
                        batch_fd = STDIN_FILENO;