fix Resent-Date value
[claws.git] / src / compose.c
index 7cd07298759170f68e329eae8b82b26ea3a634f0..224e5c15525d5ce2d439c7808f5eeeb0bdd09dc5 100644 (file)
@@ -5461,7 +5461,7 @@ static gint compose_redirect_write_headers(Compose *compose, FILE *fp)
                get_rfc822_date_hide_tz(date, sizeof(date));
        else
                get_rfc822_date(date, sizeof(date));
-       err |= (fprintf(fp, "Resent-Date: %s\n", buf) < 0);
+       err |= (fprintf(fp, "Resent-Date: %s\n", date) < 0);
 
        /* Resent-From */
        if (compose->account->name && *compose->account->name) {
@@ -5611,7 +5611,7 @@ error:
 static gint compose_write_to_file(Compose *compose, FILE *fp, gint action, gboolean attach_parts)
 {
        GtkTextBuffer *buffer;
-       GtkTextIter start, end;
+       GtkTextIter start, end, tmp;
        gchar *chars, *tmp_enc_file, *content;
        gchar *buf, *msg;
        const gchar *out_codeset;
@@ -5643,10 +5643,20 @@ static gint compose_write_to_file(Compose *compose, FILE *fp, gint action, gbool
        mimemsg->data.mem = compose_get_header(compose);
 
        /* Create text part MimeInfo */
-       /* get all composed text */
        buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(compose->text));
-       gtk_text_buffer_get_start_iter(buffer, &start);
        gtk_text_buffer_get_end_iter(buffer, &end);
+       tmp = end;
+
+       /* We make sure that there is a newline at the end. */
+       if (action == COMPOSE_WRITE_FOR_SEND && gtk_text_iter_backward_char(&tmp)) {
+               chars = gtk_text_buffer_get_text(buffer, &tmp, &end, FALSE);
+               if (*chars != '\n') {
+                       gtk_text_buffer_insert(buffer, &end, "\n", 1);
+               }
+       }
+
+       /* get all composed text */
+       gtk_text_buffer_get_start_iter(buffer, &start);
        chars = gtk_text_buffer_get_text(buffer, &start, &end, FALSE);
 
        out_codeset = conv_get_charset_str(compose->out_encoding);
@@ -6423,8 +6433,7 @@ static const gchar *compose_untranslated_header_name(gchar *header_name)
 {
        /* return the untranslated header name, if header_name is a known
           header name, in either its translated or untranslated form, with
-          or without trailing colon. return NULL if no matching header name
-          is found or if header_name is NULL. */
+          or without trailing colon. otherwise, returns header_name. */
        gchar *translated_header_name;
        gchar *translated_header_name_wcolon;
        const gchar *untranslated_header_name;
@@ -6451,7 +6460,7 @@ static const gchar *compose_untranslated_header_name(gchar *header_name)
                }
        }
        debug_print("compose_untranslated_header_name: unknown header '%s'\n", header_name);
-       return NULL;
+       return header_name;
 }
 
 static void compose_add_headerfield_from_headerlist(Compose *compose, 
@@ -8793,7 +8802,7 @@ static void compose_template_apply_fields_error(const gchar *header)
        tr = g_strdup(C_("'%s' stands for a header name",
                                  "Template '%s' format error."));
        text = g_strdup_printf(tr, prefs_common_translated_header_name(header));
-       alertpanel_error(text);
+       alertpanel_error("%s", text);
 
        g_free(text);
        g_free(tr);