Some new defines for incremental-recursion mode.
[rsync/rsync.git] / compat.c
index b22c983..16a0264 100644 (file)
--- a/compat.c
+++ b/compat.c
@@ -23,6 +23,7 @@
 #include "rsync.h"
 
 int remote_protocol = 0;
+int file_extra_cnt = 0; /* count of file-list extras that everyone gets */
 
 extern int verbose;
 extern int am_server;
@@ -35,10 +36,21 @@ extern int checksum_seed;
 extern int basis_dir_cnt;
 extern int prune_empty_dirs;
 extern int protocol_version;
+extern int preserve_uid;
+extern int preserve_gid;
 extern char *dest_option;
 
 void setup_protocol(int f_out,int f_in)
 {
+       if (am_sender)
+               file_extra_cnt += PTR_EXTRA_LEN;
+       else
+               file_extra_cnt++;
+       if (preserve_uid)
+               preserve_uid = ++file_extra_cnt;
+       if (preserve_gid)
+               preserve_gid = ++file_extra_cnt;
+
        if (remote_protocol == 0) {
                if (!read_batch)
                        write_int(f_out, protocol_version);