Make -- on the command line match the manual page.
The implied shell case has been simplified as a result.
This commit is contained in:
13
sudo.c
13
sudo.c
@@ -754,11 +754,6 @@ parse_args(argc, argv)
|
|||||||
} else
|
} else
|
||||||
rval = MODE_RUN;
|
rval = MODE_RUN;
|
||||||
|
|
||||||
if (NewArgc == 0 && rval == MODE_RUN) { /* no options and no command */
|
|
||||||
SET(rval, (MODE_IMPLIED_SHELL | MODE_SHELL));
|
|
||||||
return(rval);
|
|
||||||
}
|
|
||||||
|
|
||||||
while (NewArgc > 0) {
|
while (NewArgc > 0) {
|
||||||
if (NewArgv[0][0] == '-') {
|
if (NewArgv[0][0] == '-') {
|
||||||
if (NewArgv[0][1] != '\0' && NewArgv[0][2] != '\0')
|
if (NewArgv[0][1] != '\0' && NewArgv[0][2] != '\0')
|
||||||
@@ -908,9 +903,7 @@ parse_args(argc, argv)
|
|||||||
case '-':
|
case '-':
|
||||||
NewArgc--;
|
NewArgc--;
|
||||||
NewArgv++;
|
NewArgv++;
|
||||||
if (rval == MODE_RUN)
|
goto args_done;
|
||||||
SET(rval, (MODE_IMPLIED_SHELL | MODE_SHELL));
|
|
||||||
return(rval);
|
|
||||||
case '\0':
|
case '\0':
|
||||||
warningx("'-' requires an argument");
|
warningx("'-' requires an argument");
|
||||||
usage(1);
|
usage(1);
|
||||||
@@ -932,6 +925,8 @@ parse_args(argc, argv)
|
|||||||
NewArgc--;
|
NewArgc--;
|
||||||
NewArgv++;
|
NewArgv++;
|
||||||
}
|
}
|
||||||
|
args_done:
|
||||||
|
|
||||||
if (NewArgc > 0 && rval == MODE_LIST)
|
if (NewArgc > 0 && rval == MODE_LIST)
|
||||||
rval = MODE_CHECK;
|
rval = MODE_CHECK;
|
||||||
|
|
||||||
@@ -950,6 +945,8 @@ parse_args(argc, argv)
|
|||||||
if ((NewArgc == 0 && (rval & MODE_EDIT)) ||
|
if ((NewArgc == 0 && (rval & MODE_EDIT)) ||
|
||||||
(NewArgc > 0 && !(rval & (MODE_RUN | MODE_EDIT | MODE_CHECK))))
|
(NewArgc > 0 && !(rval & (MODE_RUN | MODE_EDIT | MODE_CHECK))))
|
||||||
usage(1);
|
usage(1);
|
||||||
|
if (NewArgc == 0 && rval == MODE_RUN)
|
||||||
|
SET(rval, (MODE_IMPLIED_SHELL | MODE_SHELL));
|
||||||
|
|
||||||
return(rval);
|
return(rval);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user