X-Git-Url: https://mattmccutchen.net/rsync/rsync-patches.git/blobdiff_plain/f2863bc00ee660400c314a756d19ce5455dce87d..63bb92e3343c5d762dec2ff150bb3e5e165d05db:/checksum-reading.diff diff --git a/checksum-reading.diff b/checksum-reading.diff index 0a23786..2dd412b 100644 --- a/checksum-reading.diff +++ b/checksum-reading.diff @@ -208,7 +208,7 @@ diff --git a/flist.c b/flist.c + } + fclose(fp); + -+ clean_flist(checksum_flist, 0); ++ flist_sort_and_clean(checksum_flist, 0); +} + int push_pathname(const char *dir, int len) @@ -223,7 +223,7 @@ diff --git a/flist.c b/flist.c 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; @@ -241,7 +241,7 @@ diff --git a/flist.c b/flist.c 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 @@ -266,16 +266,13 @@ diff --git a/flist.c b/flist.c /* 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; }