From 8fa85c39e57e7a4a71fd8beaac0fec733c328ae1 Mon Sep 17 00:00:00 2001 From: Jeffrey Stedfast Date: Thu, 30 Nov 2000 22:44:00 +0000 Subject: Don't display a dialog, instead inform the user that there was no new mail 2000-11-30 Jeffrey Stedfast * mail-ops.c (cleanup_fetch_mail): Don't display a dialog, instead inform the user that there was no new mail by setting a status message. * message-list.c (message_list_drag_data_get): Use the new e_str_make_safe function. * mail-display.c (make_safe_filename): And here. * mail-config.c (mail_config_folder_to_cachename): Here too. svn path=/trunk/; revision=6745 --- mail/message-list.c | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) (limited to 'mail/message-list.c') diff --git a/mail/message-list.c b/mail/message-list.c index 41477fc8c9..9cc69daac4 100644 --- a/mail/message-list.c +++ b/mail/message-list.c @@ -390,14 +390,30 @@ message_list_drag_data_get (ETable *table, MessageList *mlist = (MessageList *) user_data; const CamelMessageInfo *minfo = get_message_info (mlist, row); GPtrArray *uids = NULL; - char *dirname = "/tmp/ev-XXXXXXXXXX"; - char *filename; + char *tmpl, *tmpdir, *filename, *subject, *p; switch (info) { case DND_TARGET_LIST_TYPE_URI: /* drag & drop into nautilus */ - mktemp (dirname); - filename = g_strdup_printf ("%s/%s.eml", dirname, camel_message_info_subject(minfo)); + tmpl = g_strdup ("/tmp/evolution.XXXXXX"); +#ifdef HAVE_MKDTEMP + tmpdir = mkdtemp (tmpl); +#else + tmpdir = mktemp (tmpl); + if (tmpdir) { + if (mkdir (tmpdir, S_IRWXU) == -1) + tmpdir = NULL; + } +#endif + if (!tmpdir) { + g_free (tmpl); + return; + } + + subject = g_strdup (camel_message_info_subject (minfo)); + e_str_make_safe (subject); + filename = g_strdup_printf ("%s/%s.eml", tmpdir, subject); + g_free (subject); uids = g_ptr_array_new (); g_ptr_array_add (uids, g_strdup (mlist->cursor_uid)); @@ -407,6 +423,7 @@ message_list_drag_data_get (ETable *table, gtk_selection_data_set (selection_data, selection_data->target, 8, (guchar *) filename, strlen (filename)); + g_free (tmpl); g_free (filename); break; default: -- cgit v1.2.3