#include <pwd.h>
#include <grp.h>
-#include "rfc822.h"
-#include "list.h"
-#include "hash.h"
+#include <lib-lib/buffer.h>
+#include <lib-lib/hash.h>
+#include <lib-lib/list.h>
+
+#include <lib-mime/mime.h>
+
#include "charset.h"
#include "lib/rx.h"
#define INITVAL(x)
#endif
-/* flags for mutt_extract_token() */
-#define M_TOKEN_EQUAL 1 /* treat '=' as a special */
-#define M_TOKEN_CONDENSE (1<<1) /* ^(char) to control chars (macros) */
-#define M_TOKEN_SPACE (1<<2) /* don't treat whitespace as a term */
-#define M_TOKEN_QUOTE (1<<3) /* don't interpret quotes */
-#define M_TOKEN_PATTERN (1<<4) /* !)|~ are terms (for patterns) */
-#define M_TOKEN_COMMENT (1<<5) /* don't reap comments */
-#define M_TOKEN_SEMICOLON (1<<6) /* don't treat ; as special */
-
-typedef struct {
- char *data; /* pointer to data */
- char *dptr; /* current read/write position */
- size_t dsize; /* length of data */
- int destroy; /* destroy `data' when done? */
-} BUFFER;
-
typedef struct {
int ch; /* raw key pressed */
int op; /* function op */
#define M_REPLYHOOK (1<<10)
#define M_SEND2HOOK (1<<11)
-#ifdef USE_COMPRESSED
#define M_OPENHOOK (1<<12)
#define M_APPENDHOOK (1<<13)
#define M_CLOSEHOOK (1<<14)
-#endif
/* tree characters for linearize_tree and print_enriched_string */
#define M_TREE_LLCORNER 1
OPT_MIMEFWDREST,
OPT_MOVE,
OPT_PGPMIMEAUTO, /* ask to revert to PGP/MIME when inline fails */
-#ifdef USE_POP
OPT_POPDELETE,
OPT_POPRECONNECT,
-#endif
OPT_POSTPONE,
OPT_PRINT,
OPT_QUIT,
OPTPAGERSTOP,
OPTPIPEDECODE,
OPTPIPESPLIT,
-#ifdef USE_POP
OPTPOPAUTHTRYALL,
OPTPOPLAST,
-#endif
OPTPRINTDECODE,
OPTPRINTSPLIT,
OPTPROMPTAFTER,
} SPAM_LIST;
-#define mutt_new_spam_list() mem_calloc (1, sizeof (SPAM_LIST))
+#define mutt_new_spam_list() p_new(SPAM_LIST, 1)
void mutt_free_spam_list (SPAM_LIST **);
int mutt_matches_ignore (const char *, LIST *);
void mutt_init (int, LIST *);
-typedef struct envelope {
- ADDRESS *return_path;
- ADDRESS *from;
- ADDRESS *to;
- ADDRESS *cc;
- ADDRESS *bcc;
- ADDRESS *sender;
- ADDRESS *reply_to;
- ADDRESS *mail_followup_to;
- char *list_post; /* this stores a mailto URL, or nothing */
- char *subject;
- char *real_subj; /* offset of the real subject */
- char *message_id;
- char *supersedes;
- char *date;
- char *x_label;
- char *organization;
-#ifdef USE_NNTP
- char *newsgroups;
- char *xref;
- char *followup_to;
- char *x_comment_to;
-#endif
- BUFFER *spam;
- LIST *references; /* message references (in reverse order) */
- LIST *in_reply_to; /* in-reply-to header content */
- LIST *userhdrs; /* user defined headers */
- unsigned int irt_changed:1; /* In-Reply-To changed to link/break threads */
- unsigned int refs_changed:1; /* References changed to break thread */
-} ENVELOPE;
-
-typedef struct parameter {
- char *attribute;
- char *value;
- struct parameter *next;
-} PARAMETER;
-
/* Information that helps in determing the Content-* of an attachment */
typedef struct content {
long hibin; /* 8-bit characters */
PARAMETER *parameter; /* parameters of the content-type */
char *description; /* content-description */
char *form_name; /* Content-Disposition form-data name param */
- LOFF_T hdr_offset; /* offset in stream where the headers begin.
+ off_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
*/
- LOFF_T offset; /* offset where the actual data begins */
- LOFF_T length; /* length (in bytes) of attachment */
+ off_t offset; /* offset where the actual data begins */
+ off_t length; /* length (in bytes) of attachment */
char *filename; /* when sending a message, this is the file
* to which this structure refers
*/
time_t date_sent; /* time when the message was sent (UTC) */
time_t received; /* time when the message was placed in the mailbox */
- LOFF_T offset; /* where in the stream does this message begin? */
+ off_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 */
LIST *chain;
#endif
-#ifdef USE_POP
int refno; /* message number on server */
-#endif
-
-#if defined USE_POP || defined USE_IMAP || defined USE_NNTP
void *data; /* driver-specific data */
-#endif
char *maildir_flags; /* unknown maildir flags */
} HEADER;
int appended; /* how many saved messages? */
int flagged; /* how many flagged messages */
int msgnotreadyet; /* which msg "new" in pager, -1 if none */
-#if defined USE_POP || defined USE_IMAP || defined USE_NNTP
void *data; /* driver specific data */
-#endif /* USE_IMAP */
short magic; /* mailbox type */
-#ifdef USE_COMPRESSED
void *compressinfo; /* compressed mbox module private data */
char *realpath; /* path to compressed mailbox */
-#endif /* USE_COMPRESSED */
unsigned int locked:1; /* is the mailbox locked? */
unsigned int changed:1; /* mailbox has been modified */
typedef struct {
char *major;
int major_int;
- char *minor;
+ const char *minor;
regex_t minor_rx;
} ATTACH_MATCH;