diff options
author | Holger Hans Peter Freyther <zecke@selfish.org> | 2010-08-26 14:37:10 +0800 |
---|---|---|
committer | Holger Hans Peter Freyther <zecke@selfish.org> | 2010-08-26 15:00:52 +0800 |
commit | 3e85e8dba9d039d6d5b4dd48d636535c92966d90 (patch) | |
tree | 2332311046888a0a25962e58c9ccb86648dd20f1 | |
parent | 8f09f01380dc6c798782fc06bf51e90bd5f7cf40 (diff) |
vty: Handle nodes part of the lib in the lib, for the rest call the callback
-rw-r--r-- | src/vty/command.c | 12 |
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. */ |