From 6eee13cf580ef3270539098eead19259192aa497 Mon Sep 17 00:00:00 2001 From: Wayne Davison Date: Sun, 17 Dec 2006 00:40:21 +0000 Subject: [PATCH] Moved the flist_extra_cnt stuff from options.c to compat.c so that the values will be computed separately for the sender and the receiver. --- compat.c | 10 ++++++++++ options.c | 6 ------ 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/compat.c b/compat.c index b22c983b..b090c2ad 100644 --- a/compat.c +++ b/compat.c @@ -23,6 +23,7 @@ #include "rsync.h" int remote_protocol = 0; +int flist_extra_cnt = 0; /* count of file-list extras that everyone gets */ extern int verbose; extern int am_server; @@ -39,6 +40,15 @@ extern char *dest_option; void setup_protocol(int f_out,int f_in) { + if (am_sender) + flist_extra_cnt += PTR_EXTRA_LEN; + else + flist_extra_cnt++; + if (preserve_uid) + preserve_uid = ++flist_extra_cnt; + if (preserve_gid) + preserve_gid = ++flist_extra_cnt; + if (remote_protocol == 0) { if (!read_batch) write_int(f_out, protocol_version); diff --git a/options.c b/options.c index 304704b0..0abf6ced 100644 --- a/options.c +++ b/options.c @@ -116,7 +116,6 @@ int checksum_seed = 0; int inplace = 0; int delay_updates = 0; long block_size = 0; /* "long" because popt can't set an int32. */ -int flist_extra_cnt = 0; /* count of file-list extras that everyone gets */ /** Network address family. **/ #ifdef INET6 @@ -1219,11 +1218,6 @@ int parse_arguments(int *argc, const char ***argv, int frommain) need_messages_from_generator = 1; } - if (preserve_uid) - preserve_uid = ++flist_extra_cnt; - if (preserve_gid) - preserve_gid = ++flist_extra_cnt; - *argv = poptGetArgs(pc); *argc = count_args(*argv); -- 2.34.1