case DT_STR:
if (p->init)
mutt_str_replace ((char **) p->data, (char *) p->init);
+ else if (*((char **) p->data))
+ p->init = (unsigned long) safe_strdup (* ((char **) p->data));
break;
case DT_PATH:
if (p->init)
mutt_expand_path (path, sizeof (path));
mutt_str_replace ((char **) p->data, path);
}
+ else if (*((char **) p->data))
+ p->init = (unsigned long) safe_strdup (* ((char **) p->data));
break;
case DT_ADDR:
if (p->init)
rfc822_free_address ((ADDRESS **) p->data);
*((ADDRESS **) p->data) = rfc822_parse_adrlist (NULL, (char *) p->init);
}
+ else if (*((ADDRESS **) p->data))
+ {
+ char tmp[HUGE_STRING];
+ rfc822_write_address (tmp, sizeof (tmp), *((ADDRESS **) p->data));
+ p->init = (unsigned long) safe_strdup (tmp);
+ }
break;
case DT_BOOL:
if (p->init)
regfree (pp->rx);
FREE (&pp->rx);
}
+
if (p->init)
{
char *s = (char *) p->init;
FREE (&pp->rx);
}
}
+ else if (pp->pattern)
+ p->init = (unsigned long) safe_strdup (pp->pattern);
}
break;
}
+
if (p->flags & R_INDEX)
set_option (OPTFORCEREDRAWINDEX);
if (p->flags & R_PAGER)