20 lines
709 B
Diff
20 lines
709 B
Diff
diff -up mutt/pop.c.pophash mutt/pop.c
|
|
--- mutt/pop.c.pophash 2009-12-14 19:24:59.000000000 +0100
|
|
+++ mutt/pop.c 2011-10-04 16:51:23.307236908 +0200
|
|
@@ -618,8 +618,15 @@ int pop_fetch_message (MESSAGE* msg, CON
|
|
}
|
|
rewind (msg->fp);
|
|
uidl = h->data;
|
|
+
|
|
+ /* we replace envelop, key in subj_hash has to be updated as well */
|
|
+ if (ctx->subj_hash && h->env->real_subj)
|
|
+ hash_delete (ctx->subj_hash, h->env->real_subj, h, NULL);
|
|
mutt_free_envelope (&h->env);
|
|
h->env = mutt_read_rfc822_header (msg->fp, h, 0, 0);
|
|
+ if (ctx->subj_hash && h->env->real_subj)
|
|
+ hash_insert (ctx->subj_hash, h->env->real_subj, h, 1);
|
|
+
|
|
h->data = uidl;
|
|
h->lines = 0;
|
|
fgets (buf, sizeof (buf), msg->fp);
|