X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=init.c;h=2889e5ea068b2cbf210b75404019020696c41ede;hp=82636f18ba55723a3a619ea80c3f6e1f921f27ee;hb=76f757084ec84861326ef36977c6e116da9a1432;hpb=79b870584c9a4fca6f6bf34b9b95dcff3b76dc29 diff --git a/init.c b/init.c index 82636f1..2889e5e 100644 --- a/init.c +++ b/init.c @@ -732,9 +732,8 @@ static int parse_ignore (BUFFER * buf, BUFFER * s, return 0; } -static int parse_list (BUFFER * buf, BUFFER * s, - unsigned long data __attribute__ ((unused)), - BUFFER * err __attribute__ ((unused))) +static int parse_list(BUFFER * buf, BUFFER * s, unsigned long data, + BUFFER * err __attribute__ ((unused))) { do { mutt_extract_token (buf, s, 0); @@ -1251,8 +1250,7 @@ static int parse_alias (BUFFER * buf, BUFFER * s, set_option (OPTFORCEREDRAWINDEX); } - mutt_extract_token(buf, s, - M_TOKEN_QUOTE | M_TOKEN_SPACE | M_TOKEN_SEMICOLON); + mutt_extract_token(buf, s, M_TOKEN_QUOTE | M_TOKEN_SPACE); (*last)->addr = mutt_parse_adrlist((*last)->addr, buf->data); if (mutt_addrlist_to_idna((*last)->addr, &estr)) { snprintf (err->data, err->dsize, @@ -1928,7 +1926,7 @@ static int parse_source (BUFFER * tmp, BUFFER * s, every call to this function. err where to write error messages */ -int mutt_parse_rc_line ( /* const */ char *line, BUFFER * token, BUFFER * err) +int mutt_parse_rc_line (const char *line, BUFFER * token, BUFFER * err) { int i, r = -1; BUFFER expn; @@ -2306,6 +2304,9 @@ static int mutt_execute_commands (string_list_t * p) return 0; } +#include "parse.h" +#include "rcparser.h" + void mutt_init (int skip_sys_rc, string_list_t * commands) { struct passwd *pw; @@ -2518,6 +2519,40 @@ void mutt_init (int skip_sys_rc, string_list_t * commands) } } +#if 0 + { + void *parser = rcparseAlloc(malloc); + struct rcstate state; + segment s1 = {" ", 1}; + segment s2 = {"toto", 4 }; + segment s3 = {"titi", 4 }; + segment s4 = {"\"", 1 }; + segment s5 = {"index_format", 12 }; + + mutt_endwin(NULL); + + p_clear(&state, 1); + + rcparseTrace(stderr, "> "); + rcparse(parser, RCTK_ALTERNATIVE_ORDER, s1, &state); + rcparse(parser, RCTK_SPACE, s1, &state); + rcparse(parser, RCTK_ATOM, s2, &state); + rcparse(parser, RCTK_SPACE, s1, &state); + rcparse(parser, RCTK_DQUOTE, s4, &state); + rcparse(parser, RCTK_ATOM, s3, &state); + rcparse(parser, RCTK_SPACE, s1, &state); + rcparse(parser, RCTK_ATOM, s3, &state); + rcparse(parser, RCTK_DQUOTE, s4, &state); + rcparse(parser, RCTK_SPACE, s1, &state); + rcparse(parser, RCTK_DOLLAR, s1, &state); + rcparse(parser, RCTK_ATOM, s5, &state); + rcparse(parser, RCTK_NL, s1, &state); + rcparse(parser, 0, s1, &state); + + exit(0); + } +#endif + /* Read the user's initialization file. */ if (access (Muttrc, F_OK) != -1) { if (!option (OPTNOCURSES))