From d8cb560f68d0751f477481a4460c748d7930b868 Mon Sep 17 00:00:00 2001 From: pavlik_dev Date: Mon, 14 Oct 2024 00:25:37 +0300 Subject: [PATCH] Add archives.h --- main.cpp | 55 +++++++------------------------------------------------ 1 file changed, 7 insertions(+), 48 deletions(-) diff --git a/main.cpp b/main.cpp index c3e0ce1..9841ea7 100644 --- a/main.cpp +++ b/main.cpp @@ -7,7 +7,8 @@ #include #include #ifndef NO_MIME -#include +#include // Did you remember to run ./configure? +#include "archives.h" // Run make nomime #endif #include #include @@ -60,53 +61,10 @@ bool starts_with(const std::string& prefix, const std::string& string) { return string.rfind(prefix, 0) == 0; } +#ifndef NO_MIME bool is_archive(const std::string& mime_type) { - const std::string archives[] = { - "application/x-archive", - "application/x-cpio", - "application/x-shar", - "application/x-iso9660-image", - "application/x-sbx", - "application/x-tar", - "application/x-brotli", - "application/x-bzip2", - "application/vnd.genozip", - "application/gzip", - "application/x-lzip", - "application/x-lzma", - "application/x-lzop", - "application/x-snappy-framed", - "application/x-xz", - "application/x-compress", - "application/x-compress", - "application/zstd", - "application/x-7z-compressed", - "application/x-ace-compressed", - "application/x-astrotite-afa", - "application/x-alz-compressed", - "application/vnd.android.package-archive", - "application/x-freearc", - "application/x-arj", - "application/x-b1", - "application/vnd.ms-cab-compressed", - "application/x-cfs-compressed", - "application/x-dar", - "application/x-dgc-compressed", - "application/x-apple-diskimage", - "application/x-gca-compressed", - "application/java-archive", - "application/x-lzh", - "application/x-lzx", - "application/x-rar-compressed", - "application/x-stuffit", - "application/x-stuffitx", - "application/x-gtar", - "application/x-ms-wim", - "application/x-xar", - "application/zip", - "application/x-zoo" - }; + const std::string archives[] = ARCHIVES; int len = sizeof(archives)/sizeof(archives[0]); for(int i = 0; i < len; ++i) @@ -118,6 +76,7 @@ bool is_archive(const std::string& mime_type) } return false; } +#endif std::string get_name_from_filetype(const enum FileType fs) { @@ -245,7 +204,7 @@ std::string print_permissions(mode_t mode, bool is_dir) { other += (mode & S_IWOTH) ? "w" : "-"; other += (mode & S_IXOTH) ? "x" : "-"; - + return (is_dir ? "d" : "-") + user + group + other; } @@ -354,6 +313,6 @@ int main(int argc, char *argv[]) printf("\n"); } } - + return 0; }