summaryrefslogtreecommitdiffstats
path: root/login-utils/su-common.c
diff options
context:
space:
mode:
authorKarel Zak2017-08-16 13:09:47 +0200
committerKarel Zak2017-09-18 11:48:56 +0200
commite192de658bf02a57ef3556ee74ac2aeb0c0bcaa9 (patch)
treeae32c3ea599d7e674aee61b3b15d6a8551f20bde /login-utils/su-common.c
parentsu: add wait_for_child() (diff)
downloadkernel-qcow2-util-linux-e192de658bf02a57ef3556ee74ac2aeb0c0bcaa9.tar.gz
kernel-qcow2-util-linux-e192de658bf02a57ef3556ee74ac2aeb0c0bcaa9.tar.xz
kernel-qcow2-util-linux-e192de658bf02a57ef3556ee74ac2aeb0c0bcaa9.zip
su: fix compiler warnings [-Wimplicit-fallthrough=]
Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'login-utils/su-common.c')
-rw-r--r--login-utils/su-common.c21
1 files changed, 11 insertions, 10 deletions
diff --git a/login-utils/su-common.c b/login-utils/su-common.c
index b1ec88f81..738f3a068 100644
--- a/login-utils/su-common.c
+++ b/login-utils/su-common.c
@@ -697,10 +697,9 @@ static void usage_common(void)
fputs(USAGE_SEPARATOR, stdout);
printf(USAGE_HELP_OPTIONS(33));
-
}
-static void __attribute__ ((__noreturn__)) usage_runuser(void)
+static void usage_runuser(void)
{
fputs(USAGE_HEADER, stdout);
fprintf(stdout,
@@ -719,10 +718,9 @@ static void __attribute__ ((__noreturn__)) usage_runuser(void)
fputs(USAGE_SEPARATOR, stdout);
fprintf(stdout, USAGE_MAN_TAIL("runuser(1)"));
- exit(EXIT_SUCCESS);
}
-static void __attribute__ ((__noreturn__)) usage_su(void)
+static void usage_su(void)
{
fputs(USAGE_HEADER, stdout);
fprintf(stdout,
@@ -737,15 +735,16 @@ static void __attribute__ ((__noreturn__)) usage_su(void)
usage_common();
fprintf(stdout, USAGE_MAN_TAIL("su(1)"));
- exit(EXIT_SUCCESS);
}
-static void usage(int mode)
+static void __attribute__((__noreturn__)) usage(int mode)
{
if (mode == SU_MODE)
usage_su();
else
usage_runuser();
+
+ exit(EXIT_SUCCESS);
}
static void load_config(void *data)
@@ -909,7 +908,11 @@ int su_main(int argc, char **argv, int mode)
switch (mode) {
case RUNUSER_MODE:
- /* runuser -u <user> <command> */
+ /* runuser -u <user> <command>
+ *
+ * If -u <user> is not specified, then follow traditional su(1) behavior and
+ * fallthrough
+ */
if (su->runuser_uopt) {
if (shell || su->fast_startup || command || su->simulate_login)
errx(EXIT_FAILURE,
@@ -919,9 +922,7 @@ int su_main(int argc, char **argv, int mode)
errx(EXIT_FAILURE, _("no command was specified"));
break;
}
- /* fallthrough if -u <user> is not specified, then follow
- * traditional su(1) behavior
- */
+ /* fallthrough */
case SU_MODE:
if (optind < argc)
su->new_user = argv[optind++];