--- sysvinit/src/bootlogd.c +++ sysvinit/src/bootlogd.c @@ -425,6 +425,7 @@ void writelog(FILE *fp, unsigned char *ptr, int len) /* * Print usage message and exit. */ +__attribute__((noreturn)) void usage(void) { fprintf(stderr, "Usage: bootlogd [-v] [-r] [-d] [-s] [-c] [-p pidfile] [-l logfile]\n"); --- sysvinit/src/halt.c +++ sysvinit/src/halt.c @@ -73,6 +73,7 @@ extern void write_wtmp(char *user, char *id, int pid, int type, char *line); /* * Send usage message. */ +__attribute__((noreturn)) void usage(void) { fprintf(stderr, "usage: %s [-n] [-w] [-d] [-f] [-h] [-i]%s\n", --- sysvinit/src/init.c +++ sysvinit/src/init.c @@ -2671,6 +2671,7 @@ void init_main(void) /* * Tell the user about the syntax we expect. */ +__attribute__((noreturn)) static void usage(char *s) { @@ -2689,6 +2690,8 @@ int telinit(char *progname, int argc, char **argv) int f, fd, l; char *env = NULL; + if (!argc) usage(progname); + memset(&request, 0, sizeof(request)); request.magic = INIT_MAGIC; --- sysvinit/src/killall5.c +++ sysvinit/src/killall5.c @@ -814,6 +814,7 @@ PIDQ_HEAD *pidof(char *prog) } /* Give usage message and exit. */ +__attribute__((noreturn)) void usage(void) { nsyslog(LOG_ERR, "only one argument, a signal number, allowed"); --- sysvinit/src/last.c +++ sysvinit/src/last.c @@ -530,6 +530,7 @@ int list(struct utmp *p, time_t t, int what) /* * show usage */ +__attribute__((noreturn)) void usage(char *s) { fprintf(stderr, "Usage: %s [-num | -n num] [-f file] " --- sysvinit/src/mountpoint.c +++ sysvinit/src/mountpoint.c @@ -50,6 +50,7 @@ int dostat(char *path, struct stat *st, int do_lstat, int quiet) return 0; } +__attribute__((noreturn)) void usage(void) { fprintf(stderr, "Usage: mountpoint [-q] [-d] [-x] path\n"); exit(1); --- sysvinit/src/shutdown.c +++ sysvinit/src/shutdown.c @@ -120,6 +120,7 @@ void stopit(int sig) /* * Show usage message. */ +__attribute__((noreturn)) void usage(void) { fprintf(stderr, --- sysvinit/src/sulogin.c +++ sysvinit/src/sulogin.c @@ -467,6 +467,7 @@ void sushell(struct passwd *pwd) perror(STATICSH); } +__attribute__((noreturn)) static void usage(void) { --- sysvinit/src/utmpdump.c +++ sysvinit/src/utmpdump.c @@ -243,6 +243,7 @@ undump(FILE *fp, int forever, int oldfmt) free(linestart); } +__attribute__((noreturn)) void usage(int result) {