aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--compat.c10
-rw-r--r--options.c6
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);