aboutsummaryrefslogtreecommitdiffstats
path: root/main.c
diff options
context:
space:
mode:
authorWayne Davison <wayned@samba.org>2005-04-09 18:59:49 +0000
committerWayne Davison <wayned@samba.org>2005-04-09 18:59:49 +0000
commite8a96e275edbec0b69eba596a410ba011ec0ffec (patch)
treebc6fcf34c5c31e51f337f7778279ee3e6c22a2a4 /main.c
parent11e758a4303b5ead815c7a0f2a4843e981102287 (diff)
downloadandroid_external_rsync-e8a96e275edbec0b69eba596a410ba011ec0ffec.tar.gz
android_external_rsync-e8a96e275edbec0b69eba596a410ba011ec0ffec.tar.bz2
android_external_rsync-e8a96e275edbec0b69eba596a410ba011ec0ffec.zip
- Only do read-/write-batch processing if we're not the server (needed
now that write_batch is no longer forced to 0 for the server). - If write_batch is < 0, force "dry_run = 1" (but only after we've finished any appropriate write-batch file creation).
Diffstat (limited to 'main.c')
-rw-r--r--main.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/main.c b/main.c
index 0c5fc57d..42f4a6f9 100644
--- a/main.c
+++ b/main.c
@@ -173,7 +173,7 @@ static void handle_stats(int f)
stats.flist_buildtime = read_longint(f);
stats.flist_xfertime = read_longint(f);
}
- } else if (write_batch) {
+ } else if (write_batch && !am_server) {
/* The --read-batch process is going to be a client
* receiver, so we need to give it the stats. */
write_longint(batch_fd, total_read);
@@ -594,7 +594,7 @@ static int do_recv(int f_in,int f_out,struct file_list *flist,char *local_name)
am_generator = 1;
close_multiplexing_in();
- if (write_batch)
+ if (write_batch && !am_server)
stop_write_batch();
close(error_pipe[1]);
@@ -767,7 +767,7 @@ int client_run(int f_in, int f_out, pid_t pid, int argc, char *argv[])
if (filesfrom_host)
filesfrom_fd = f_in;
- if (write_batch)
+ if (write_batch && !am_server)
start_write_batch(f_out);
flist = send_file_list(f_out, argc, argv);
set_msg_fd_in(-1);
@@ -805,7 +805,7 @@ int client_run(int f_in, int f_out, pid_t pid, int argc, char *argv[])
filesfrom_fd = -1;
}
- if (write_batch)
+ if (write_batch && !am_server)
start_write_batch(f_in);
flist = recv_file_list(f_in);
if (!flist || flist->count == 0) {
@@ -1130,7 +1130,7 @@ int main(int argc,char *argv[])
init_flist();
- if (write_batch || read_batch) {
+ if ((write_batch || read_batch) && !am_server) {
if (write_batch)
write_batch_shell_file(orig_argc, orig_argv, argc);
@@ -1149,6 +1149,8 @@ int main(int argc,char *argv[])
if (read_batch)
read_stream_flags(batch_fd);
}
+ if (write_batch < 0)
+ dry_run = 1;
if (am_daemon && !am_server)
return daemon_main();