From cdaf725ae40543f910a5608f03c0bd90dd5832e3 Mon Sep 17 00:00:00 2001
From: Rob Swindell <rob@synchro.net>
Date: Thu, 1 Apr 2021 23:40:15 -0700
Subject: [PATCH] Use libarchive to create packets when we can.

---
 src/sbbs3/sbbsecho.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/sbbs3/sbbsecho.c b/src/sbbs3/sbbsecho.c
index be88c46725..80c340f51a 100644
--- a/src/sbbs3/sbbsecho.c
+++ b/src/sbbs3/sbbsecho.c
@@ -2329,6 +2329,12 @@ int pack(const char *srcfile, const char *destfile, fidoaddr_t dest)
 
 	lprintf(LOG_DEBUG,"Packing packet (%s) into bundle (%s) for %s using %s"
 		,srcfile, destfile, smb_faddrtoa(&dest, NULL), archive->name);
+	if(strListFind((str_list_t)supported_archive_formats, archive->name, /* case_sensitive */FALSE) >= 0) {
+		const char* file_list[] = { srcfile, NULL };
+		if(create_archive(destfile, archive->name, /* with_path: */false, (str_list_t)file_list, tmp, sizeof(tmp)) == 1)
+			return 0;
+		lprintf(LOG_ERR, "libarchive error (%s) creating %s", tmp, destfile);
+	}
 	return execute(cmdstr(&scfg, /* user: */NULL, archive->pack, destfile, srcfile, tmp, sizeof(tmp)));
 }
 
-- 
GitLab