diff options
Diffstat (limited to 'login-utils/su-common.c')
-rw-r--r-- | login-utils/su-common.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/login-utils/su-common.c b/login-utils/su-common.c index 032d62f9f..d7b0a93dd 100644 --- a/login-utils/su-common.c +++ b/login-utils/su-common.c @@ -672,7 +672,7 @@ restricted_shell (const char * const shell) } static void __attribute__((__noreturn__)) -usage (const int status) +usage(void) { if (su_mode == RUNUSER_MODE) { fputs(USAGE_HEADER, stdout); @@ -712,7 +712,7 @@ usage (const int status) fputs(USAGE_HELP, stdout); fputs(USAGE_VERSION, stdout); printf(USAGE_MAN_TAIL(su_mode == SU_MODE ? "su(1)" : "runuser(1)")); - exit (status); + exit(EXIT_SUCCESS); } static @@ -851,13 +851,15 @@ su_main (int argc, char **argv, int mode) break; case 'u': - if (su_mode != RUNUSER_MODE) - usage (EXIT_FAILURE); + if (su_mode != RUNUSER_MODE) { + warnx(_("invalid option -- 'u'")); + errtryhelp(EXIT_FAILURE); + } runuser_user = optarg; break; case 'h': - usage(0); + usage(); case 'V': printf(UTIL_LINUX_VERSION); |