X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=mutt.h;h=21ef4a7ae6dde84e5fcd3eea132a1b41534a74fa;hp=e8d53e6103998447e16ec9b20df1644dcb9c8428;hb=6605e3e4bf358e8d5835232623dc359af219cc6a;hpb=ea912b20ba2b3b9dfdbbae758ad56263c9aa41b3 diff --git a/mutt.h b/mutt.h index e8d53e6..21ef4a7 100644 --- a/mutt.h +++ b/mutt.h @@ -11,50 +11,11 @@ #ifndef _MUTT_H #define _MUTT_H -#include "config.h" +#include +#include +#include -#include -#include -#ifdef HAVE_UNISTD_H -# include /* needed for SEEK_SET */ -#endif -#ifdef HAVE_UNIX_H -# include /* needed for snprintf on QNX. */ -#endif -#include -#include -#include -#include -#include -#include -#ifdef HAVE_WCHAR_H -# include -#endif -#if defined(HAVE_WCTYPE_H) && defined(HAVE_WC_FUNCS) -# include -#endif - -#ifndef _POSIX_PATH_MAX -#include -#endif - -#include -#include - -#include "rfc822.h" -#include "list.h" -#include "hash.h" -#include "charset.h" -#include "lib/rx.h" - -#ifndef HAVE_WC_FUNCS -# ifdef MB_LEN_MAX -# undef MB_LEN_MAX -# endif -# define MB_LEN_MAX 16 -#endif - -# define MUTT_VERSION (VERSION) +#define MUTT_VERSION VERSION /* nifty trick I stole from ELM 2.5alpha. */ #ifdef MAIN_C @@ -65,60 +26,25 @@ #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 */ } event_t; -/* flags for _mutt_system() */ -#define M_DETACH_PROCESS 1 /* detach subprocess from group */ - -/* flags for mutt_FormatString() */ -typedef enum { - M_FORMAT_FORCESUBJ = (1 << 0), /* print the subject even if unchanged */ - M_FORMAT_TREE = (1 << 1), /* draw the thread tree */ - M_FORMAT_MAKEPRINT = (1 << 2), /* make sure that all chars are printable */ - M_FORMAT_OPTIONAL = (1 << 3), - M_FORMAT_STAT_FILE = (1 << 4), /* used by mutt_attach_fmt */ - M_FORMAT_ARROWCURSOR = (1 << 5), /* reserve space for arrow_cursor */ - M_FORMAT_INDEX = (1 << 6) /* this is a main index entry */ -} format_flag; - /* types for mutt_add_hook() */ -#define M_FOLDERHOOK 1 +#define M_FOLDERHOOK (1<<0) #define M_MBOXHOOK (1<<1) #define M_SENDHOOK (1<<2) #define M_FCCHOOK (1<<3) #define M_SAVEHOOK (1<<4) -#define M_CHARSETHOOK (1<<5) -#define M_ICONVHOOK (1<<6) -#define M_MESSAGEHOOK (1<<7) -#define M_CRYPTHOOK (1<<8) -#define M_ACCOUNTHOOK (1<<9) -#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 +#define M_MESSAGEHOOK (1<<5) +#define M_CRYPTHOOK (1<<6) +#define M_REPLYHOOK (1<<7) +#define M_SEND2HOOK (1<<8) + +#define M_OPENHOOK (1<<9) +#define M_APPENDHOOK (1<<10) +#define M_CLOSEHOOK (1<<11) /* tree characters for linearize_tree and print_enriched_string */ #define M_TREE_LLCORNER 1 @@ -202,9 +128,6 @@ enum { M_PGP_KEY, M_XLABEL, M_MIMEATTACH, -#ifdef USE_NNTP - M_NEWSGROUPS, -#endif M_REALNAME, M_MULTIPART, @@ -216,23 +139,12 @@ enum { /* options for socket code */ M_NEW_SOCKET, -#ifdef USE_SSL - M_NEW_SSL_SOCKET, -#endif /* Options for mutt_save_attachment */ M_SAVE_APPEND, M_SAVE_OVERWRITE }; -/* possible arguments to set_quadoption() */ -enum { - M_NO, - M_YES, - M_ASKNO, - M_ASKYES -}; - /* quad-option vars */ enum { OPT_ABORT, @@ -242,35 +154,19 @@ enum { OPT_DELETE, OPT_FORWEDIT, OPT_INCLUDE, -#ifdef USE_IMAP OPT_IMAPRECONNECT, -#endif OPT_MFUPTO, OPT_MIMEFWD, 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, OPT_REPLYTO, OPT_RECALL, -#if defined(USE_SSL) || defined(USE_GNUTLS) - OPT_SSLSTARTTLS, -#endif OPT_SUBJECT, - OPT_VERIFYSIG, /* verify PGP signatures */ OPT_LISTREPLY, -#ifdef USE_NNTP - OPT_TOMODERATED, - OPT_NNTPRECONNECT, - OPT_CATCHUP, - OPT_FOLLOWUPTOPOSTER, -#endif /* USE_NNTP */ /* THIS MUST BE THE LAST VALUE. */ OPT_MAX @@ -283,49 +179,29 @@ enum { #define SENDFORWARD (1<<3) #define SENDPOSTPONED (1<<4) #define SENDBATCH (1<<5) -#define SENDMAILX (1<<6) -#define SENDKEY (1<<7) -#define SENDRESEND (1<<8) -#define SENDNEWS (1<<9) - -/* flags to _mutt_select_file() */ -#define M_SEL_BUFFY (1<<0) -#define M_SEL_MULTI (1<<1) -#define M_SEL_FOLDER (1<<2) - -/* flags for parse_spam_list */ -#define M_SPAM 1 -#define M_NOSPAM 2 +#define SENDRESEND (1<<6) +#define SENDNEWS (1<<7) /* boolean vars */ enum { OPTALLOW8BIT, - OPTALLOWANSI, - OPTARROWCURSOR, - OPTASCIICHARS, OPTASKBCC, OPTASKCC, OPTASKFOLLOWUP, - OPTASKXCOMMENTTO, OPTATTACHSPLIT, OPTAUTOEDIT, OPTAUTOTAG, - OPTBEEP, - OPTBEEPNEW, OPTBOUNCEDELIVERED, - OPTBRAILLEFRIENDLY, OPTCHECKNEW, OPTCOLLAPSEUNREAD, OPTCONFIRMAPPEND, OPTCONFIRMCREATE, - OPTCOUNTATTACH, OPTDELETEUNTAG, OPTDELSP, OPTDIGESTCOLLAPSE, OPTDUPTHREADS, OPTEDITHDRS, OPTENCODEFROM, - OPTENVFROM, OPTFASTREPLY, OPTFCCATTACH, OPTFCCCLEAR, @@ -334,15 +210,7 @@ enum { OPTFORCENAME, OPTFORWDECODE, OPTFORWQUOTE, -#ifdef USE_HCACHE - OPTHCACHEVERIFY, -#if HAVE_QDBM - OPTHCACHECOMPRESS, -#endif /* HAVE_QDBM */ -#endif - OPTHDRS, OPTHEADER, - OPTHELP, OPTHIDDENHOST, OPTHIDELIMITED, OPTHIDEMISSING, @@ -350,89 +218,48 @@ enum { OPTHIDETOPLIMITED, OPTHIDETOPMISSING, OPTIGNORELISTREPLYTO, -#ifdef USE_IMAP OPTIMAPCHECKSUBSCRIBED, OPTIMAPLSUB, OPTIMAPPASSIVE, - OPTIMAPPEEK, OPTIMAPSERVERNOISE, -#endif -#if defined(USE_SSL) || defined(USE_GNUTLS) -# ifndef USE_GNUTLS - OPTSSLSYSTEMCERTS, - OPTSSLV2, -# endif /* !USE_GNUTLS */ - OPTSSLV3, - OPTTLSV1, - OPTSSLFORCETLS, -#endif /* USE_SSL || USE_GNUTLS */ OPTIMPLICITAUTOVIEW, - OPTINCLUDEONLYFIRST, OPTKEEPFLAGGED, - OPTMAILCAPSANITIZE, OPTMAILDIRTRASH, OPTMARKERS, OPTMARKOLD, OPTMBOXPANE, - OPTMENUSCROLL, /* scroll menu instead of implicit next-page */ - OPTMENUMOVEOFF, - OPTMETAKEY, /* interpret ALT-x as ESC-x */ + OPTSHORTENHIERARCHY, /* set when to shorten "hierarchies" in the sidebar */ + OPTSIDEBARNEWMAILONLY, OPTMETOO, OPTMHPURGE, OPTMIMEFORWDECODE, -#ifdef USE_NNTP - OPTMIMESUBJECT, /* encode subject line with RFC2047 */ -#endif OPTNARROWTREE, OPTPAGERSTOP, OPTPIPEDECODE, OPTPIPESPLIT, -#ifdef USE_POP - OPTPOPAUTHTRYALL, OPTPOPLAST, -#endif OPTPRINTDECODE, OPTPRINTSPLIT, OPTPROMPTAFTER, OPTQUOTEEMPTY, OPTQUOTEQUOTED, - OPTREADONLY, - OPTREPLYSELF, OPTRESOLVE, OPTREVALIAS, OPTREVNAME, OPTREVREAL, - OPTRFC2047PARAMS, - OPTSAVEADDRESS, - OPTSAVEEMPTY, - OPTSAVENAME, - OPTSCORE, OPTSIGDASHES, - OPTSIGONTOP, OPTSORTRE, - OPTSPAMSEP, - OPTSTATUSONTOP, OPTSTRICTMAILTO, - OPTSTRICTMIME, OPTSTRICTTHREADS, OPTSTRIPWAS, OPTSTUFFQUOTED, - OPTSUSPEND, OPTTEXTFLOWED, OPTTHOROUGHSRC, OPTTHREADRECEIVED, OPTTILDE, OPTUNCOLLAPSEJUMP, - OPTUSE8BITMIME, - OPTUSEDOMAIN, OPTUSEFROM, - OPTUSEGPGAGENT, -#ifdef HAVE_LIBIDN OPTUSEIDN, -#endif -#ifdef HAVE_GETADDRINFO - OPTUSEIPV6, -#endif OPTWAITKEY, OPTWEED, OPTWRAP, @@ -442,50 +269,20 @@ enum { OPTXMAILTO, /* 1 if $edit_header is forcebly set */ OPTXTERMSETTITLES, - OPTCRYPTUSEGPGME, - /* PGP options */ - - OPTCRYPTAUTOSIGN, - OPTCRYPTAUTOENCRYPT, - OPTCRYPTAUTOPGP, - OPTCRYPTAUTOSMIME, - OPTCRYPTREPLYENCRYPT, - OPTCRYPTREPLYSIGN, - OPTCRYPTREPLYSIGNENCRYPTED, - OPTCRYPTTIMESTAMP, - OPTSMIMEISDEFAULT, - OPTASKCERTLABEL, - OPTSDEFAULTDECRYPTKEY, - OPTPGPIGNORESUB, - OPTPGPCHECKEXIT, - OPTPGPLONGIDS, - OPTPGPAUTODEC, -#if 0 - OPTPGPENCRYPTSELF, -#endif OPTPGPRETAINABLESIG, - OPTPGPSTRICTENC, OPTFORWDECRYPT, OPTPGPSHOWUNUSABLE, - OPTPGPAUTOINLINE, - OPTPGPREPLYINLINE, /* news options */ - -#ifdef USE_NNTP OPTSHOWNEWNEWS, OPTSHOWONLYUNREAD, - OPTSAVEUNSUB, OPTLOADDESC, - OPTXCOMMENTTO, -#endif /* USE_NNTP */ /* pseudo options */ OPTAUXSORT, /* (pseudo) using auxillary sort function */ OPTFORCEREFRESH, /* (pseudo) refresh even during macros */ - OPTLOCALES, /* (pseudo) set if user has valid locale definition */ OPTNOCURSES, /* (pseudo) when sending in batch mode */ OPTNEEDREDRAW, /* (pseudo) to notify caller of a submenu */ OPTSEARCHREVERSE, /* (pseudo) used by ci_search_command */ @@ -509,254 +306,23 @@ enum { OPTMENUCALLER, /* (pseudo) tell menu to give caller a take */ OPTREDRAWTREE, /* (pseudo) redraw the thread tree */ OPTPGPCHECKTRUST, /* (pseudo) used by pgp_select_key () */ - OPTDONTHANDLEPGPKEYS, /* (pseudo) used to extract PGP keys */ OPTUNBUFFEREDINPUT, /* (pseudo) don't use key buffer */ - -#ifdef USE_NNTP OPTNEWS, /* (pseudo) used to change reader mode */ OPTNEWSSEND, /* (pseudo) used to change behavior when posting */ - OPTNEWSCACHE, /* (pseudo) used to indicate if news cache exist */ -#endif - OPTSHORTENHIERARCHY, /* set when to shorten "hierarchies" in the sidebar */ - OPTSIDEBARNEWMAILONLY, OPTMAX }; -#define mutt_bit_alloc(n) calloc ((n + 7) / 8, sizeof (char)) -#define mutt_bit_set(v,n) v[n/8] |= (1 << (n % 8)) -#define mutt_bit_unset(v,n) v[n/8] &= ~(1 << (n % 8)) -#define mutt_bit_toggle(v,n) v[n/8] ^= (1 << (n % 8)) -#define mutt_bit_isset(v,n) (v[n/8] & (1 << (n % 8))) - -#define set_option(x) mutt_bit_set(Options,x) -#define unset_option(x) mutt_bit_unset(Options,x) -#define toggle_option(x) mutt_bit_toggle(Options,x) -#define option(x) mutt_bit_isset(Options,x) - -typedef struct spam_list_t { - rx_t *rx; - int nmatch; - char *template; - struct spam_list_t *next; -} SPAM_LIST; - - -#define mutt_new_spam_list() mem_calloc (1, sizeof (SPAM_LIST)) -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 */ - long lobin; /* unprintable 7-bit chars (eg., control chars) */ - long crlf; /* '\r' and '\n' characters */ - long ascii; /* number of ascii chars */ - long linemax; /* length of the longest line in the file */ - unsigned int space:1; /* whitespace at the end of lines? */ - unsigned int binary:1; /* long lines, or CR not in CRLF pair */ - unsigned int from:1; /* has a line beginning with "From "? */ - unsigned int dot:1; /* has a line consisting of a single dot? */ - unsigned int cr:1; /* has CR, even when in a CRLF pair */ -} CONTENT; - -typedef struct body { - char *xtype; /* content-type if x-unknown */ - char *subtype; /* content-type subtype */ - 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. - * 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 */ - char *filename; /* when sending a message, this is the file - * to which this structure refers - */ - char *d_filename; /* filename to be used for the - * content-disposition header. - * If NULL, filename is used - * instead. - */ - char *file_charset; /* charset of attached file */ - CONTENT *content; /* structure used to store detailed info about - * the content of the attachment. this is used - * to determine what content-transfer-encoding - * is required when sending mail. - */ - struct body *next; /* next attachment in the list */ - struct body *parts; /* parts of a multipart or message/rfc822 */ - struct header *hdr; /* header information for message/rfc822 */ - - struct attachptr *aptr; /* Menu information, used in recvattach.c */ - - signed short attach_count; - - time_t stamp; /* time stamp of last - * encoding update. - */ +#define mutt_bit_set(v,n) (v[n / 8] |= (1 << (n & 7))) +#define mutt_bit_unset(v,n) (v[n / 8] &= ~(1 << (n & 7))) +#define mutt_bit_toggle(v,n) (v[n / 8] ^= (1 << (n & 7))) +#define mutt_bit_isset(v,n) (v[n / 8] & (1 << (n & 7))) - unsigned int type:4; /* content-type primary type */ - unsigned int encoding:3; /* content-transfer-encoding */ - unsigned int disposition:2; /* content-disposition */ - unsigned int use_disp:1; /* Content-Disposition uses filename= ? */ - unsigned int unlink:1; /* flag to indicate the the file named by - * "filename" should be unlink()ed before - * free()ing this structure - */ - unsigned int tagged:1; - unsigned int deleted:1; /* attachment marked for deletion */ - - unsigned int noconv:1; /* don't do character set conversion */ - unsigned int force_charset:1; - /* send mode: don't adjust the character - * set when in send-mode. - */ - unsigned int is_signed_data:1; /* A lot of MUAs don't indicate - S/MIME signed-data correctly, - e.g. they use foo.p7m even for - the name of signed data. This - flag is used to keep track of - the actual message type. It - gets set during the verification - (which is done if the encryption - try failed) and check by the - function to figure the type of - the message. */ - - unsigned int goodsig:1; /* good cryptographic signature */ - unsigned int warnsig:1; /* maybe good signature */ - 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; - -typedef struct header { - 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 flagged:1; /* marked important? */ - unsigned int tagged:1; - unsigned int appended:1; /* has been saved */ - unsigned int purged:1; /* bypassing the trash folder */ - unsigned int deleted:1; - unsigned int changed:1; - unsigned int attach_del:1; /* has an attachment marked for deletion */ - unsigned int old:1; - unsigned int read:1; - unsigned int expired:1; /* already expired? */ - unsigned int superseded:1; /* got superseded? */ - unsigned int replied:1; - unsigned int subject_changed:1; /* used for threading */ - unsigned int threaded:1; /* used for threading */ - unsigned int display_subject:1; /* used for threading */ - unsigned int recip_valid:1; /* is_recipient is valid */ - unsigned int active:1; /* message is not to be removed */ - unsigned int trash:1; /* message is marked as trashed on disk. - * This flag is used by the maildir_trash - * option. - */ +#define set_option(x) mutt_bit_set(Options, x) +#define unset_option(x) mutt_bit_unset(Options, x) +#define toggle_option(x) mutt_bit_toggle(Options, x) +#define option(x) mutt_bit_isset(Options, x) - /* timezone of the sender of this message */ - unsigned int zhours:5; - unsigned int zminutes:6; - unsigned int zoccident:1; - - /* bits used for caching when searching */ - 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? */ - size_t num_hidden; /* number of hidden messages in this view */ - - short recipient; /* user_is_recipient()'s return value, cached */ - - int pair; /* color-pair to use when displaying in the index */ - - 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? */ - 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 */ - int virtual; /* virtual message number */ - int score; - ENVELOPE *env; /* envelope information */ - BODY *content; /* list of MIME parts */ - char *path; -#ifdef USE_NNTP - int article_num; -#endif - - char *tree; /* character string to print thread tree */ - struct thread *thread; - - short attach_total; - -#ifdef MIXMASTER - 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; +void mutt_init (int, string_list_t *); typedef struct thread { unsigned int fake_thread:1; @@ -775,26 +341,8 @@ typedef struct thread { HEADER *sort_key; } THREAD; - -/* flag to mutt_pattern_comp() */ -#define M_FULL_MSG (1<<0) /* enable body and header matching */ - -typedef enum { - M_MATCH_FULL_ADDRESS = 1 -} pattern_exec_flag; - -typedef struct pattern_t { - short op; - 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; +typedef struct compress_info compress_info; +typedef struct pattern_t pattern_t; typedef struct { char *path; @@ -808,9 +356,9 @@ typedef struct { HEADER **hdrs; HEADER *last_tag; /* last tagged msg. used to link threads */ THREAD *tree; /* top of thread tree */ - HASH *id_hash; /* hash table by msg id */ - HASH *subj_hash; /* hash table by subject */ - HASH *thread_hash; /* hash table for threading */ + hash_t *id_hash; /* hash table by msg id */ + hash_t *subj_hash; /* hash table by subject */ + hash_t *thread_hash; /* hash table for threading */ int *v2r; /* mapping from virtual to real msgno */ int hdrmax; /* number of pointers in hdrs */ int msgcount; /* number of messages in the mailbox */ @@ -822,16 +370,12 @@ typedef struct { 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 */ + compress_info *cinfo; /* 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 */ @@ -848,7 +392,7 @@ typedef struct { typedef struct { char *major; int major_int; - char *minor; + const char *minor; regex_t minor_rx; } ATTACH_MATCH; @@ -857,7 +401,6 @@ typedef struct { #define M_PARTS_RECOUNT (1<<1) /* force recount */ #include "protos.h" -#include "lib.h" #include "globals.h" #endif /* !_MUTT_H */