#include "mbyte.h"
+#include <lib-lib/buffer.h>
+#include <lib-lib/mapping.h>
+
#define MoreArgs(p) (*p->dptr && *p->dptr != ';' && *p->dptr != '#')
#define mutt_make_string(A,B,C,D,E) _mutt_make_string(A,B,C,D,E,0)
#define mutt_system(x) _mutt_system(x,0)
int _mutt_system (const char *, int);
-#define mutt_new_parameter() mem_calloc (1, sizeof (PARAMETER))
-#define mutt_new_header() mem_calloc (1, sizeof (HEADER))
-#define mutt_new_envelope() mem_calloc (1, sizeof (ENVELOPE))
-#define mutt_new_enter_state() mem_calloc (1, sizeof (ENTER_STATE))
+#define mutt_new_parameter() p_new(PARAMETER, 1)
+#define mutt_new_header() p_new(HEADER, 1)
+#define mutt_new_envelope() p_new(ENVELOPE, 1)
+#define mutt_new_enter_state() p_new(ENTER_STATE, 1)
typedef const char *format_t (char *, size_t, char, const char *,
const char *, const char *, const char *,
BODY *mutt_remove_multipart (BODY *);
BODY *mutt_make_multipart (BODY *);
BODY *mutt_new_body (void);
-BODY *mutt_parse_multipart (FILE *, const char *, LOFF_T, int);
+BODY *mutt_parse_multipart (FILE *, const char *, off_t, int);
BODY *mutt_parse_messageRFC822 (FILE *, BODY *);
BODY *mutt_read_mime_header (FILE *, int);
void mutt_make_attribution (CONTEXT * ctx, HEADER * cur, FILE * out);
void mutt_make_forward_subject (ENVELOPE * env, CONTEXT * ctx, HEADER * cur);
void mutt_make_help (char *, size_t, char *, int, int);
+char *mutt_compile_help(char *, size_t, int, struct mapping_t *);
void mutt_make_misc_reply_headers (ENVELOPE * env, CONTEXT * ctx,
HEADER * cur, ENVELOPE * curenv);
void mutt_make_post_indent (CONTEXT * ctx, HEADER * cur, FILE * out);
int _mutt_enter_fname (const char *, char *, size_t, int *, int, int,
char ***, int *);
#define mutt_get_field(A,B,C,D) _mutt_get_field(A,B,C,D,0,NULL,NULL)
-int _mutt_get_field (char *, char *, size_t, int, int, char ***, int *);
+int _mutt_get_field (const char *, char *, size_t, int, int, char ***, int *);
int mutt_get_field_unbuffered (char *, char *, size_t, int);
int mutt_get_hook_type (const char *);
int mutt_get_postponed (CONTEXT *, HEADER *, HEADER **, char *, size_t);
(option (OPTLOCALES) ? 0 : (wc >= 0xa0)))
#endif
-#define new_pattern() mem_calloc(1, sizeof (pattern_t))
+#define new_pattern() p_new(pattern_t, 1)
int mutt_pattern_exec (struct pattern_t *pat, pattern_exec_flag flags,
CONTEXT * ctx, HEADER * h);
#define memmove(d,s,n) bcopy((s),(d),(n))
#endif
+#ifdef _AIX
/* AIX doesn't define these in any headers (sigh) */
int strcasecmp (const char *, const char *);
int strncasecmp (const char *, const char *, size_t);
-#ifdef _AIX
int setegid (gid_t);
#endif /* _AIX */