X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/db719fb0d77ad232c74a3a73c348e1e69672fe61..62b68c80466e9e3b9bb39e0bc5219ba32534235f:/flist.c diff --git a/flist.c b/flist.c index 2e0e7870..ead49665 100644 --- a/flist.c +++ b/flist.c @@ -84,16 +84,16 @@ static void start_filelist_progress(char *kind) } -static void maybe_emit_filelist_progress(const struct file_list *flist) +static void emit_filelist_progress(const struct file_list *flist) { - if (do_progress && show_filelist_p() && ((flist->count % 100) == 0)) - emit_filelist_progress(flist); + rprintf(FINFO, " %d files...\r", flist->count); } -static void emit_filelist_progress(const struct file_list *flist) +static void maybe_emit_filelist_progress(const struct file_list *flist) { - rprintf(FINFO, " %d files...\r", flist->count); + if (do_progress && show_filelist_p() && ((flist->count % 100) == 0)) + emit_filelist_progress(flist); } @@ -101,12 +101,13 @@ static void finish_filelist_progress(const struct file_list *flist) { if (do_progress) { /* This overwrites the progress line */ - rprintf(FINFO, "%d files to consider\n", flist->count); - } else + rprintf(FINFO, "%d file%sto consider\n", + flist->count, flist->count == 1 ? " " : "s "); + } else { rprintf(FINFO, "done\n"); + } } - void show_flist_stats(void) { /* Nothing yet */ @@ -301,7 +302,10 @@ static void flist_expand(struct file_list *flist) new_bytes = sizeof(flist->files[0]) * flist->malloced; - new_ptr = realloc(flist->files, new_bytes); + if (flist->files) + new_ptr = realloc(flist->files, new_bytes); + else + new_ptr = malloc(new_bytes); if (verbose >= 2) { rprintf(FINFO, "expand file_list to %.0f bytes, did%s move\n", @@ -984,8 +988,9 @@ struct file_list *send_file_list(int f, int argc, char *argv[]) send_file_entry(NULL, f, 0); } - if (show_filelist_p()) + if (show_filelist_p() && f != -1) { finish_filelist_progress(flist); + } clean_flist(flist, 0);