#include "mbyte.h"
#include <lib-lib/buffer.h>
+#include <lib-lib/mapping.h>
#define MoreArgs(p) (*p->dptr && *p->dptr != ';' && *p->dptr != '#')
int mutt_option_value (const char* val, char* dst, size_t dstlen);
-ADDRESS *mutt_default_from (void);
-ADDRESS *mutt_remove_duplicates (ADDRESS *);
-ADDRESS *mutt_parse_adrlist (ADDRESS *, const char *);
+address_t *mutt_default_from (void);
+address_t *mutt_remove_duplicates (address_t *);
+address_t *mutt_parse_adrlist (address_t *, const char *);
BODY *mutt_make_file_attach (const char *);
BODY *mutt_make_message_attach (CONTEXT *, HEADER *, int);
HEADER *mutt_dup_header (HEADER *);
int mutt_cmp_header (const HEADER*, const HEADER*);
-int mutt_cmp_addr (const ADDRESS * a, const ADDRESS * b);
+int mutt_cmp_addr (const address_t * a, const address_t * b);
int mutt_cmp_list (const LIST * a, const LIST * b);
int mutt_cmp_env (const ENVELOPE * e1, const ENVELOPE * e2);
int mutt_cmp_param (const PARAMETER * p1, const PARAMETER * p2);
char *mutt_iconv_hook (const char *);
char *mutt_expand_path (char *, size_t);
char *_mutt_expand_path (char *, size_t, int);
-char *mutt_find_hook (int, const char *);
+char *mutt_find_hook (unsigned long, const char *);
char *mutt_gecos_name (char *, size_t, struct passwd *);
char *mutt_gen_msgid (void);
char *mutt_get_body_charset (char *, size_t, BODY *);
-const char *mutt_get_name (ADDRESS *);
+const char *mutt_get_name (address_t *);
char *mutt_get_parameter (const char *, PARAMETER *);
-char *mutt_crypt_hook (ADDRESS *);
+char *mutt_crypt_hook (address_t *);
char *mutt_make_date (char *, size_t);
const char *mutt_make_version (int full);
void mutt_allow_interrupt (int);
void mutt_block_signals (void);
void mutt_block_signals_system (void);
-int mutt_bounce_message (FILE * fp, HEADER *, ADDRESS *);
+int mutt_bounce_message (FILE * fp, HEADER *, address_t *);
void mutt_canonical_charset (char *, size_t, const char *);
int mutt_count_body_parts (HEADER *hdr, int flags);
void mutt_check_rescore (CONTEXT *);
void mutt_expand_link (char *, const char *, const char *);
void mutt_fix_reply_recipients (ENVELOPE * env);
void mutt_folder_hook (char *);
-void mutt_format_string (char *, size_t, int, int, int, char, const char *,
+void mutt_format_string (char *, size_t, unsigned int, int, int, char, const char *,
size_t, int);
void mutt_format_s (char *, size_t, const char *, const char *);
void mutt_format_s_tree (char *, size_t, const char *, const char *);
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);
void mutt_print_message (HEADER *);
void mutt_query_exit (void);
void mutt_query_menu (char *, size_t);
-void mutt_safe_path (char *s, size_t l, ADDRESS * a);
-void mutt_save_path (char *s, size_t l, ADDRESS * a);
+void mutt_safe_path (char *s, size_t l, address_t * a);
+void mutt_save_path (char *s, size_t l, address_t * a);
void mutt_score_message (CONTEXT *, HEADER *, int);
void mutt_select_fcc (char *, size_t, HEADER *);
#define mutt_select_file(A,B,C) _mutt_select_file(A,B,C,NULL,NULL)
void _mutt_select_file (char *, size_t, int, char ***, int *);
-void mutt_message_hook (CONTEXT *, HEADER *, int);
+void mutt_message_hook (CONTEXT *, HEADER *, unsigned long);
void _mutt_set_flag (CONTEXT *, HEADER *, int, int, int);
#define mutt_set_flag(a,b,c,d) _mutt_set_flag(a,b,c,d,1)
void mutt_update_encoding (BODY * a);
void mutt_version (void);
void mutt_write_references (LIST *, FILE *);
-void mutt_write_address_list (ADDRESS * adr, FILE * fp, int linelen,
+void mutt_write_address_list (address_t * adr, FILE * fp, int linelen,
int display);
int mutt_addwch (wchar_t);
int mutt_get_hook_type (const char *);
int mutt_get_postponed (CONTEXT *, HEADER *, HEADER **, char *, size_t);
int mutt_index_menu (void);
-int mutt_invoke_mta (ADDRESS *, ADDRESS *, ADDRESS *, ADDRESS *, const char *,
+int mutt_invoke_mta (address_t *, address_t *, address_t *, address_t *, const char *,
int);
-int mutt_is_mail_list (ADDRESS *);
-int mutt_is_list_cc (int, ADDRESS *, ADDRESS *);
-int mutt_is_list_recipient (int, ADDRESS *, ADDRESS *);
-int mutt_is_subscribed_list (ADDRESS *);
+int mutt_is_mail_list (address_t *);
+int mutt_is_list_cc (int, address_t *, address_t *);
+int mutt_is_list_recipient (int, address_t *, address_t *);
+int mutt_is_subscribed_list (address_t *);
int mutt_is_text_part (BODY *);
int mutt_is_valid_mailbox (const char *);
int mutt_lookup_mime_type (BODY *, const char *);
/* utf8.c */
int mutt_wctoutf8 (char *s, unsigned int c);
-#ifdef LOCALES_HACK
-#define IsPrint(c) (isprint((unsigned char)(c)) || \
- ((unsigned char)(c) >= 0xa0))
-#define IsWPrint(wc) (iswprint(wc) || wc >= 0xa0)
-#else
#define IsPrint(c) (isprint((unsigned char)(c)) || \
(option (OPTLOCALES) ? 0 : \
((unsigned char)(c) >= 0xa0)))
#define IsWPrint(wc) (iswprint(wc) || \
(option (OPTLOCALES) ? 0 : (wc >= 0xa0)))
-#endif
#define new_pattern() p_new(pattern_t, 1)