diff options
Diffstat (limited to 'networking')
-rw-r--r-- | networking/ifupdown.c | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/networking/ifupdown.c b/networking/ifupdown.c index 0c822e2a1..5b2251777 100644 --- a/networking/ifupdown.c +++ b/networking/ifupdown.c @@ -1239,8 +1239,10 @@ int ifupdown_main(int argc, char **argv) if (!okay && !FORCE) { bb_error_msg("ignoring unknown interface %s", liface); any_failures = 1; - } else { + } else if (!NO_ACT) { /* update the state file */ + FILE *state_fp; + llist_t *state; llist_t *state_list = read_iface_state(); llist_t *iface_state = find_iface_state(state_list, iface); @@ -1259,17 +1261,15 @@ int ifupdown_main(int argc, char **argv) } /* Actually write the new state */ - if (!NO_ACT) { - FILE *state_fp = xfopen("/var/run/ifstate", "w"); - llist_t *state = state_list; - while (state) { - if (state->data) { - fprintf(state_fp, "%s\n", state->data); - } - state = state->link; + state_fp = xfopen("/var/run/ifstate", "w"); + state = state_list; + while (state) { + if (state->data) { + fprintf(state_fp, "%s\n", state->data); } - fclose(state_fp); + state = state->link; } + fclose(state_fp); llist_free(state_list, free); } } |