X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=thread.c;h=cd9991421444e73a774a3a46d74dfe66debafee5;hp=bdd676e54ea000cb474214afc56a6ff7d6e3681b;hb=fd958ee8a2c85e3cc5c2f45a426ef4b724191f57;hpb=ba5e3af4ea19e1d20c80941c077039871ec84258 diff --git a/thread.c b/thread.c index bdd676e..cd99914 100644 --- a/thread.c +++ b/thread.c @@ -13,6 +13,7 @@ #include "mutt.h" #include "sort.h" +#include "thread.h" #include "lib/mem.h" #include "lib/intl.h" @@ -512,7 +513,7 @@ void mutt_clear_threads (CONTEXT * ctx) hash_destroy (&ctx->thread_hash, free); } -int compare_threads (const void *a, const void *b) +static int compare_threads (const void *a, const void *b) { static sort_t *sort_func = NULL; @@ -1304,3 +1305,24 @@ int mutt_link_threads (HEADER * cur, HEADER * last, CONTEXT * ctx) return changed; } + +void mutt_adjust_subject (ENVELOPE* e) { + regmatch_t pmatch[1]; + + if (e && e->subject) { + if (regexec (ReplyRegexp.rx, e->subject, 1, pmatch, 0) == 0) + e->real_subj = e->subject + pmatch[0].rm_eo; + else + e->real_subj = e->subject; + } +} + +void mutt_adjust_all_subjects (void) { + int i = 0; + + if (!Context || !Context->msgcount) + return; + + for (i = 0; i < Context->msgcount; i++) + mutt_adjust_subject (Context->hdrs[i]->env); +}