+ }
+ fclose(fp);
+
-+ clean_flist(checksum_flist, 0);
++ flist_sort_and_clean(checksum_flist, 0);
+}
+
int push_pathname(const char *dir, int len)
struct file_struct *file;
char thisname[MAXPATHLEN];
char linkname[MAXPATHLEN];
-@@ -1130,9 +1311,16 @@ struct file_struct *make_file(const char *fname, struct file_list *flist,
+@@ -1136,9 +1317,16 @@ struct file_struct *make_file(const char *fname, struct file_list *flist,
memcpy(lastdir, thisname, len);
lastdir[len] = '\0';
lastdir_len = len;
basename_len = strlen(basename) + 1; /* count the '\0' */
#ifdef SUPPORT_LINKS
-@@ -1208,11 +1396,21 @@ struct file_struct *make_file(const char *fname, struct file_list *flist,
+@@ -1214,11 +1402,21 @@ struct file_struct *make_file(const char *fname, struct file_list *flist,
}
#endif
/* This code is only used by the receiver when it is building
* a list of files for a delete pass. */
if (keep_dirlinks && linkname_len && flist) {
-@@ -2063,7 +2261,11 @@ struct file_list *send_file_list(int f, int argc, char *argv[])
+@@ -2074,7 +2272,8 @@ struct file_list *send_file_list(int f, int argc, char *argv[])
* file-list to check if this is a 1-file xfer. */
send_extra_file_list(f, 1);
}
- }
+ } else
+ flist_eof = 1;
-+
-+ if (checksum_updating && always_checksum && flist_eof)
-+ read_checksums(NULL);
return flist;
}