summaryrefslogtreecommitdiff
path: root/src/nautilus-file.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/nautilus-file.c')
-rw-r--r--src/nautilus-file.c36
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);
}