aboutsummaryrefslogtreecommitdiffstats
path: root/mail/mail-callbacks.c
diff options
context:
space:
mode:
Diffstat (limited to 'mail/mail-callbacks.c')
-rw-r--r--mail/mail-callbacks.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/mail/mail-callbacks.c b/mail/mail-callbacks.c
index 70e06df2f8..7efd2523b1 100644
--- a/mail/mail-callbacks.c
+++ b/mail/mail-callbacks.c
@@ -766,6 +766,7 @@ mail_generate_reply (CamelFolder *folder, CamelMimeMessage *message, const char
EDestination **tov, **ccv;
EMsgComposer *composer;
time_t date;
+ const int max_subject_length = 1024;
composer = e_msg_composer_new ();
if (!composer)
@@ -879,9 +880,13 @@ mail_generate_reply (CamelFolder *folder, CamelMimeMessage *message, const char
subject = g_strdup ("");
else {
if (!g_strncasecmp (subject, "Re: ", 4))
- subject = g_strdup (subject);
- else
- subject = g_strdup_printf ("Re: %s", subject);
+ subject = g_strndup (subject, max_subject_length);
+ else {
+ if (strlen (subject) < max_subject_length)
+ subject = g_strdup_printf ("Re: %s", subject);
+ else
+ subject = g_strdup_printf ("Re: %.*s...", max_subject_length, subject);
+ }
}
tov = e_destination_list_to_vector (to);