From 0ed2c9f8544286281c6747d53921209723469407 Mon Sep 17 00:00:00 2001 From: Jef Roosens Date: Thu, 13 Jan 2022 23:28:18 +0100 Subject: [PATCH] Ignore certain files from archive --- src/archive/archive.v | 7 +++++-- src/main.v | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/archive/archive.v b/src/archive/archive.v index 29833500..88649eea 100644 --- a/src/archive/archive.v +++ b/src/archive/archive.v @@ -31,8 +31,11 @@ pub fn pkg_info(pkg_path string) ?(string, []string) { for C.archive_read_next_header(a, &entry) == C.ARCHIVE_OK { pathname := C.archive_entry_pathname(entry) - unsafe { - files << cstring_to_vstring(pathname) + ignored_names := [c'.BUILDINFO', c'.INSTALL', c'.MTREE', c'.PKGINFO', c'.CHANGELOG'] + if ignored_names.all(C.strcmp(it, pathname) != 0) { + unsafe { + files << cstring_to_vstring(pathname) + } } if C.strcmp(pathname, c'.PKGINFO') == 0 { diff --git a/src/main.v b/src/main.v index e6b5bc64..9d9e5419 100644 --- a/src/main.v +++ b/src/main.v @@ -105,7 +105,7 @@ fn reader_to_file(mut reader io.BufferedReader, length int, path string) ? { fn main() { // archive.list_filenames() - res := pkg.read_pkg('test/jjr-joplin-desktop-2.6.10-4-x86_64.pkg.tar.zst') or { + res := pkg.read_pkg('test/homebank-5.5.1-1-x86_64.pkg.tar.zst') or { eprintln(err.msg) return }