# include "config.h"
#endif
+#include <ctype.h>
+#include <stdlib.h>
+#include <string.h>
+#include <locale.h>
+
+#include <lib-lib/rx.h>
+#include <lib-lib/str.h>
+
+#include <lib-mime/mime.h>
+
+#include <lib-ui/curses.h>
+
#include "mutt.h"
-#include "mutt_curses.h"
#include "sort.h"
#include "thread.h"
#include "charset.h"
-#include "mutt_crypt.h"
+#include <lib-crypt/crypt.h>
#include "mutt_idna.h"
-#include "mime.h"
-
-#include "lib/str.h"
-#include "lib/rx.h"
-#include <ctype.h>
-#include <stdlib.h>
-#include <string.h>
-#include <locale.h>
-
-int mutt_is_mail_list (ADDRESS * addr)
+int mutt_is_mail_list (address_t * addr)
{
if (!rx_list_match (UnMailLists, addr->mailbox))
return rx_list_match (MailLists, addr->mailbox);
return 0;
}
-int mutt_is_subscribed_list (ADDRESS * addr)
+int mutt_is_subscribed_list (address_t * addr)
{
if (!rx_list_match (UnMailLists, addr->mailbox)
&& !rx_list_match (UnSubscribedLists, addr->mailbox))
* return 1. Otherwise, simply return 0.
*/
static int
-check_for_mailing_list (ADDRESS * adr, char *pfx, char *buf, int buflen)
+check_for_mailing_list (address_t * adr, const char *pfx, char *buf, int buflen)
{
for (; adr; adr = adr->next) {
if (mutt_is_subscribed_list (adr)) {
* If one is found, print the address of the list into buf, then return 1.
* Otherwise, simply return 0.
*/
-static int check_for_mailing_list_addr (ADDRESS * adr, char *buf, int buflen)
+static int check_for_mailing_list_addr (address_t * adr, char *buf, int buflen)
{
for (; adr; adr = adr->next) {
if (mutt_is_subscribed_list (adr)) {
}
-static int first_mailing_list (char *buf, size_t buflen, ADDRESS * a)
+static int first_mailing_list (char *buf, size_t buflen, address_t * a)
{
for (; a; a = a->next) {
if (mutt_is_subscribed_list (a)) {
else if (me && hdr->cc)
snprintf (buf, len, "Cc %s", mutt_get_name (hdr->cc));
else if (hdr->from)
- strfcpy (buf, mutt_get_name (hdr->from), len);
+ m_strcpy(buf, len, mutt_get_name(hdr->from));
else
*buf = 0;
}
else if (me && hdr->cc)
snprintf (buf, len, "%s", hdr->cc->mailbox);
else if (hdr->from)
- strfcpy (buf, hdr->from->mailbox, len);
+ m_strcpy(buf, len, hdr->from->mailbox);
else
*buf = 0;
}
-static int user_in_addr (ADDRESS * a)
+static int user_in_addr (address_t * a)
{
for (; a; a = a->next)
if (mutt_addr_is_user (a))
!first_mailing_list (dest, destlen, hdr->env->cc))
dest[0] = 0;
if (dest[0]) {
- strfcpy (buf2, dest, sizeof (buf2));
+ m_strcpy(buf2, sizeof(buf2), dest);
mutt_format_s (dest, destlen, prefix, buf2);
break;
}
case 'b':
if (ctx) {
if ((p = strrchr (ctx->path, '/')))
- strfcpy (dest, p + 1, destlen);
+ m_strcpy(dest, destlen, p + 1);
else
- strfcpy (dest, ctx->path, destlen);
+ m_strcpy(dest, destlen, ctx->path);
}
else
- strfcpy (dest, "(null)", destlen);
- strfcpy (buf2, dest, sizeof (buf2));
+ m_strcpy(dest, destlen, "(null)");
+ m_strcpy(buf2, sizeof(buf2), dest);
mutt_format_s (dest, destlen, prefix, buf2);
break;
snprintf (dest, destlen, fmt, ctx->msgcount);
}
else
- strfcpy (dest, "(null)", destlen);
+ m_strcpy(dest, destlen, "(null)");
break;
case 'n':
snprintf (dest, destlen, fmt,
(Tochars
&& ((i = mutt_user_is_recipient (hdr))) <
- str_len (Tochars)) ? Tochars[i] : ' ');
+ m_strlen(Tochars)) ? Tochars[i] : ' ');
break;
case 'u':
if (hdr->env->from && hdr->env->from->mailbox) {
- strfcpy (buf2, mutt_addr_for_display (hdr->env->from), sizeof (buf2));
+ m_strcpy(buf2, sizeof(buf2), mutt_addr_for_display(hdr->env->from));
if ((p = strpbrk (buf2, "%@")))
*p = 0;
}
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);
+ 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);
}
ch = ' ';
- if (WithCrypto && hdr->security & GOODSIGN)
+ if (hdr->security & GOODSIGN)
ch = 'S';
- else if (WithCrypto && hdr->security & ENCRYPT)
+ else if (hdr->security & ENCRYPT)
ch = 'P';
- else if (WithCrypto && hdr->security & SIGN)
+ else if (hdr->security & SIGN)
ch = 's';
- else if ((WithCrypto & APPLICATION_PGP) && hdr->security & PGPKEY)
+ else if (hdr->security & PGPKEY)
ch = 'K';
- snprintf (buf2, sizeof (buf2),
- "%c%c%c", (THREAD_NEW ? 'n' : (THREAD_OLD ? 'o' :
- ((hdr->read
- && (ctx
- && ctx->msgnotreadyet !=
- hdr->msgno))
- ? (hdr->
- replied ? 'r' : ' ') : (hdr->
- old ?
- 'O' :
- 'N')))),
+ snprintf(buf2, sizeof (buf2), "%c%c%c",
+ (THREAD_NEW ? 'n'
+ : (THREAD_OLD
+ ? 'o'
+ : ((hdr->read && (ctx && ctx->msgnotreadyet != hdr->msgno))
+ ? (hdr->replied ? 'r' : ' ')
+ : (hdr->old ? 'O' : 'N')))),
hdr->deleted ? 'D' : (hdr->attach_del ? 'd' : ch),
- hdr->tagged ? '*' : (hdr->
- flagged ? '!' : (Tochars
- &&
- ((i =
- mutt_user_is_recipient
- (hdr)) <
- str_len (Tochars)) ?
- Tochars[i] : ' ')));
+ hdr->tagged ? '*'
+ : (hdr->flagged ? '!'
+ : (Tochars && ((i = mutt_user_is_recipient(hdr)) < m_strlen(Tochars))
+ ? Tochars[i] : ' ')));
mutt_format_s (dest, destlen, prefix, buf2);
break;
&& (hdr->thread->parent && hdr->thread->parent->message
&& hdr->thread->parent->message->env->x_label))
htmp = hdr->thread->parent->message;
- if (htmp && str_casecmp (hdr->env->x_label,
+ if (htmp && m_strcasecmp(hdr->env->x_label,
htmp->env->x_label) == 0)
i = 0;
}