- Typical tranfers now save 12-20 bytes per file because several vars
[rsync/rsync.git] / options.c
index 3c5ecb5..9c1013d 100644 (file)
--- a/options.c
+++ b/options.c
@@ -116,7 +116,7 @@ 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_ndx = 1; /* index of optional file-list items */
 
 /** Network address family. **/
 #ifdef INET6
@@ -1219,6 +1219,11 @@ int parse_arguments(int *argc, const char ***argv, int frommain)
                need_messages_from_generator = 1;
        }
 
+       if (preserve_uid)
+               preserve_uid = flist_extra_ndx++;
+       if (preserve_gid)
+               preserve_gid = flist_extra_ndx++;
+
        *argv = poptGetArgs(pc);
        *argc = count_args(*argv);