X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=sys-utils%2Fipcmk.c;h=8aadffbbbacd69b3a8378eb24a80f202b0e0b2dd;hb=2c308875a7fa1aaa44892c368f6b37bcfcb8879a;hp=d79071c8d97efd30a1d61d4ff778349e7979fcc1;hpb=79f4c272cf7628e50f562885578061f841c220cd;p=thirdparty%2Futil-linux.git diff --git a/sys-utils/ipcmk.c b/sys-utils/ipcmk.c index d79071c8d9..8aadffbbba 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); @@ -75,11 +76,10 @@ static void __attribute__ ((__noreturn__)) usage(FILE * out) fputs(_(" -p, --mode permission for the resource (default is 0644)\n"), out); fputs(USAGE_SEPARATOR, out); - fputs(USAGE_HELP, out); - fputs(USAGE_VERSION, out); - fprintf(out, USAGE_MAN_TAIL("ipcmk(1)")); + printf(USAGE_HELP_OPTIONS(26)); + printf(USAGE_MAN_TAIL("ipcmk(1)")); - exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS); + exit(EXIT_SUCCESS); } int main(int argc, char **argv) @@ -102,7 +102,7 @@ int main(int argc, char **argv) setlocale(LC_ALL, ""); bindtextdomain(PACKAGE, LOCALEDIR); textdomain(PACKAGE); - atexit(close_stdout); + close_stdout_atexit(); while((opt = getopt_long(argc, argv, "hM:QS:p:Vh", longopts, NULL)) != -1) { switch(opt) { @@ -120,21 +120,20 @@ int main(int argc, char **argv) case 'p': permission = strtoul(optarg, NULL, 8); break; + case 'h': - usage(stdout); - break; + usage(); case 'V': - printf(UTIL_LINUX_VERSION); - return EXIT_SUCCESS; + print_version(EXIT_SUCCESS); default: - ask_shm = ask_msg = ask_sem = 0; - break; + errtryhelp(EXIT_FAILURE); } } - 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)))