From b8d33bcd2a871183de41993142453dc000687f4c Mon Sep 17 00:00:00 2001 From: Stephen Seo Date: Thu, 19 Dec 2024 13:41:58 +0900 Subject: [PATCH] Fix edge case where only empty files are archived --- src/archiver.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/archiver.c b/src/archiver.c index 858a77d..4b947f0 100644 --- a/src/archiver.c +++ b/src/archiver.c @@ -2503,7 +2503,7 @@ int simple_archiver_write_v1(FILE *out_f, SDArchiverState *state, return SDAS_INTERNAL_ERROR; } free(ptrs); - if (current_size > 0 && current_count > 0) { + if ((chunk_counts->count == 0 || current_size > 0) && current_count > 0) { uint64_t *count = malloc(sizeof(uint64_t)); *count = current_count; simple_archiver_list_add(chunk_counts, count, NULL); @@ -3371,7 +3371,7 @@ int simple_archiver_write_v2(FILE *out_f, SDArchiverState *state, return SDAS_INTERNAL_ERROR; } free(ptrs); - if (current_size > 0 && current_count > 0) { + if ((chunk_counts->count == 0 || current_size > 0) && current_count > 0) { uint64_t *count = malloc(sizeof(uint64_t)); *count = current_count; simple_archiver_list_add(chunk_counts, count, NULL); -- 2.49.0