summaryrefslogtreecommitdiffstats
path: root/hdrline.c
diff options
context:
space:
mode:
authorThomas Roessler <roessler@does-not-exist.org>2001-10-31 09:20:38 +0000
committerThomas Roessler <roessler@does-not-exist.org>2001-10-31 09:20:38 +0000
commit8c5fc80bfb03e714eee48016177e01491b9cea8d (patch)
tree7e5e28635c3c6c7a5cbe75ef3ed44a779dbdfd24 /hdrline.c
parentea35088ae14fd4ceb1afc0928900a47ac4e9b507 (diff)
Advanced threading, v 5.1. From Daniel Eisenbud
<eisenbud@cs.swarthmore.edu>.
Diffstat (limited to 'hdrline.c')
-rw-r--r--hdrline.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/hdrline.c b/hdrline.c
index 0717261a..54fae0fe 100644
--- a/hdrline.c
+++ b/hdrline.c
@@ -411,12 +411,12 @@ hdr_format_str (char *dest,
case 'e':
snprintf (fmt, sizeof (fmt), "%%%sd", prefix);
- snprintf (dest, destlen, fmt, mutt_msgno_in_thread(hdr) + 1);
+ snprintf (dest, destlen, fmt, mutt_messages_in_thread(hdr, 1));
break;
case 'E':
snprintf (fmt, sizeof (fmt), "%%%sd", prefix);
- snprintf (dest, destlen, fmt, mutt_messages_in_thread(hdr));
+ snprintf (dest, destlen, fmt, mutt_messages_in_thread(hdr, 0));
break;
case 'f':
@@ -653,11 +653,13 @@ hdr_format_str (char *dest,
i = 1; /* reduce reuse recycle */
htmp = NULL;
if (flags & M_FORMAT_TREE
- && (hdr->prev && hdr->prev->env->x_label))
- htmp = hdr->prev;
+ && (hdr->thread->prev && hdr->thread->prev->message
+ && hdr->thread->prev->message->env->x_label))
+ htmp = hdr->thread->prev->message;
else if (flags & M_FORMAT_TREE
- && (hdr->parent && hdr->parent->env->x_label))
- htmp = hdr->parent;
+ && (hdr->thread->parent && hdr->thread->parent->message
+ && hdr->thread->parent->message->env->x_label))
+ htmp = hdr->thread->parent->message;
if (htmp && mutt_strcasecmp (hdr->env->x_label,
htmp->env->x_label) == 0)
i = 0;
@@ -674,7 +676,7 @@ hdr_format_str (char *dest,
mutt_format_s (dest, destlen, prefix, "");
break;
-
+
default:
snprintf (dest, destlen, "%%%s%c", prefix, op);
break;