diff options
-rw-r--r-- | lib/ChangeLog | 5 | ||||
-rw-r--r-- | lib/command.c | 11 |
2 files changed, 11 insertions, 5 deletions
diff --git a/lib/ChangeLog b/lib/ChangeLog index 1e6f51ca..25f48dd7 100644 --- a/lib/ChangeLog +++ b/lib/ChangeLog @@ -1,3 +1,8 @@ +2004-10-13 Hasso Tepper <hasso at quagga.net> + + * command.c: Make CMD_ERR_NOTHING_TODO nonfatal if reading + configuration from file. Fixes critical bugzilla #113. + 2004-10-13 Paul Jakma <paul@dishone.st> * (global) more const'ification. diff --git a/lib/command.c b/lib/command.c index 0e61e0d8..4495d221 100644 --- a/lib/command.c +++ b/lib/command.c @@ -2238,15 +2238,16 @@ config_from_file (struct vty *vty, FILE *fp) /* Try again with setting node to CONFIG_NODE */ while (ret != CMD_SUCCESS && ret != CMD_WARNING - && vty->node != CONFIG_NODE) - { + && ret != CMD_ERR_NOTHING_TODO && vty->node != CONFIG_NODE) + { vty->node = node_parent(vty->node); - ret = cmd_execute_command_strict (vline, vty, NULL); - } + ret = cmd_execute_command_strict (vline, vty, NULL); + } cmd_free_strvec (vline); - if (ret != CMD_SUCCESS && ret != CMD_WARNING) + if (ret != CMD_SUCCESS && ret != CMD_WARNING + && ret != CMD_ERR_NOTHING_TODO) return ret; } return CMD_SUCCESS; |