X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/f303b749f2843433c9acd8218a4b9096d0d1bb8d..0b7894460092b8b3939f2d89ba9ebde15843d6ab:/generator.c diff --git a/generator.c b/generator.c index 8290e603..5c3653f3 100644 --- a/generator.c +++ b/generator.c @@ -2077,8 +2077,7 @@ void check_for_finished_files(int itemizing, enum logcode code, int check_redo) while (1) { #ifdef SUPPORT_HARD_LINKS if (preserve_hard_links && (ndx = get_hlink_num()) != -1) { - flist = flist_for_ndx(ndx); - assert(flist != NULL); + flist = flist_for_ndx(ndx, "check_for_finished_files.1"); file = flist->files[ndx - flist->ndx_start]; assert(file->flags & FLAG_HLINKED); finish_hard_link(file, f_name(file, fbuf), ndx, NULL, itemizing, code, -1); @@ -2101,7 +2100,7 @@ void check_for_finished_files(int itemizing, enum logcode code, int check_redo) ignore_times++; flist = cur_flist; - cur_flist = flist_for_ndx(ndx); + cur_flist = flist_for_ndx(ndx, "check_for_finished_files.2"); file = cur_flist->files[ndx - cur_flist->ndx_start]; if (solo_file) @@ -2239,7 +2238,7 @@ void generate_files(int f_out, const char *local_name) dirdev = MAKEDEV(0, 0); /* We must be sure we've had a chance to receive an I/O * error for this directory before we delete in it. */ - while (check_for_io_err && !cur_flist->next) + while (check_for_io_err && !cur_flist->next && !flist_eof) wait_for_receiver(); delete_in_dir(fbuf, fp, &dirdev); } else