diff options
author | Marek Polacek <mmpolacek@gmail.com> | 2010-12-01 17:17:16 +0100 |
---|---|---|
committer | Karel Zak <kzak@redhat.com> | 2010-12-02 17:48:29 +0100 |
commit | 1a68fc8aef07e746a9c55f4bc199cee70d5c87be (patch) | |
tree | 1fd2e6841a2c960f872adc8ccdb3771ffd6c50ad | |
parent | 1fa30199c69ac25bbfb72df661ee17a13c757539 (diff) | |
download | util-linux-old-1a68fc8aef07e746a9c55f4bc199cee70d5c87be.tar.gz |
mesg: Use EXIT_* and discard K&R style declaration.
[kzak@redhat.com: - use return rather than exit() in main()
- more verbose error messages]
Signed-off-by: Marek Polacek <mmpolacek@gmail.com>
Signed-off-by: Karel Zak <kzak@redhat.com>
-rw-r--r-- | login-utils/mesg.c | 46 |
1 files changed, 22 insertions, 24 deletions
diff --git a/login-utils/mesg.c b/login-utils/mesg.c index e0015bdb..46e6248e 100644 --- a/login-utils/mesg.c +++ b/login-utils/mesg.c @@ -42,24 +42,21 @@ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL> * - added Native Language Support * - * + * 2010-12-01 Marek Polacek <mmpolacek@gmail.com> + * - cleanups */ -#include <sys/types.h> -#include <sys/stat.h> - +#include <err.h> #include <errno.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> -#include <err.h> +#include <sys/types.h> +#include <sys/stat.h> #include "nls.h" -int -main(argc, argv) - int argc; - char *argv[]; +int main(int argc, char *argv[]) { struct stat sb; char *tty; @@ -69,46 +66,47 @@ main(argc, argv) bindtextdomain(PACKAGE, LOCALEDIR); textdomain(PACKAGE); - while ((ch = getopt(argc, argv, "")) != -1) switch (ch) { case '?': default: goto usage; } + argc -= optind; argv += optind; if ((tty = ttyname(STDERR_FILENO)) == NULL) - err(1, "ttyname"); + err(EXIT_FAILURE, _("ttyname failed")); + if (stat(tty, &sb) < 0) - err(1, "%s", tty); + err(EXIT_FAILURE, _("stat %s failed"), tty); - if (*argv == NULL) { + if (!*argv) { if (sb.st_mode & (S_IWGRP | S_IWOTH)) { - (void)fprintf(stdout, _("is y\n")); - exit(0); + puts(_("is y")); + return EXIT_SUCCESS; } - (void)fprintf(stdout, _("is n\n")); - exit(1); + puts(_("is n")); + return EXIT_FAILURE; } switch (*argv[0]) { case 'y': #ifdef USE_TTY_GROUP if (chmod(tty, sb.st_mode | S_IWGRP) < 0) - err(1, "%s", tty); #else if (chmod(tty, sb.st_mode | S_IWGRP | S_IWOTH) < 0) - err(1, "%s", tty); #endif - exit(0); + err(EXIT_FAILURE, _("change %s mode failed"), tty); + return EXIT_SUCCESS; case 'n': if (chmod(tty, sb.st_mode & ~(S_IWGRP|S_IWOTH)) < 0) - err(1, "%s", tty); - exit(1); + err(EXIT_FAILURE, _("change %s mode failed"), tty); + return EXIT_FAILURE; } -usage: (void)fprintf(stderr, _("usage: mesg [y | n]\n")); - exit(2); +usage: + fprintf(stderr, _("Usage: %s [y | n]"), program_invocation_short_name); + return EXIT_FAILURE; } |