On Sun, Jul 02, 2017 at 11:50:56PM -0400, Rob Pierce wrote: > Remove obvious clear_config() comments and misleading state_change() comments. > > Also relocate do_action() calls for the init block from change_state() to > occur with the corresponding do_action() calls for the body block within > the calling function for improved readability. > > No functional change. > > Rob
That diff was broken. This one is correct. Rob Index: ifstated.c =================================================================== RCS file: /cvs/src/usr.sbin/ifstated/ifstated.c,v retrieving revision 1.48 diff -u -p -r1.48 ifstated.c --- ifstated.c 2 Jul 2017 15:28:26 -0000 1.48 +++ ifstated.c 3 Jul 2017 13:42:13 -0000 @@ -217,8 +217,10 @@ load_config(void) conf->curstate->entered = time(NULL); conf->nextstate = conf->curstate; conf->curstate = NULL; - while (state_change()) + while (state_change()) { + do_action(conf->curstate->init); do_action(conf->curstate->body); + } } return (0); } @@ -533,14 +535,13 @@ eval_state(struct ifsd_state *state) if (external == NULL || external->lastexec >= state->entered || external->lastexec == 0) { do_action(state->body); - while (state_change()) + while (state_change()) { + do_action(conf->curstate->init); do_action(conf->curstate->body); + } } } -/* - *If a previous action included a state change, process it. - */ int state_change(void) { @@ -556,7 +557,6 @@ state_change(void) conf->curstate->entered = time(NULL); external_evtimer_setup(conf->curstate, IFSD_EVTIMER_ADD); adjust_external_expressions(conf->curstate); - do_action(conf->curstate->init); return (1); } return (0); @@ -627,9 +627,6 @@ fetch_state(void) close(sock); } -/* - * Clear the config. - */ void clear_config(struct ifsd_config *oconf) {