diff options
Diffstat (limited to 'sys-utils/ipcmk.c')
-rw-r--r-- | sys-utils/ipcmk.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/sys-utils/ipcmk.c b/sys-utils/ipcmk.c index f18baf00d..c6d322cbf 100644 --- a/sys-utils/ipcmk.c +++ b/sys-utils/ipcmk.c @@ -60,8 +60,9 @@ static int create_sem(int nsems, int permission) return semget(key, nsems, permission | IPC_CREAT); } -static void __attribute__ ((__noreturn__)) usage(FILE * out) +static void __attribute__((__noreturn__)) usage(void) { + FILE *out = stdout; fputs(USAGE_HEADER, out); fprintf(out, _(" %s [options]\n"), program_invocation_short_name); @@ -79,7 +80,7 @@ static void __attribute__ ((__noreturn__)) usage(FILE * out) fputs(USAGE_VERSION, out); fprintf(out, USAGE_MAN_TAIL("ipcmk(1)")); - exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS); + exit(EXIT_SUCCESS); } int main(int argc, char **argv) @@ -121,7 +122,7 @@ int main(int argc, char **argv) permission = strtoul(optarg, NULL, 8); break; case 'h': - usage(stdout); + usage(); break; case 'V': printf(UTIL_LINUX_VERSION); @@ -131,9 +132,10 @@ int main(int argc, char **argv) } } - if(!ask_shm && !ask_msg && !ask_sem) - usage(stderr); - + if(!ask_shm && !ask_msg && !ask_sem) { + warnx(_("bad usage")); + errtryhelp(EXIT_FAILURE); + } if (ask_shm) { int shmid; if (-1 == (shmid = create_shm(size, permission))) |