static int icom_reset(__a_unused char *line)
{
+ NOTICE_LOG("resetting configuration to default\n");
free_format_info(fi);
fi = NULL;
free(admissible_uids);
admissible_uids = NULL;
select_cmdline_parser_init(&select_conf);
- return 1;
+ return parse_select_options(NULL, NULL, &admissible_uids, &fi);
}
static int icom_set(char *line)
{
+ int ret;
struct select_cmdline_parser_params params = {
.override = 1,
.initialize = 0,
fi = NULL;
free(admissible_uids);
admissible_uids = NULL;
- return parse_select_options(line, ¶ms, &admissible_uids, &fi);
+ ret = parse_select_options(line, ¶ms, &admissible_uids, &fi);
+ if (ret >= 0)
+ return ret;
+ return icom_reset(NULL);
}
static int exec_interactive_command(char *line)
select_cmdline_parser_init(&select_conf);
ret = parse_select_options(NULL, NULL, &admissible_uids, &fi);
+ if (ret< 0)
+ return ret;
+ ret = read_uid_file();
+ if (ret < 0)
+ return ret;
while (read_input_line(line, sizeof(line)) >= 0) {
ret = exec_interactive_command(line);
if (ret < 0)