ptr->init = m_strdup(buf);
}
-static struct option_t* add_option (const char* name, const char* init,
- short type, short dodup) {
- struct option_t* option = p_new(struct option_t, 1);
-
- option->option = m_strdup(name);
- option->type = type;
- if (init)
- option->init = dodup ? m_strdup(init) : (char*) init;
- return (option);
-}
-
static int init_expand (char** dst, struct option_t* src) {
BUFFER token, in;
ssize_t len = 0;
set_option (OPTRESORTINIT);
set_option (OPTREDRAWTREE);
return (0);
- }
- else if (!FuncTable[DTYPE (option->type)].opt_fromstr) {
- snprintf (err->data, err->dsize, _("$%s is read-only"), option->option);
- r = -1;
- break;
} else {
CHECK_PAGER;
mutt_restore_default (NULL, option, 1);
{
if (unset) {
CHECK_PAGER;
- if (!FuncTable[DTYPE (option->type)].opt_fromstr) {
- snprintf (err->data, err->dsize, _("$%s is read-only"),
- option->option);
- r = -1;
- break;
- } else if (DTYPE (option->type) == DT_ADDR)
+ if (DTYPE (option->type) == DT_ADDR)
address_list_wipe((address_t **) option->data);
else
p_delete((void **)(void *)&option->data);
break;
}
- /* the $madmutt_ variables are read-only */
- if (!FuncTable[DTYPE (option->type)].opt_fromstr) {
- snprintf (err->data, err->dsize, _("$%s is read-only"),
- option->option);
+ CHECK_PAGER;
+ s->dptr++;
+ mutt_extract_token (tmp, s, 0);
+ if (!FuncTable[DTYPE (option->type)].opt_fromstr
+ (option, tmp->data, err->data, err->dsize))
r = -1;
- break;
- } else {
- CHECK_PAGER;
- s->dptr++;
- mutt_extract_token (tmp, s, 0);
- if (!FuncTable[DTYPE (option->type)].opt_fromstr
- (option, tmp->data, err->data, err->dsize))
- r = -1;
- }
}
else if (DTYPE (option->type) == DT_QUAD) {
mutt_gecos_name(rnbuf, sizeof(rnbuf), pw, GecosMask.rx);
Realname = m_strdup(rnbuf);
- Shell = m_strdup(pw->pw_shell);
endpwent ();
}
else {
fputs (_("unable to determine username"), stderr);
exit (1);
}
- Shell = m_strdup((p = getenv ("SHELL")) ? p : "/bin/sh");
}
/* And about the host... */