X-Git-Url: http://git.madism.org/?a=blobdiff_plain;f=init.c;h=0728ffee6468d582525db911a850e49b8d8f4dc0;hb=c630675d53c350801bad8f146713104be84ba997;hp=9c81fe14b3a7578cd8993c3a02eced5c07283b42;hpb=5435729df11cfc6ca23e65e66ab034befece0b18;p=apps%2Fmadmutt.git diff --git a/init.c b/init.c index 9c81fe1..0728ffe 100644 --- a/init.c +++ b/init.c @@ -567,19 +567,41 @@ static int parse_ifdef (BUFFER *tmp, BUFFER *s, unsigned long data, BUFFER *err) break; } } + /* check for feature_* */ + if (!res) { + char* p = NULL; + i = 0; + j = mutt_strlen (tmp->data); + /* need at least input of 'feature_X' */ + if (j >= 7) { + p = tmp->data + 7; + j -= 7; + while (Features[i].name) { + if (mutt_strlen (Features[i].name) == j && + ascii_strncasecmp (Features[i].name, p, j)) { + res = 1; + break; + } + i++; + } + } + } if (!MoreArgs (s)) { - snprintf (err->data, err->dsize, _("ifdef: too few arguments")); + if (data) + snprintf (err->data, err->dsize, _("ifdef: too few arguments")); + else + snprintf (err->data, err->dsize, _("ifndef: too few arguments")); return (-1); } mutt_extract_token (tmp, s, M_TOKEN_SPACE); - if (res) + if ((data && res) || (!data && !res)) { if (mutt_parse_rc_line (tmp->data, &token, err) == -1) { - mutt_error ("Erreur: %s", err->data); + mutt_error ("Error: %s", err->data); FREE (&token.data); return (-1); } @@ -630,6 +652,7 @@ static int parse_list (BUFFER *buf, BUFFER *s, unsigned long data, BUFFER *err) return 0; } +#if 0 static int _parse_rx_list (BUFFER *buf, BUFFER *s, unsigned long data, BUFFER *err, int flags) { do @@ -665,6 +688,7 @@ static int parse_rx_unlist (BUFFER *buf, BUFFER *s, unsigned long data, BUFFER * return 0; } +#endif static void _alternates_clean (void) {