Xstrdup_a(quote_str, buf, return NULL)
}
- quote_fmt_init(msginfo, quote_str);
- quote_fmt_scan_string(fmt);
- quote_fmt_parse();
+ if (fmt && *fmt != '\0') {
+ quote_fmt_init(msginfo, quote_str);
+ quote_fmt_scan_string(fmt);
+ quote_fmt_parse();
- buf = quote_fmt_get_buffer();
- if (buf == NULL) {
- alertpanel_error(_("Message reply/forward format error."));
- return NULL;
- }
+ buf = quote_fmt_get_buffer();
+ if (buf == NULL) {
+ alertpanel_error(_("Message reply/forward format error."));
+ return NULL;
+ }
+ } else
+ buf = "";
gtk_stext_freeze(text);
gtk_stext_set_point(text, 0);
gtk_stext_thaw(text);
}
-
#undef GET_CHAR
static void compose_set_title(Compose *compose)
|| (g_strncasecmp(buf, "Delivered-To:",
strlen("Delivered-To:")) == 0))
continue;
+
if (fputs(buf, fdest) == -1)
goto error;
+
+ if (g_strncasecmp(buf, "From:", strlen("From:")) == 0) {
+ fputs(" (by way of ", fdest);
+ if (compose->account->name
+ && *compose->account->name) {
+ compose_convert_header
+ (buf, sizeof(buf),
+ compose->account->name,
+ strlen("From: "));
+ fprintf(fdest, "%s <%s>",
+ buf, compose->account->address);
+ } else
+ fprintf(fdest, "%s",
+ compose->account->address);
+ fputs(")", fdest);
+ }
+
if (fputs("\n", fdest) == -1)
goto error;
}
if (tmpl->subject)
gtk_entry_set_text(GTK_ENTRY(compose->subject_entry),
tmpl->subject);
+ if (tmpl->to)
+ compose_entry_append(compose, tmpl->to, COMPOSE_TO);
if (compose->replyinfo == NULL) {
MsgInfo dummyinfo;