X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=hdrline.c;h=bd83a437daa3decd3a4775f16762884e2c5003b3;hp=d6135b30a992deb9a293e865c30875629cfcb032;hb=9ed6c0f86855d82f8b95b3f623bf2639f0f19d0b;hpb=a8477ebaa09990b3688164cbe5cf661c4189541d diff --git a/hdrline.c b/hdrline.c index d6135b3..bd83a43 100644 --- a/hdrline.c +++ b/hdrline.c @@ -14,9 +14,11 @@ #include "mutt.h" #include "mutt_curses.h" #include "sort.h" +#include "thread.h" #include "charset.h" #include "mutt_crypt.h" #include "mutt_idna.h" +#include "mime.h" #include "lib/str.h" #include "lib/rx.h" @@ -205,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 */ @@ -628,6 +631,25 @@ static const char *hdr_format_str (char *dest, optional = 0; break; + case 'X': + { + int count = 0; + + if (option (OPTCOUNTATTACH)) { + if (!hdr->content->parts) + mutt_parse_mime_message(ctx, hdr); + count = mutt_count_body_parts(hdr, 0); + } + + /* 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 = ' ';