/* 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;
"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;
}
"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;
}
"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;
}
"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;
}
"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;
}
"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;
}
"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;
}