Browse Source

Cleanup

master
cancel 5 years ago
parent
commit
116a08245a
  1. 17
      sysmisc.c
  2. 6
      sysmisc.h
  3. 16
      tui_main.c

17
sysmisc.c

@ -390,12 +390,11 @@ enum {
Confwflag_add_newline = 1 << 0, Confwflag_add_newline = 1 << 0,
}; };
void ezconf_write_start(Ezconf_write *ezcw, Confopt_w *opts, size_t optscount) { void ezconf_write_start(Ezconf_write *ezcw, Confopt_w *optsbuffer,
for (size_t i = 0; i < optscount; i++) size_t buffercap) {
opts[i].written = 0;
*ezcw = (Ezconf_write){0}; *ezcw = (Ezconf_write){0};
ezcw->opts = opts; ezcw->opts = optsbuffer;
ezcw->optscount = optscount; ezcw->optscap = buffercap;
Ezconf_write_error error = Ezconf_write_unknown_error; Ezconf_write_error error = Ezconf_write_unknown_error;
switch (conf_save_start(&ezcw->save)) { switch (conf_save_start(&ezcw->save)) {
case Conf_save_start_ok: case Conf_save_start_ok:
@ -426,7 +425,13 @@ void ezconf_write_start(Ezconf_write *ezcw, Confopt_w *opts, size_t optscount) {
} }
ezcw->error = error; ezcw->error = error;
} }
void ezconf_write_addopt(Ezconf_write *ezcw, char const *key, intptr_t id) {
size_t count = ezcw->optscount, cap = ezcw->optscap;
if (count == cap)
return;
ezcw->opts[count] = (Confopt_w){.name = key, .id = id, .written = 0};
ezcw->optscount = count + 1;
}
bool ezconf_write_step(Ezconf_write *ezcw) { bool ezconf_write_step(Ezconf_write *ezcw) {
U32 stateflags = ezcw->stateflags; U32 stateflags = ezcw->stateflags;
FILE *origfile = ezcw->save.origfile, *tempfile = ezcw->save.tempfile; FILE *origfile = ezcw->save.origfile, *tempfile = ezcw->save.tempfile;

6
sysmisc.h

@ -117,12 +117,14 @@ typedef struct {
typedef struct { typedef struct {
Conf_save save; Conf_save save;
Confopt_w *opts; Confopt_w *opts;
size_t optscount; size_t optscount, optscap;
intptr_t optid; intptr_t optid;
FILE *file; FILE *file;
Ezconf_write_error error; Ezconf_write_error error;
U32 stateflags; U32 stateflags;
} Ezconf_write; } Ezconf_write;
void ezconf_write_start(Ezconf_write *ezcw, Confopt_w *opts, size_t optscount); void ezconf_write_start(Ezconf_write *ezcw, Confopt_w *optsbuffer,
size_t buffercap);
void ezconf_write_addopt(Ezconf_write *ezcw, char const *key, intptr_t id);
bool ezconf_write_step(Ezconf_write *ezcw); bool ezconf_write_step(Ezconf_write *ezcw);

16
tui_main.c

@ -2398,8 +2398,9 @@ Prefs_load_error prefs_load_from_conf_file(Prefs *p) {
void save_prefs_with_error_message(Midi_mode const *midi_mode, int softmargin_y, void save_prefs_with_error_message(Midi_mode const *midi_mode, int softmargin_y,
int softmargin_x, int softmargin_x,
bool softmargins_touched_by_user) { bool softmargins_touched_by_user) {
Confopt_w wopts[Confoptslen]; Confopt_w optsbuff[Confoptslen];
Usz i = 0; Ezconf_write ez;
ezconf_write_start(&ez, optsbuff, ORCA_ARRAY_COUNTOF(optsbuff));
oso *midi_output_device_name = NULL; oso *midi_output_device_name = NULL;
switch (midi_mode->any.type) { switch (midi_mode->any.type) {
case Midi_mode_type_null: case Midi_mode_type_null:
@ -2416,19 +2417,14 @@ void save_prefs_with_error_message(Midi_mode const *midi_mode, int softmargin_y,
osowipe(&midi_output_device_name); osowipe(&midi_output_device_name);
break; break;
} }
wopts[i].name = confopts[Confopt_portmidi_output_device]; ezconf_write_addopt(&ez, confopts[Confopt_portmidi_output_device],
wopts[i].id = Confopt_portmidi_output_device; Confopt_portmidi_output_device);
i++;
} break; } break;
#endif #endif
} }
if (softmargins_touched_by_user) { if (softmargins_touched_by_user) {
wopts[i].name = confopts[Confopt_margins]; ezconf_write_addopt(&ez, confopts[Confopt_margins], Confopt_margins);
wopts[i].id = Confopt_margins;
i++;
} }
Ezconf_write ez;
ezconf_write_start(&ez, wopts, i);
while (ezconf_write_step(&ez)) { while (ezconf_write_step(&ez)) {
switch (ez.optid) { switch (ez.optid) {
#ifdef FEAT_PORTMIDI #ifdef FEAT_PORTMIDI

Loading…
Cancel
Save