diff --git a/src/sbbs3/sbbsecho.c b/src/sbbs3/sbbsecho.c index be88c46725a09326150f2022b020c4f3fb5172d7..80c340f51a0b88de61a06d7e0cb8132ac3ac323e 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))); }