Do ignore empty recipients when checking names
[modest] / src / modest-tny-msg.c
index 2399070..2869c3b 100644 (file)
@@ -167,12 +167,12 @@ modest_tny_msg_new_html_plain (const gchar* mailto, const gchar* from, const gch
 
        if (in_reply_to)
                tny_mime_part_set_header_pair (TNY_MIME_PART (new_msg), "In-Reply-To", in_reply_to);
-       
-       /* Add the body of the new mail */      
+
+       /* Add the body of the new mail */
        add_body_part (new_msg, plain_body, content_type);
        add_html_body_part (new_msg, html_body);
        g_free (content_type);
-                      
+
        /* Add attachments */
        tmp_attached = add_attachments (TNY_MIME_PART (new_msg), attachments, FALSE, err);
        if (attached)
@@ -664,7 +664,6 @@ create_reply_forward_mail (TnyMsg *msg, TnyHeader *header, const gchar *from,
        TnyMimePart *body = NULL;
        TnyMimePart *html_body = NULL;
        ModestFormatter *formatter;
-       gchar *subject_prefix;
        gboolean no_text_part;
        gchar *parent_uid;
        gboolean forward_as_attach = FALSE;
@@ -718,16 +717,10 @@ create_reply_forward_mail (TnyMsg *msg, TnyHeader *header, const gchar *from,
        tny_header_set_replyto (new_header, from);
 
        /* Change the subject */
-       if (is_reply)
-               subject_prefix = g_strconcat (_("mail_va_re"), ":", NULL);
-       else
-               subject_prefix = g_strconcat (_("mail_va_fw"), ":", NULL);
        old_subject = tny_header_dup_subject (header);
        new_subject =
-               (gchar *) modest_text_utils_derived_subject (old_subject,
-                                                            subject_prefix);
+               (gchar *) modest_text_utils_derived_subject (old_subject, is_reply);
        g_free (old_subject);
-       g_free (subject_prefix);
        tny_header_set_subject (new_header, (const gchar *) new_subject);
        g_free (new_subject);
 
@@ -1158,6 +1151,14 @@ modest_tny_msg_get_references (TnyMsg *msg, gchar **message_id, gchar **referenc
        }
 }
 
+static void
+remove_line_breaks (gchar *str)
+{
+       gchar *needle = g_strrstr (str, "\r\n");
+       if (needle)
+               *needle = '\0';
+}
+
 static void 
 set_references (TnyMsg *reply_msg, TnyMsg *original_msg)
 {
@@ -1192,14 +1193,18 @@ set_references (TnyMsg *reply_msg, TnyMsg *original_msg)
        g_free (orig_message_id);
 
        if (in_reply_to) {
+               remove_line_breaks (in_reply_to);
                tny_mime_part_set_header_pair (TNY_MIME_PART (reply_msg), "In-Reply-To", in_reply_to);
+               g_free (in_reply_to);
        }
        if (references) {
+               remove_line_breaks (references);
                tny_mime_part_set_header_pair (TNY_MIME_PART (reply_msg), "References", references);
+               g_free (references);
        }
 }
 
-TnyMsg* 
+TnyMsg*
 modest_tny_msg_create_reply_msg (TnyMsg *msg,
                                 TnyHeader *header,
                                 const gchar *from,