X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=init.c;h=6cfbf6ad9a8360dff6c8c4e6db9556f403661481;hp=eb92e1792e529b4195624dda37e6e206d12dd014;hb=73f7668b25b19be237399aaf2343fb7d432702a6;hpb=06972cc96259a466cf14821d8b803bf3972d8fa2 diff --git a/init.c b/init.c index eb92e17..6cfbf6a 100644 --- a/init.c +++ b/init.c @@ -112,7 +112,6 @@ static void sort_to_string (char* dst, ssize_t dstlen, struct option_t* option) static void rx_to_string (char* dst, ssize_t dstlen, struct option_t* option); static void magic_to_string (char* dst, ssize_t dstlen, struct option_t* option); static void addr_to_string (char* dst, ssize_t dstlen, struct option_t* option); -static void user_to_string (char* dst, ssize_t dstlen, struct option_t* option); static void sys_to_string (char* dst, ssize_t dstlen, struct option_t* option); /* protos for config type handles: convert to value from string */ @@ -134,8 +133,6 @@ static int magic_from_string (struct option_t* dst, const char* val, char* errbuf, ssize_t errlen); static int addr_from_string (struct option_t* dst, const char* val, char* errbuf, ssize_t errlen); -static int user_from_string (struct option_t* dst, const char* val, - char* errbuf, ssize_t errlen); static struct { unsigned short type; @@ -156,7 +153,6 @@ static struct { * but must define it as DT_ is used for indexing */ { DT_SYN, NULL, NULL }, { DT_ADDR, addr_to_string, addr_from_string }, - { DT_USER, user_to_string, user_from_string }, { DT_SYS, sys_to_string, NULL }, }; @@ -233,12 +229,6 @@ static void str_to_string (char* dst, ssize_t dstlen, NONULL (*((char**) option->data))); } -static void user_to_string (char* dst, ssize_t dstlen, - struct option_t* option) { - snprintf (dst, dstlen, "%s=\"%s\"", option->option, - NONULL (((char*) option->data))); -} - static void sys_to_string (char* dst, ssize_t dstlen, struct option_t* option) { char *val = NULL, *t = NULL; @@ -313,24 +303,6 @@ static int str_from_string (struct option_t* dst, const char* val, return (1); } -static int user_from_string (struct option_t* dst, const char* val, - char* errbuf __attribute__ ((unused)), ssize_t errlen __attribute__ ((unused))) { - /* if dst == NULL, we may get here in case the user did unset it, - * see parse_set() where item is free()'d before coming here; so - * just silently ignore it */ - if (!dst) - return (1); - if (m_strlen((char*) dst->data) == 0) - dst->data = (unsigned long) m_strdup(val); - else { - char* s = (char*) dst->data; - m_strreplace(&s, val); - } - if (m_strlen(dst->init) == 0) - dst->init = m_strdup((char*) dst->data); - return (1); -} - static void quad_to_string (char* dst, ssize_t dstlen, struct option_t* option) { const char *vals[] = { "no", "yes", "ask-no", "ask-yes" }; @@ -1389,21 +1361,6 @@ static struct option_t* add_option (const char* name, const char* init, return (option); } -/* creates new option_t* of type DT_USER for $user_ var */ -static struct option_t* add_user_option (const char* name) { - return (add_option (name, NULL, DT_USER, 1)); -} - -/* free()'s option_t* */ -static void del_option (void* p) { - struct option_t *ptr = (struct option_t*) p; - char* s = (char*) ptr->data; - p_delete(&ptr->option); - p_delete(&s); - p_delete(&ptr->init); - p_delete(&ptr); -} - static int init_expand (char** dst, struct option_t* src) { BUFFER token, in; ssize_t len = 0; @@ -1628,16 +1585,6 @@ static int parse_set (BUFFER * tmp, BUFFER * s, unsigned long data, option = newopt; } - /* see if we need to add $user_ var */ - 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 != '=')) { - option = add_user_option (tmp->data); - hash_insert (ConfigOptions, option->option, option, 0); - } - } - if (!option && !(reset && m_strcmp("all", tmp->data) == 0)) { snprintf (err->data, err->dsize, _("%s: unknown variable"), tmp->data); return (-1); @@ -1719,14 +1666,12 @@ static int parse_set (BUFFER * tmp, BUFFER * s, unsigned long data, DTYPE (option->type) == DT_NUM || DTYPE (option->type) == DT_SORT || DTYPE (option->type) == DT_RX || - DTYPE (option->type) == DT_USER || DTYPE (option->type) == DT_SYS) { /* XXX maybe we need to get unset into handlers? */ if (DTYPE (option->type) == DT_STR || DTYPE (option->type) == DT_PATH || DTYPE (option->type) == DT_ADDR || - DTYPE (option->type) == DT_USER || DTYPE (option->type) == DT_SYS) { if (unset) { CHECK_PAGER; @@ -1737,10 +1682,6 @@ static int parse_set (BUFFER * tmp, BUFFER * s, unsigned long data, break; } else if (DTYPE (option->type) == DT_ADDR) address_list_wipe((address_t **) option->data); - else if (DTYPE (option->type) == DT_USER) - /* to unset $user_ means remove */ - hash_delete (ConfigOptions, option->option, - option, del_option); else p_delete((void **)(void *)&option->data); break; @@ -2318,9 +2259,7 @@ void mutt_init (int skip_sys_rc, string_list_t * commands) err.data = error; err.dsize = sizeof(error); - /* use 3*sizeof(muttvars) instead of 2*sizeof() - * to have some room for $user_ vars */ - ConfigOptions = hash_create (sizeof(MuttVars) * 3); + ConfigOptions = hash_create (sizeof(MuttVars) * 2); for (i = 0; MuttVars[i].option; i++) { if (DTYPE (MuttVars[i].type) != DT_SYS) hash_insert (ConfigOptions, MuttVars[i].option, &MuttVars[i], 0);