if (inplace) {
if (verbose > 2)
rprintf(FINFO, "finishing %s\n", fname);
-@@ -305,3 +323,27 @@ const char *who_am_i(void)
+@@ -305,3 +323,21 @@ const char *who_am_i(void)
return am_server ? "server" : "client";
return am_sender ? "sender" : am_generator ? "generator" : "receiver";
}
+{
+#define NOCHANGEBITS (UF_IMMUTABLE | UF_APPEND | UF_NOUNLINK | SF_IMMUTABLE | SF_APPEND | SF_NOUNLINK)
+ STRUCT_STAT stb;
-+ int failed;
+
+ if (dry_run)
+ return;
+
+ /* XXX get rid of this extra stat() */
-+#ifdef SUPPORT_LINKS
-+ failed = do_lstat(fname, &stb);
-+#else
-+ failed = do_stat(fname, &stb);
-+#endif
-+ if (failed)
++ if (do_lstat(fname, &stb) < 0)
+ return;
+ if (stb.st_flags & NOCHANGEBITS)
+ do_chflags(fname, stb.st_flags & ~NOCHANGEBITS);