X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=hdrline.c;fp=hdrline.c;h=d120175aa57faa7ebcb019ad1160e8ade8a65b6d;hp=39ab459b159f1692b56f6e5e819f276f8a519075;hb=d6988dab6bd378ccdf0f17aaa16de8aee1ceaf43;hpb=9687c62f51cb5719d2cef049dcee0e8e2eaee006 diff --git a/hdrline.c b/hdrline.c index 39ab459..d120175 100644 --- a/hdrline.c +++ b/hdrline.c @@ -207,6 +207,7 @@ int mutt_user_is_recipient (HEADER * h) * %u = user (login) name of author * %v = first name of author, unless from self * %W = where user is (organization) + * %X = number of MIME attachments * %y = `x-label:' field (if present) * %Y = `x-label:' field (if present, tree unfolded, and != parent's x-label) * %Z = status flags */ @@ -630,6 +631,27 @@ static const char *hdr_format_str (char *dest, optional = 0; break; + case 'X': + { + int count, flags = 0; + + if (hdr->content->parts) + count = mutt_count_body_parts(hdr, flags); + else { + mutt_parse_mime_message(ctx, hdr); + count = mutt_count_body_parts(hdr, flags); + mutt_free_body(&hdr->content->parts); + } + + /* The recursion allows messages without depth to return 0. */ + if (optional) + optional = count != 0; + + snprintf (fmt, sizeof (fmt), "%%%sd", prefix); + snprintf (dest, destlen, fmt, count); + } + break; + case 'Z': ch = ' '; @@ -644,7 +666,7 @@ static const char *hdr_format_str (char *dest, ch = 'K'; snprintf (buf2, sizeof (buf2), - "%c%c%c%c", (THREAD_NEW ? 'n' : (THREAD_OLD ? 'o' : + "%c%c%c", (THREAD_NEW ? 'n' : (THREAD_OLD ? 'o' : ((hdr->read && (ctx && ctx->msgnotreadyet != @@ -662,9 +684,7 @@ static const char *hdr_format_str (char *dest, mutt_user_is_recipient (hdr)) < str_len (Tochars)) ? - Tochars[i] : ' ')), - (hdr->content && hdr->content->type == TYPEMULTIPART) ? - 'A' : ' '); + Tochars[i] : ' '))); mutt_format_s (dest, destlen, prefix, buf2); break;