+ write_int(f_out, -1);
+
+ /* Read post-redo-phase MSG_DONE and any prior messages. */
+ get_redo_num();
+
+ if (preserve_hard_links)
+ do_hard_links();
+
+ if (need_retouch_dir_perms || need_retouch_dir_times) {
+ /* Now we need to fix any directory permissions that were
+ * modified during the transfer and/or re-set any tweaked
+ * modified-time values. */
+ for (i = 0; i < flist->count; i++) {
+ struct file_struct *file = flist->files[i];
+ if (!file->basename || !S_ISDIR(file->mode))
+ continue;
+ if (!need_retouch_dir_times && file->mode & S_IWUSR)
+ continue;
+ recv_generator(local_name ? local_name : f_name(file),
+ flist, file, i, -1, -1);
+ }
+ }
+
+ if (verbose > 2)
+ rprintf(FINFO,"generate_files finished\n");