From 065004ef8c8451dcd9236467600d54d03d291c79 Mon Sep 17 00:00:00 2001 From: pdmef Date: Mon, 29 Aug 2005 05:00:38 +0000 Subject: [PATCH] Rocco Rutte: - repair feature_ tests (jnf gung zr? jnf V qehax?) git-svn-id: svn://svn.berlios.de/mutt-ng/trunk@464 e385b8ad-14ed-0310-8656-cc95a2468c6d --- VERSION.svn | 2 +- init.c | 28 +++++------- init.h | 125 +++++++++++----------------------------------------- 3 files changed, 37 insertions(+), 118 deletions(-) diff --git a/VERSION.svn b/VERSION.svn index 26551cf..3bb8a49 100644 --- a/VERSION.svn +++ b/VERSION.svn @@ -1 +1 @@ -463 +464 diff --git a/init.c b/init.c index 93c8fbc..e56a916 100644 --- a/init.c +++ b/init.c @@ -791,7 +791,7 @@ static int parse_ifdef (BUFFER * tmp, BUFFER * s, unsigned long data, mutt_extract_token (tmp, s, 0); /* is the item defined as a variable or a function? */ - if ((option = hash_find (ConfigOptions, tmp->data))) + if ((option = hash_find (ConfigOptions, tmp->data)) != NULL) res = 1; else { for (i = 0; !res && i < MENU_MAX; i++) { @@ -809,23 +809,16 @@ static int parse_ifdef (BUFFER * tmp, BUFFER * s, unsigned long data, } } /* check for feature_* */ - if (!res) { - char *p = NULL; - + if (!res && ascii_strncasecmp (tmp->data, "feature_", 8) == 0 && + (j = str_len (tmp->data)) > 8) { i = 0; - j = str_len (tmp->data); - /* need at least input of 'feature_X' */ - if (j >= 7) { - p = tmp->data + 7; - j -= 7; - while (Features[i].name) { - if (str_len (Features[i].name) == j && - ascii_strncasecmp (Features[i].name, p, j)) { - res = 1; - break; - } - i++; + while (Features[i]) { + if (str_len (Features[i]) == j-8 && + ascii_strncasecmp (Features[i], tmp->data+8, j-8) == 0) { + res = 1; + break; } + i++; } } @@ -836,9 +829,10 @@ static int parse_ifdef (BUFFER * tmp, BUFFER * s, unsigned long data, snprintf (err->data, err->dsize, _("ifndef: too few arguments")); return (-1); } + mutt_extract_token (tmp, s, M_TOKEN_SPACE); - if ((data && res) || (!data && !res)) { + if (data == res) { if (mutt_parse_rc_line (tmp->data, &token, err) == -1) { mutt_error ("Error: %s", err->data); mem_free (&token.data); diff --git a/init.h b/init.h index aaf956a..0719a13 100644 --- a/init.h +++ b/init.h @@ -70,11 +70,6 @@ struct option_t { char* init; }; -struct feature_t { - char *name; - short builtin; -}; - #define UL (unsigned long) #endif /* _MAKEDOC */ @@ -3817,148 +3812,78 @@ struct option_t MuttVars[] = { { NULL } }; -const struct feature_t Features[] = { - {"ncurses", +static const char* Features[] = { #ifdef NCURSES_VERSION - 1 -#else - 0 + "ncurses", #endif - }, {"slang", #ifdef USE_SLANG_CURSES - 1 -#else - 0 + "slang", #endif - }, {"iconv", #ifdef _LIBICONV_VERSION - 1 -#else - 0 + "iconv", #endif - }, {"idn", #ifdef HAVE_LIBIDN - 1 -#else - 0 + "idn", #endif - }, {"dotlock", #ifdef USE_DOTLOCK - 1 -#else - 0 + "dotlock", #endif - }, {"standalone", #ifdef DL_STANDALONE - 1 -#else - 0 + "standalone", #endif - }, {"pop", #ifdef USE_POP - 1 -#else - 0 + "pop", #endif - }, {"nntp", #ifdef USE_NNTP - 1 -#else - 0 + "nntp", #endif - }, {"imap", #ifdef USE_IMAP - 1 -#else - 0 + "imap", #endif - }, {"ssl", #ifdef USE_SSL - 1 -#else - 0 + "ssl", #endif - }, {"gnutls", #ifdef USE_GNUTLS - 1 -#else - 0 + "gnutls", #endif - }, {"sasl", #ifdef USE_SASL - 1 -#else - 0 + "sasl", #endif - }, {"sasl2", #ifdef USE_SASL2 - 1 -#else - 0 + "sasl2", #endif - }, {"libesmtp", #ifdef USE_LIBESMTP - 1 -#else - 0 + "libesmtp", #endif - }, {"compressed", #ifdef USE_COMPRESSED - 1 -#else - 0 + "compessed", #endif - }, {"color", #ifdef HAVE_COLOR - 1 -#else - 0 + "color", #endif - }, {"classic_pgp", #ifdef CRYPT_BACKEND_CLASSIC_PGP - 1 -#else - 0 + "classic_pgp", #endif - }, {"classic_smime", #ifdef CRYPT_BACKEND_CLASSIC_SMIME - 1 -#else - 0 + "class_smime", #endif - }, {"gpgme", #ifdef CRYPT_BACKEND_GPGME - 1 -#else - 0 + "gpgme", #endif - }, {"header_cache", #ifdef USE_HCACHE - 1 -#else - 0 + "header_cache", #endif - }, {"qdbm", #ifdef HAVE_QDBM - 1 -#else - 0 + "qdbm", #endif - }, {"gdbm", #ifdef HAVE_GDBM - 1 -#else - 0 + "gdbm", #endif - }, {"db4", #ifdef HAVE_DB4 - 1 -#else - 0 + "db4", #endif - }, /* last */ - {NULL, 0} + NULL }; const struct mapping_t SortMethods[] = { -- 2.20.1