mirror of
https://github.com/clearml/dropbear
synced 2025-02-12 07:25:30 +00:00
Fix flags after the hostname
This commit is contained in:
parent
7cbf6b131b
commit
6f5abeff2e
@ -177,7 +177,20 @@ void cli_getopts(int argc, char ** argv) {
|
|||||||
|
|
||||||
fill_own_user();
|
fill_own_user();
|
||||||
|
|
||||||
for (i = 1; i < (unsigned int)argc && argv[i][0] == '-'; i++) {
|
for (i = 1; i < (unsigned int)argc; i++) {
|
||||||
|
/* Handle non-flag arguments such as hostname or commands for the remote host */
|
||||||
|
if (argv[i][0] != '-')
|
||||||
|
{
|
||||||
|
if (host_arg == NULL) {
|
||||||
|
host_arg = argv[i];
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
/* Commands to pass to the remote host. No more flag handling,
|
||||||
|
commands are consumed below */
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Begins with '-' */
|
||||||
opt = OPT_OTHER;
|
opt = OPT_OTHER;
|
||||||
for (j = 1; (c = argv[i][j]) != '\0' && !next && opt == OPT_OTHER; j++) {
|
for (j = 1; (c = argv[i][j]) != '\0' && !next && opt == OPT_OTHER; j++) {
|
||||||
switch (c) {
|
switch (c) {
|
||||||
@ -348,11 +361,10 @@ void cli_getopts(int argc, char ** argv) {
|
|||||||
/* Done with options/flags; now handle the hostname (which may not
|
/* Done with options/flags; now handle the hostname (which may not
|
||||||
* start with a hyphen) and optional command */
|
* start with a hyphen) and optional command */
|
||||||
|
|
||||||
if (i >= (unsigned int)argc) { /* missing hostname */
|
if (host_arg == NULL) { /* missing hostname */
|
||||||
printhelp();
|
printhelp();
|
||||||
exit(EXIT_FAILURE);
|
exit(EXIT_FAILURE);
|
||||||
}
|
}
|
||||||
host_arg = argv[i++];
|
|
||||||
TRACE(("host is: %s", host_arg))
|
TRACE(("host is: %s", host_arg))
|
||||||
|
|
||||||
if (i < (unsigned int)argc) {
|
if (i < (unsigned int)argc) {
|
||||||
|
Loading…
Reference in New Issue
Block a user