statret = 0;
fnamecmp = fnamecmpbuf;
fnamecmp_type = FNAMECMP_FUZZY;
-@@ -1505,38 +1569,52 @@ static void recv_generator(char *fname,
+@@ -1505,36 +1569,41 @@ static void recv_generator(char *fname,
return;
}
do_unlink(partialptr);
handle_partial_dir(partialptr, PDIR_DELETE);
}
- if (itemizing) {
-- itemize(file, ndx, statret, &st,
+- if (itemizing)
+- itemize(file, ndx, statret, &st, 0, 0, NULL);
+- set_file_attrs(fname, file, &st, maybe_ATTRS_REPORT);
++ if (itemizing) {
+#ifdef SUPPORT_ACLS
+ if (preserve_acls && statret == 0)
+ get_acl(fnamecmp, &sx);
+#endif
-+ itemize(file, ndx, statret, &sx,
- 0, 0, NULL);
-+#ifdef SUPPORT_ACLS
-+ //if (preserve_acls) {
-+ //if (fnamecmp_type == FNAMECMP_FNAME) {
-+ //sx.acc_acl = real_sx.acc_acl;
-+ //sx.def_acl = real_sx.def_acl;
-+ //} else
-+ //free_acl(&real_sx);
-+ //}
-+ assert(fnamecmp_type == FNAMECMP_FNAME);
-+#endif
- }
-- set_file_attrs(fname, file, &st, maybe_ATTRS_REPORT);
++ itemize(file, ndx, statret, &sx, 0, 0, NULL);
++ }
+ set_file_attrs(fname, file, &sx, maybe_ATTRS_REPORT);
#ifdef SUPPORT_HARD_LINKS
if (preserve_hard_links && F_IS_HLINKED(file))
fnamecmp = partialptr;
fnamecmp_type = FNAMECMP_PARTIAL_DIR;
statret = 0;
-@@ -1561,16 +1639,20 @@ static void recv_generator(char *fname,
+@@ -1559,16 +1628,20 @@ static void recv_generator(char *fname,
/* pretend the file didn't exist */
#ifdef SUPPORT_HARD_LINKS
if (preserve_hard_links && F_NOT_HLINK_LAST(file))
}
if (!(back_file = make_file(fname, NULL, NULL, 0, NO_FILTERS))) {
close(fd);
-@@ -1581,7 +1663,7 @@ static void recv_generator(char *fname,
+@@ -1579,7 +1652,7 @@ static void recv_generator(char *fname,
full_fname(backupptr));
unmake_file(back_file);
close(fd);
}
if ((f_copy = do_open(backupptr,
O_WRONLY | O_CREAT | O_TRUNC | O_EXCL, 0600)) < 0) {
-@@ -1589,14 +1671,14 @@ static void recv_generator(char *fname,
+@@ -1587,14 +1660,14 @@ static void recv_generator(char *fname,
full_fname(backupptr));
unmake_file(back_file);
close(fd);
}
if (verbose > 2)
-@@ -1618,26 +1700,34 @@ static void recv_generator(char *fname,
+@@ -1616,26 +1689,34 @@ static void recv_generator(char *fname,
iflags |= ITEM_BASIS_TYPE_FOLLOWS;
if (fnamecmp_type == FNAMECMP_FUZZY)
iflags |= ITEM_XNAME_FOLLOWS;
if (f_copy >= 0) {
close(f_copy);
-@@ -1650,6 +1740,13 @@ static void recv_generator(char *fname,
+@@ -1648,6 +1729,13 @@ static void recv_generator(char *fname,
}
close(fd);
}
void generate_files(int f_out, struct file_list *flist, char *local_name)
-@@ -1716,6 +1813,8 @@ void generate_files(int f_out, struct fi
+@@ -1714,6 +1802,8 @@ void generate_files(int f_out, struct fi
* notice that and let us know via the redo pipe (or its closing). */
ignore_timeout = 1;