diff --git a/rc.c b/rc.c index 5fcbf42..7de87b8 100644 --- a/rc.c +++ b/rc.c @@ -1512,6 +1512,7 @@ panel_set_option(struct parsed_tagarg *arg) { FILE *f = NULL; char *p; + Str s = Strnew(), tmp; if (config_file == NULL) { disp_message("There's no config file... config not saved", FALSE); @@ -1527,14 +1528,17 @@ panel_set_option(struct parsed_tagarg *arg) if (arg->value) { p = conv_to_system(arg->value); if (set_param(arg->arg, p)) { - if (f) - fprintf(f, "%s %s\n", arg->arg, p); + tmp = Sprintf("%s %s\n", arg->arg, p); + Strcat(tmp, s); + s = tmp; } } arg = arg->next; } - if (f) + if (f) { + fputs(s->ptr, f); fclose(f); + } sync_with_option(); backBf(); }