Clumped some option-sending together that only happens on the sending side.
authorWayne Davison <wayned@samba.org>
Sat, 5 May 2007 18:34:37 +0000 (18:34 +0000)
committerWayne Davison <wayned@samba.org>
Sat, 5 May 2007 18:34:37 +0000 (18:34 +0000)
options.c

index 084f5c3..57c4446 100644 (file)
--- a/options.c
+++ b/options.c
@@ -1856,35 +1856,37 @@ void server_options(char **args,int *argc)
        if (numeric_ids)
                args[ac++] = "--numeric-ids";
 
-       if (ignore_existing && am_sender)
-               args[ac++] = "--ignore-existing";
+       if (am_sender) {
+               if (ignore_existing)
+                       args[ac++] = "--ignore-existing";
+
+               /* Backward compatibility: send --existing, not --ignore-non-existing. */
+               if (ignore_non_existing)
+                       args[ac++] = "--existing";
 
-       /* Backward compatibility: send --existing, not --ignore-non-existing. */
-       if (ignore_non_existing && am_sender)
-               args[ac++] = "--existing";
+               if (tmpdir) {
+                       args[ac++] = "--temp-dir";
+                       args[ac++] = tmpdir;
+               }
+
+               if (basis_dir[0]) {
+                       /* the server only needs this option if it is not the sender,
+                        *   and it may be an older version that doesn't know this
+                        *   option, so don't send it if client is the sender.
+                        */
+                       int i;
+                       for (i = 0; i < basis_dir_cnt; i++) {
+                               args[ac++] = dest_option;
+                               args[ac++] = basis_dir[i];
+                       }
+               }
+       }
 
        if (append_mode)
                args[ac++] = "--append";
        else if (inplace)
                args[ac++] = "--inplace";
 
-       if (tmpdir && am_sender) {
-               args[ac++] = "--temp-dir";
-               args[ac++] = tmpdir;
-       }
-
-       if (basis_dir[0] && am_sender) {
-               /* the server only needs this option if it is not the sender,
-                *   and it may be an older version that doesn't know this
-                *   option, so don't send it if client is the sender.
-                */
-               int i;
-               for (i = 0; i < basis_dir_cnt; i++) {
-                       args[ac++] = dest_option;
-                       args[ac++] = basis_dir[i];
-               }
-       }
-
        if (files_from && (!am_sender || filesfrom_host)) {
                if (filesfrom_host) {
                        args[ac++] = "--files-from";