From a4264abf3b15a74c2c4e68a547eddc395251b957 Mon Sep 17 00:00:00 2001 From: Dan Winship Date: Tue, 19 Sep 2000 00:07:47 +0000 Subject: Use gnome_vfs_get_file_info. * e-msg-composer-attachment.c (get_mime_type): Use gnome_vfs_get_file_info. * e-msg-composer-attachment-bar.c (update): Use gnome_vfs_mime functions, not old gnome_mime. svn path=/trunk/; revision=5496 --- composer/e-msg-composer-attachment.c | 32 +++++++++++++++++++++++--------- 1 file changed, 23 insertions(+), 9 deletions(-) (limited to 'composer/e-msg-composer-attachment.c') diff --git a/composer/e-msg-composer-attachment.c b/composer/e-msg-composer-attachment.c index 141ad7c9ab..c607b59068 100644 --- a/composer/e-msg-composer-attachment.c +++ b/composer/e-msg-composer-attachment.c @@ -32,6 +32,7 @@ #include #include #include +#include #include "e-msg-composer-attachment.h" @@ -47,16 +48,23 @@ static GtkObjectClass *parent_class = NULL; /* Utility functions. */ -static const gchar * +static gchar * get_mime_type (const gchar *file_name) { - const gchar *mime_type; - - mime_type = gnome_mime_type_of_file (file_name); - if (mime_type == NULL) - mime_type = "application/octet-stream"; - - return mime_type; + GnomeVFSFileInfo info; + GnomeVFSResult result; + + result = gnome_vfs_get_file_info (file_name, &info, + GNOME_VFS_FILE_INFO_GET_MIME_TYPE | + GNOME_VFS_FILE_INFO_FOLLOW_LINKS); + if (result == GNOME_VFS_OK) { + gchar *type; + + type = g_strdup (gnome_vfs_file_info_get_mime_type (&info)); + gnome_vfs_file_info_unref (&info); + return type; + } else + return NULL; } static void @@ -161,6 +169,7 @@ e_msg_composer_attachment_new (const gchar *file_name) CamelDataWrapper *wrapper; CamelStream *data; struct stat statbuf; + gchar *mime_type; g_return_val_if_fail (file_name != NULL, NULL); @@ -170,7 +179,12 @@ e_msg_composer_attachment_new (const gchar *file_name) wrapper = camel_data_wrapper_new (); camel_data_wrapper_construct_from_stream (wrapper, data); camel_object_unref (CAMEL_OBJECT (data)); - camel_data_wrapper_set_mime_type (wrapper, get_mime_type (file_name)); + mime_type = get_mime_type (file_name); + if (mime_type) { + camel_data_wrapper_set_mime_type (wrapper, mime_type); + g_free (mime_type); + } else + camel_data_wrapper_set_mime_type (wrapper, "application/octet-stream"); part = camel_mime_part_new (); camel_medium_set_content_object (CAMEL_MEDIUM (part), wrapper); -- cgit v1.2.3