if ((optind < argc) && (strcmp (argv[optind], "-") == 0)) {
fakelogin = true;
optind++;
- if ( (optind < argc)
- && (strcmp (argv[optind], "--") == 0)) {
- optind++;
- }
}
- /*
- * The next argument must be either a user ID, or some flag to a
- * subshell. Pretty sticky since you can't have an argument which
- * doesn't start with a "-" unless you specify the new user name.
- * Any remaining arguments will be passed to the user's login shell.
- */
- if ((optind < argc) && ('-' != argv[optind][0])) {
+ if (optind < argc) {
STRFCPY (name, argv[optind++]); /* use this login id */
- if ((optind < argc) && (strcmp (argv[optind], "--") == 0)) {
- optind++;
- }
}
if ('\0' == name[0]) { /* use default user */
struct passwd *root_pw = getpwnam ("root");