From: Francesco Cosoleto Date: Fri, 10 Dec 2010 16:40:11 +0000 (+0100) Subject: mesg: change error exit code from 1 to >1 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5eae5930931742e80df9da51888842ae9be0eb33;p=util-linux mesg: change error exit code from 1 to >1 According to POSIX and mesg(1) error exit code should be >1. Signed-off-by: Francesco Cosoleto --- diff --git a/login-utils/mesg.c b/login-utils/mesg.c index 46e6248e..c24a1092 100644 --- a/login-utils/mesg.c +++ b/login-utils/mesg.c @@ -56,6 +56,12 @@ #include #include "nls.h" +/* exit codes */ + +#define IS_ALLOWED 0 /* Receiving messages is allowed. */ +#define IS_NOT_ALLOWED 1 /* Receiving messages is not allowed. */ +#define MESG_EXIT_FAILURE 2 /* An error occurred. */ + int main(int argc, char *argv[]) { struct stat sb; @@ -77,18 +83,18 @@ int main(int argc, char *argv[]) argv += optind; if ((tty = ttyname(STDERR_FILENO)) == NULL) - err(EXIT_FAILURE, _("ttyname failed")); + err(MESG_EXIT_FAILURE, _("ttyname failed")); if (stat(tty, &sb) < 0) - err(EXIT_FAILURE, _("stat %s failed"), tty); + err(MESG_EXIT_FAILURE, _("stat %s failed"), tty); if (!*argv) { if (sb.st_mode & (S_IWGRP | S_IWOTH)) { puts(_("is y")); - return EXIT_SUCCESS; + return IS_ALLOWED; } puts(_("is n")); - return EXIT_FAILURE; + return IS_NOT_ALLOWED; } switch (*argv[0]) { @@ -98,15 +104,15 @@ int main(int argc, char *argv[]) #else if (chmod(tty, sb.st_mode | S_IWGRP | S_IWOTH) < 0) #endif - err(EXIT_FAILURE, _("change %s mode failed"), tty); - return EXIT_SUCCESS; + err(MESG_EXIT_FAILURE, _("change %s mode failed"), tty); + return IS_ALLOWED; case 'n': if (chmod(tty, sb.st_mode & ~(S_IWGRP|S_IWOTH)) < 0) - err(EXIT_FAILURE, _("change %s mode failed"), tty); - return EXIT_FAILURE; + err(MESG_EXIT_FAILURE, _("change %s mode failed"), tty); + return IS_NOT_ALLOWED; } usage: fprintf(stderr, _("Usage: %s [y | n]"), program_invocation_short_name); - return EXIT_FAILURE; + return MESG_EXIT_FAILURE; }