Moved the checks for --ignore-existing and --update higher in
authorWayne Davison <wayned@samba.org>
Thu, 3 Mar 2005 01:33:51 +0000 (01:33 +0000)
committerWayne Davison <wayned@samba.org>
Thu, 3 Mar 2005 01:33:51 +0000 (01:33 +0000)
recv_generator() so that they don't trigger erroneously when
--link-dest is specified.

generator.c

index f00b688..44a7b93 100644 (file)
@@ -801,6 +801,19 @@ static void recv_generator(char *fname, struct file_list *flist,
                return;
        }
 
                return;
        }
 
+       if (opt_ignore_existing && statret == 0) {
+               if (verbose > 1)
+                       rprintf(FINFO, "%s exists\n", safe_fname(fname));
+               return;
+       }
+
+       if (update_only && statret == 0
+           && cmp_modtime(st.st_mtime, file->modtime) > 0) {
+               if (verbose > 1)
+                       rprintf(FINFO, "%s is newer\n", safe_fname(fname));
+               return;
+       }
+
        fnamecmp = fname;
        fnamecmp_type = FNAMECMP_FNAME;
 
        fnamecmp = fname;
        fnamecmp_type = FNAMECMP_FNAME;
 
@@ -910,19 +923,6 @@ static void recv_generator(char *fname, struct file_list *flist,
                return;
        }
 
                return;
        }
 
-       if (opt_ignore_existing && fnamecmp_type == FNAMECMP_FNAME) {
-               if (verbose > 1)
-                       rprintf(FINFO, "%s exists\n", safe_fname(fname));
-               return;
-       }
-
-       if (update_only && fnamecmp_type == FNAMECMP_FNAME
-           && cmp_modtime(st.st_mtime, file->modtime) > 0) {
-               if (verbose > 1)
-                       rprintf(FINFO, "%s is newer\n", safe_fname(fname));
-               return;
-       }
-
        if (!compare_dest && fnamecmp_type <= FNAMECMP_BASIS_DIR_HIGH)
                ;
        else if (fnamecmp_type == FNAMECMP_FUZZY)
        if (!compare_dest && fnamecmp_type <= FNAMECMP_BASIS_DIR_HIGH)
                ;
        else if (fnamecmp_type == FNAMECMP_FUZZY)