diff options
Diffstat (limited to 'src/nautilus-file.c')
-rw-r--r-- | src/nautilus-file.c | 36 |
1 files changed, 5 insertions, 31 deletions
diff --git a/src/nautilus-file.c b/src/nautilus-file.c index b380d390d..60e2f9b38 100644 --- a/src/nautilus-file.c +++ b/src/nautilus-file.c @@ -51,6 +51,7 @@ #include <glib/gstdio.h> #include <gio/gio.h> #include <glib.h> +#include <gnome-autoar/gnome-autoar.h> #include <gdesktop-enums.h> #include <libnautilus-extension/nautilus-file-info.h> #include <libnautilus-extension/nautilus-extension-private.h> @@ -7012,38 +7013,11 @@ real_is_special_link (NautilusFile *file) gboolean nautilus_file_is_archive (NautilusFile *file) { - char *mime_type; - int i; - static const char * archive_mime_types[] = { "application/x-gtar", - "application/x-zip", - "application/x-zip-compressed", - "application/zip", - "application/x-zip", - "application/x-tar", - "application/x-7z-compressed", - "application/x-rar", - "application/x-rar-compressed", - "application/x-jar", - "application/x-java-archive", - "application/x-war", - "application/x-ear", - "application/x-arj", - "application/x-gzip", - "application/x-bzip-compressed-tar", - "application/x-compressed-tar" }; - - g_return_val_if_fail (file != NULL, FALSE); - - mime_type = nautilus_file_get_mime_type (file); - for (i = 0; i < G_N_ELEMENTS (archive_mime_types); i++) { - if (!strcmp (mime_type, archive_mime_types[i])) { - g_free (mime_type); - return TRUE; - } - } - g_free (mime_type); + g_autofree char *mime_type; - return FALSE; + mime_type = nautilus_file_get_mime_type (file); + + return autoar_check_mime_type_supported (mime_type); } |