mirror of https://gerrit.osmocom.org/libosmocore
vty: Fixed vty_down_level to move down from config nodes
When using ^D at config nodes above the CONFIG_NODE, the go_parent_cb function is used to go down by one node. This is equivalent to "exit" command. Written-by: Andreas.Eversberg <jolly@eversberg.eu> Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
This commit is contained in:
parent
dc3be0a653
commit
f948dbc442
|
@ -176,6 +176,7 @@ int vty_shell_serv (struct vty *);
|
|||
void vty_hello (struct vty *);
|
||||
void *vty_current_index(struct vty *);
|
||||
int vty_current_node(struct vty *vty);
|
||||
enum node_type vty_go_parent(struct vty *vty);
|
||||
|
||||
extern void *tall_vty_ctx;
|
||||
|
||||
|
|
|
@ -802,9 +802,11 @@ static void vty_backward_word(struct vty *vty)
|
|||
static void vty_down_level(struct vty *vty)
|
||||
{
|
||||
vty_out(vty, "%s", VTY_NEWLINE);
|
||||
/* FIXME: we need to call the exit function of the specific node
|
||||
* in question, not this generic one that doesn't know all nodes */
|
||||
(*config_exit_cmd.func) (NULL, vty, 0, NULL);
|
||||
/* call the exit function of the specific node */
|
||||
if (vty->node > CONFIG_NODE)
|
||||
vty_go_parent(vty);
|
||||
else
|
||||
(*config_exit_cmd.func) (NULL, vty, 0, NULL);
|
||||
vty_prompt(vty);
|
||||
vty->cp = 0;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue