diff options
| author | Donald Sharp <sharpd@cumulusnetworks.com> | 2017-07-31 08:52:10 -0400 | 
|---|---|---|
| committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2017-09-09 14:15:53 -0400 | 
| commit | 0b9d4ca7352c91087dc79c08da945e09be8af1b7 (patch) | |
| tree | d7488715ea2ea2589216c6ada85d25c476ba71c7 /vtysh | |
| parent | 53227da0beb10a3d964694c6d6b68f98d066caa3 (diff) | |
vtysh: Fix shell executed commands
Pretty much all shell executed commands from vtysh were
not behaving correctly due to errors introduced in
switching to the new cli.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'vtysh')
| -rw-r--r-- | vtysh/vtysh.c | 22 | 
1 files changed, 14 insertions, 8 deletions
diff --git a/vtysh/vtysh.c b/vtysh/vtysh.c index 00968531b7..bfa9af62a5 100644 --- a/vtysh/vtysh.c +++ b/vtysh/vtysh.c @@ -2267,7 +2267,7 @@ DEFUN (vtysh_show_daemons,  /* Execute command in child process. */  static void execute_command(const char *command, int argc, -			    struct cmd_token *arg1, const char *arg2) +			    const char *arg1, const char *arg2)  {  	pid_t pid;  	int status; @@ -2312,7 +2312,10 @@ DEFUN (vtysh_ping,         "Send echo messages\n"         "Ping destination address or hostname\n")  { -	execute_command("ping", 1, argv[0], NULL); +	int idx = 1; + +	argv_find(argv, argc, "WORD", &idx); +	execute_command("ping", 1, argv[idx]->arg, NULL);  	return CMD_SUCCESS;  } @@ -2327,7 +2330,10 @@ DEFUN (vtysh_traceroute,         "Trace route to destination\n"         "Trace route to destination address or hostname\n")  { -	execute_command("traceroute", 1, argv[0], NULL); +	int idx = 1; + +	argv_find(argv, argc, "WORD", &idx); +	execute_command("traceroute", 1, argv[idx]->arg, NULL);  	return CMD_SUCCESS;  } @@ -2343,7 +2349,7 @@ DEFUN (vtysh_ping6,         "IPv6 echo\n"         "Ping destination address or hostname\n")  { -	execute_command("ping6", 1, argv[0], NULL); +	execute_command("ping6", 1, argv[2]->arg, NULL);  	return CMD_SUCCESS;  } @@ -2354,7 +2360,7 @@ DEFUN (vtysh_traceroute6,         "IPv6 trace\n"         "Trace route to destination address or hostname\n")  { -	execute_command("traceroute6", 1, argv[0], NULL); +	execute_command("traceroute6", 1, argv[2]->arg, NULL);  	return CMD_SUCCESS;  } @@ -2365,7 +2371,7 @@ DEFUN (vtysh_telnet,         "Open a telnet connection\n"         "IP address or hostname of a remote system\n")  { -	execute_command("telnet", 1, argv[0], NULL); +	execute_command("telnet", 1, argv[1]->arg, NULL);  	return CMD_SUCCESS;  } @@ -2376,7 +2382,7 @@ DEFUN (vtysh_telnet_port,         "IP address or hostname of a remote system\n"         "TCP Port number\n")  { -	execute_command("telnet", 2, argv[0], argv[1]); +	execute_command("telnet", 2, argv[1]->arg, argv[2]->arg);  	return CMD_SUCCESS;  } @@ -2386,7 +2392,7 @@ DEFUN (vtysh_ssh,         "Open an ssh connection\n"         "[user@]host\n")  { -	execute_command("ssh", 1, argv[0], NULL); +	execute_command("ssh", 1, argv[1]->arg, NULL);  	return CMD_SUCCESS;  }  | 
