M_LIMIT,
M_EXPIRED,
M_SUPERSEDED,
- M_REALNAME,
/* actions for mutt_pattern_comp/mutt_pattern_exec */
M_AND,
M_REFERENCE,
M_RECIPIENT,
M_LIST,
+ M_SUBSCRIBED_LIST,
M_PERSONAL_RECIP,
M_PERSONAL_FROM,
M_ADDRESS,
M_CRYPT_ENCRYPT,
M_PGP_KEY,
M_XLABEL,
+ M_MIMEATTACH,
#ifdef USE_NNTP
M_NEWSGROUPS,
#endif
+ M_REALNAME,
+ M_MULTIPART,
/* Options for Mailcap lookup */
M_EDIT,
OPTCOLLAPSEUNREAD,
OPTCONFIRMAPPEND,
OPTCONFIRMCREATE,
+ OPTCOUNTATTACH,
OPTDELETEUNTAG,
OPTDELSP,
OPTDIGESTCOLLAPSE,
OPTWRAPSEARCH,
OPTWRITEBCC, /* write out a bcc header? */
OPTXMAILER,
+ OPTXMAILTO, /* 1 if $edit_header is forcebly set */
OPTXTERMSETTITLES,
OPTCRYPTUSEGPGME,
PARAMETER *parameter; /* parameters of the content-type */
char *description; /* content-description */
char *form_name; /* Content-Disposition form-data name param */
- long hdr_offset; /* offset in stream where the headers begin.
+ LOFF_T hdr_offset; /* offset in stream where the headers begin.
* this info is used when invoking metamail,
* where we need to send the headers of the
* attachment
*/
- long offset; /* offset where the actual data begins */
- long length; /* length (in bytes) of attachment */
+ LOFF_T offset; /* offset where the actual data begins */
+ LOFF_T length; /* length (in bytes) of attachment */
char *filename; /* when sending a message, this is the file
* to which this structure refers
*/
struct attachptr *aptr; /* Menu information, used in recvattach.c */
+ signed short attach_count;
+
time_t stamp; /* time stamp of last
* encoding update.
*/
unsigned int badsig:1; /* bad cryptographic signature (needed to check encrypted s/mime-signatures) */
unsigned int collapsed:1; /* used by recvattach */
+ unsigned int attach_qualifies:1;
} BODY;
unsigned int security:11; /* bit 0-6: flags, bit 7,8: application.
see: crypt.h pgplib.h, smime.h */
- unsigned int mime:1; /* has a Mime-Version header? */
+ unsigned int mime:1; /* has a MIME-Version header? */
unsigned int flagged:1; /* marked important? */
unsigned int tagged:1;
unsigned int appended:1; /* has been saved */
unsigned int searched:1;
unsigned int matched:1;
+ /* tells whether the attach count is valid */
+ unsigned int attach_valid:1;
+
/* the following are used to support collapsing threads */
unsigned int collapsed:1; /* is this message part of a collapsed thread? */
unsigned int limited:1; /* is this message in a limited view? */
time_t date_sent; /* time when the message was sent (UTC) */
time_t received; /* time when the message was placed in the mailbox */
- long offset; /* where in the stream does this message begin? */
+ LOFF_T offset; /* where in the stream does this message begin? */
int lines; /* how many lines in the body of this message? */
int index; /* the absolute (unsorted) message number */
int msgno; /* number displayed to the user */
char *tree; /* character string to print thread tree */
struct thread *thread;
+ short attach_total;
+
#ifdef MIXMASTER
LIST *chain;
#endif
/* flag to mutt_pattern_comp() */
-#define M_FULL_MSG 1 /* enable body and header matching */
+#define M_FULL_MSG (1<<0) /* enable body and header matching */
typedef enum {
M_MATCH_FULL_ADDRESS = 1
typedef struct pattern_t {
short op;
- short not;
- short alladdr;
+ unsigned int not : 1;
+ unsigned int alladdr : 1;
+ unsigned int stringmatch : 1;
int min;
int max;
struct pattern_t *next;
struct pattern_t *child; /* arguments to logical op */
+ char* str;
regex_t *rx;
} pattern_t;
unsigned int counting:1; /* do we just want to cound? */
} CONTEXT;
+/* for attachment counter */
+typedef struct {
+ char *major;
+ int major_int;
+ char *minor;
+ regex_t minor_rx;
+} ATTACH_MATCH;
+
+/* Flags for mutt_count_body_parts() */
+#define M_PARTS_TOPLEVEL (1<<0) /* is the top-level part */
+#define M_PARTS_RECOUNT (1<<1) /* force recount */
+
#include "protos.h"
#include "lib.h"
#include "globals.h"