Use upper-case HLINK in a --debug setting to avoid a really weird bug
[rsync/rsync.git] / receiver.c
index ee8e015..d6481eb 100644 (file)
@@ -147,7 +147,7 @@ int open_tmpfile(char *fnametmp, const char *fname, struct file_struct *file)
         * information should have been previously transferred, but that may
         * not be the case with -R */
        if (fd == -1 && relative_paths && errno == ENOENT
-           && create_directory_path(fnametmp) == 0) {
+        && make_path(fnametmp, MKP_SKIP_SLASH | MKP_DROP_NAME) == 0) {
                /* Get back to name with XXXXXX in it. */
                get_tmpname(fnametmp, fname);
                fd = do_mkstemp(fnametmp, file->mode & INITACCESSPERMS);
@@ -491,14 +491,14 @@ int recv_files(int f_in, char *local_name)
                        rprintf(FINFO, "recv_files(%s)\n", fname);
 
 #ifdef SUPPORT_XATTRS
-               if (iflags & ITEM_REPORT_XATTR && !dry_run)
+               if (iflags & ITEM_REPORT_XATTR && do_xfers)
                        recv_xattr_request(file, f_in);
 #endif
 
                if (!(iflags & ITEM_TRANSFER)) {
                        maybe_log_item(file, iflags, itemizing, xname);
 #ifdef SUPPORT_XATTRS
-                       if (preserve_xattrs && iflags & ITEM_REPORT_XATTR && !dry_run)
+                       if (preserve_xattrs && iflags & ITEM_REPORT_XATTR && do_xfers)
                                set_file_attrs(fname, file, NULL, fname, 0);
 #endif
                        if (iflags & ITEM_IS_NEW) {