X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=init.c;h=193116d0c33b2a4e1152485e04c2495d57fc7a00;hp=a40194df314acaa20e82b67322f186bad7611e1e;hb=676b896e26b7aeef16d95aba7a5ea9322d2dc6e1;hpb=a742b680bdba8cb47d2b81ab3397cdbec7ed5b69 diff --git a/init.c b/init.c index a40194d..193116d 100644 --- a/init.c +++ b/init.c @@ -10,26 +10,8 @@ * please see the file GPL in the top level source directory. */ -#if HAVE_CONFIG_H -# include "config.h" -#endif - -#include -#include -#include -#include +#include #include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include #include #include @@ -256,14 +238,14 @@ static void sys_to_string (char* dst, ssize_t dstlen, int clean = 0; /* get some $madmutt_ values dynamically */ - if (ascii_strcmp ("madmutt_pwd", option->option) == 0) { + if (m_strcmp("madmutt_pwd", option->option) == 0) { val = p_new(char, _POSIX_PATH_MAX); val = getcwd (val, _POSIX_PATH_MAX-1); clean = 1; - } else if (ascii_strcmp ("madmutt_folder_path", option->option) == 0 && + } else if (m_strcmp("madmutt_folder_path", option->option) == 0 && CurrentFolder && *CurrentFolder) { val = CurrentFolder; - } else if (ascii_strcmp ("madmutt_folder_name", option->option) == 0 && + } else if (m_strcmp("madmutt_folder_name", option->option) == 0 && CurrentFolder && *CurrentFolder) { ssize_t Maildirlength = m_strlen(Maildir); @@ -276,7 +258,7 @@ static void sys_to_string (char* dst, ssize_t dstlen, Maildirlength) == 0 && m_strlen(CurrentFolder) > Maildirlength) { val = CurrentFolder + Maildirlength; - if (Maildir[strlen(Maildir)-1]!='/') + if (Maildir[Maildirlength]!='/') val += 1; /* if not $folder, just use everything after last / */ } else if ((t = strrchr (CurrentFolder, '/')) != NULL) @@ -569,7 +551,7 @@ static void syn_del (void** p) { p_delete(p); } -void toggle_quadoption (int opt) +static void toggle_quadoption (int opt) { int n = opt / 4; int b = (opt % 4) * 2; @@ -643,26 +625,25 @@ static void add_to_list (string_list_t ** list, const char *str) } } -static int add_to_rx_list (list2_t** list, const char *s, int flags, - BUFFER * err) +static int +add_to_rx_list(rx_t **list, const char *s, int flags, BUFFER *err) { - rx_t* rx; - int i = 0; + rx_t* rx; - if (!s || !*s) - return 0; + if (!s || !*s) + return 0; - if (!(rx = rx_compile (s, flags))) { - snprintf (err->data, err->dsize, "Bad regexp: %s\n", s); - return -1; - } + if (rx_lookup(list, s)) + return 0; - i = rx_lookup ((*list), rx->pattern); - if (i >= 0) - rx_delete(&rx); - else - list_push_back (list, rx); - return 0; + rx = rx_compile(s, flags); + if (!rx) { + snprintf(err->data, err->dsize, "Bad regexp: %s\n", s); + return -1; + } + + rx_list_append(list, rx); + return 0; } static int add_to_spam_list (SPAM_LIST ** list, const char *pat, @@ -792,23 +773,21 @@ static void remove_from_list (string_list_t ** l, const char *str) } } -static int remove_from_rx_list (list2_t** l, const char *str) +static int remove_from_rx_list(rx_t **l, const char *str) { - int i = 0; + if (m_strcmp("*", str) == 0) { + rx_list_wipe(l); + return 0; + } - if (m_strcmp("*", str) == 0) { - list_del (l, (list_del_t*) rx_delete); - return (0); - } - else { - i = rx_lookup ((*l), str); - if (i >= 0) { - rx_t* r = list_pop_idx ((*l), i); - rx_delete(&r); - return (0); + l = rx_lookup(l, str); + if (l) { + rx_t *r = rx_list_pop(l); + rx_delete(&r); + return 0; } - } - return (-1); + + return -1; } static int parse_ifdef (BUFFER * tmp, BUFFER * s, unsigned long data, @@ -1014,7 +993,7 @@ static int parse_spam_list (BUFFER * buf, BUFFER * s, unsigned long data, /* "*" is a special case. */ if (!m_strcmp(buf->data, "*")) { mutt_free_spam_list (&SpamList); - list_del (&NoSpamList, (list_del_t*) rx_delete); + rx_list_wipe(&NoSpamList); return 0; } @@ -1829,7 +1808,7 @@ static int parse_set (BUFFER * tmp, BUFFER * s, unsigned long data, } /* see if we need to add $user_ var */ - if (!option && ascii_strncmp ("user_", tmp->data, 5) == 0) { + if (!option && m_strncmp("user_", tmp->data, 5) == 0) { /* there's no option named like this yet so only add one * if the action isn't any of: reset, unset, query */ if (!(reset || unset || query || *s->dptr != '=')) { @@ -2670,12 +2649,6 @@ void mutt_init (int skip_sys_rc, string_list_t * commands) CurrentMenu = MENU_MAIN; - /* Do we have a locale definition? */ - if (((p = getenv ("LC_ALL")) != NULL && p[0]) || - ((p = getenv ("LANG")) != NULL && p[0]) || - ((p = getenv ("LC_CTYPE")) != NULL && p[0])) - set_option (OPTLOCALES); - #ifdef HAVE_GETSID /* Unset suspend by default if we're the session leader */ if (getsid (0) == getpid ()) @@ -2684,22 +2657,6 @@ void mutt_init (int skip_sys_rc, string_list_t * commands) mutt_init_history (); - - - - /* - * - * BIG FAT WARNING - * - * When changing the code which looks for a configuration file, - * please also change the corresponding code in muttbug.sh.in. - * - * - */ - - - - if (!Muttrc) { #if 0 snprintf (buffer, sizeof(buffer), "%s/.madmuttrc-%s", NONULL (Homedir),