summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <zecke@selfish.org>2010-08-26 14:37:10 +0800
committerHolger Hans Peter Freyther <zecke@selfish.org>2010-08-26 15:00:52 +0800
commit3e85e8dba9d039d6d5b4dd48d636535c92966d90 (patch)
tree2332311046888a0a25962e58c9ccb86648dd20f1
parent8f09f01380dc6c798782fc06bf51e90bd5f7cf40 (diff)
vty: Handle nodes part of the lib in the lib, for the rest call the callback
-rw-r--r--src/vty/command.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/vty/command.c b/src/vty/command.c
index 6a523216..c55e1648 100644
--- a/src/vty/command.c
+++ b/src/vty/command.c
@@ -141,12 +141,14 @@ static int cmp_desc(const void *p, const void *q)
static int is_config(struct vty *vty)
{
- /* ask the application */
- if (host.app_info->is_config_node)
+ if (vty->node < CONFIG_NODE)
+ return 0;
+ else if (vty->node >= CONFIG_NODE && vty->node < _LAST_OSMOVTY_NODE)
+ return 1;
+ else if (host.app_info->is_config_node)
return host.app_info->is_config_node(vty, vty->node);
-
- /* Assume that everything above CONFIG_NODE is a config node */
- return vty->node > CONFIG_NODE;
+ else
+ return vty->node > CONFIG_NODE;
}
/* Sort each node's command element according to command string. */