diff options
Diffstat (limited to 'camel')
-rw-r--r-- | camel/ChangeLog | 5 | ||||
-rw-r--r-- | camel/camel-mime-utils.c | 21 | ||||
-rw-r--r-- | camel/camel-mime-utils.h | 3 |
3 files changed, 29 insertions, 0 deletions
diff --git a/camel/ChangeLog b/camel/ChangeLog index 0caf7e1aab..e489b8938d 100644 --- a/camel/ChangeLog +++ b/camel/ChangeLog @@ -1,3 +1,8 @@ +2000-11-08 Radek Doulik <rodo@helixcode.com> + + * camel-mime-utils.c (mime_guess_type_from_file_name): new + function, moved from composer + 2000-11-08 Not Zed <NotZed@HelixCode.com> * camel-mime-message.c (find_best_encoding): Keep track of the diff --git a/camel/camel-mime-utils.c b/camel/camel-mime-utils.c index f1dbe6de4c..18c005e3fb 100644 --- a/camel/camel-mime-utils.c +++ b/camel/camel-mime-utils.c @@ -40,6 +40,8 @@ #include <ctype.h> #include <errno.h> +#include <libgnomevfs/gnome-vfs.h> + #include "camel-mime-utils.h" #include "camel-charset-map.h" @@ -3089,3 +3091,22 @@ header_msgid_generate (void) return g_strdup_printf ("%d.%d.%d.camel@%s.%s", (gint) time (NULL), getpid (), count++, host, domain); } + +gchar * +mime_guess_type_from_file_name (const gchar *file_name) +{ + 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; +} diff --git a/camel/camel-mime-utils.h b/camel/camel-mime-utils.h index e829a17093..33a70cc908 100644 --- a/camel/camel-mime-utils.h +++ b/camel/camel-mime-utils.h @@ -183,4 +183,7 @@ int quoted_decode_step(unsigned char *in, int len, unsigned char *out, int *save int quoted_encode_step(unsigned char *in, int len, unsigned char *out, int *state, int *save); int quoted_encode_close(unsigned char *in, int len, unsigned char *out, int *state, int *save); +gchar * mime_guess_type_from_file_name (const gchar *file_name); + + #endif /* ! _CAMEL_MIME_UTILS_H */ |