From d8d4fcd1182e4295cb4307333a4af4ea3e3c75db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ball=C3=B3=20Gy=C3=B6rgy?= Date: Sat, 10 Jan 2015 20:42:49 +0100 Subject: comics backend: add support for bsdtar bsdtar is able to extract all supported comics archive format. --- backend/comics/comics-document.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'backend') diff --git a/backend/comics/comics-document.c b/backend/comics/comics-document.c index bec8582f..da872ffb 100644 --- a/backend/comics/comics-document.c +++ b/backend/comics/comics-document.c @@ -368,6 +368,12 @@ comics_check_decompress_command (gchar *mime_type, comics_document->command_usage = GNAUNRAR; return TRUE; } + comics_document->selected_command = + g_find_program_in_path ("bsdtar"); + if (comics_document->selected_command) { + comics_document->command_usage = TAR; + return TRUE; + } } else if (!strcmp (mime_type, "application/x-cbz") || !strcmp (mime_type, "application/zip")) { @@ -381,6 +387,12 @@ comics_check_decompress_command (gchar *mime_type, comics_document->command_usage = UNZIP; return TRUE; } + comics_document->selected_command = + g_find_program_in_path ("bsdtar"); + if (comics_document->selected_command) { + comics_document->command_usage = TAR; + return TRUE; + } } else if (!strcmp (mime_type, "application/x-cb7") || !strcmp (mime_type, "application/x-7z-compressed")) { @@ -404,6 +416,12 @@ comics_check_decompress_command (gchar *mime_type, comics_document->command_usage = P7ZIP; return TRUE; } + comics_document->selected_command = + g_find_program_in_path ("bsdtar"); + if (comics_document->selected_command) { + comics_document->command_usage = TAR; + return TRUE; + } } else if (!strcmp (mime_type, "application/x-cbt") || !strcmp (mime_type, "application/x-tar")) { /* tar utility (Tape ARchive) */ @@ -413,6 +431,12 @@ comics_check_decompress_command (gchar *mime_type, comics_document->command_usage = TAR; return TRUE; } + comics_document->selected_command = + g_find_program_in_path ("bsdtar"); + if (comics_document->selected_command) { + comics_document->command_usage = TAR; + return TRUE; + } } else { g_set_error (error, EV_DOCUMENT_ERROR, -- cgit v1.2.1