restore_default(&MuttVars[idx]);
}
}
- else if (!myvar && DTYPE(MuttVars[idx].type) == DT_BOOL)
+ else if (!myvar && (idx >= 0) && DTYPE(MuttVars[idx].type) == DT_BOOL)
{
if (*s->dptr == '=')
{
else
*(bool *) MuttVars[idx].var = true;
}
- else if (myvar || DTYPE(MuttVars[idx].type) == DT_STRING ||
- DTYPE(MuttVars[idx].type) == DT_PATH || DTYPE(MuttVars[idx].type) == DT_ADDRESS ||
- DTYPE(MuttVars[idx].type) == DT_MBTABLE)
+ else if (myvar || ((idx >= 0) && ((DTYPE(MuttVars[idx].type) == DT_STRING) ||
+ (DTYPE(MuttVars[idx].type) == DT_PATH) ||
+ (DTYPE(MuttVars[idx].type) == DT_ADDRESS) ||
+ (DTYPE(MuttVars[idx].type) == DT_MBTABLE))))
{
if (unset)
{
FREE(&myvar);
myvar = "don't resort";
}
- else if (DTYPE(MuttVars[idx].type) == DT_PATH)
+ else if ((idx >= 0) && DTYPE(MuttVars[idx].type) == DT_PATH)
{
if (mutt_str_strcmp(MuttVars[idx].name, "debug_file") == 0 && debugfile_cmdline)
{
if (mutt_str_strcmp(MuttVars[idx].name, "debug_file") == 0)
restart_debug();
}
- else if (DTYPE(MuttVars[idx].type) == DT_STRING)
+ else if ((idx >= 0) && DTYPE(MuttVars[idx].type) == DT_STRING)
{
if ((strstr(MuttVars[idx].name, "charset") &&
check_charset(&MuttVars[idx], tmp->data) < 0) |