From 72d2db378f3f786224a856a05a7da5feec81daf0 Mon Sep 17 00:00:00 2001 From: Stephen Seo Date: Thu, 18 Jul 2024 22:09:03 +0900 Subject: [PATCH] Do not create archive file on failure --- src/main.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/main.c b/src/main.c index c89443d..a478044 100644 --- a/src/main.c +++ b/src/main.c @@ -18,6 +18,13 @@ #include +#include "platforms.h" +#if SIMPLE_ARCHIVER_PLATFORM == SIMPLE_ARCHIVER_PLATFORM_COSMOPOLITAN || \ + SIMPLE_ARCHIVER_PLATFORM == SIMPLE_ARCHIVER_PLATFORM_MAC || \ + SIMPLE_ARCHIVER_PLATFORM == SIMPLE_ARCHIVER_PLATFORM_LINUX +#include +#endif + #include "archiver.h" #include "parser.h" @@ -78,6 +85,13 @@ int main(int argc, const char **argv) { fprintf(stderr, " %s\n", error_str); } fclose(file); +#if SIMPLE_ARCHIVER_PLATFORM == SIMPLE_ARCHIVER_PLATFORM_COSMOPOLITAN || \ + SIMPLE_ARCHIVER_PLATFORM == SIMPLE_ARCHIVER_PLATFORM_MAC || \ + SIMPLE_ARCHIVER_PLATFORM == SIMPLE_ARCHIVER_PLATFORM_LINUX + if (ret != SDAS_SUCCESS) { + unlink(parsed.filename); + } +#endif } else if ((parsed.flags & 3) == 2) { FILE *file = fopen(parsed.filename, "rb"); if (!file) {