summaryrefslogtreecommitdiffstats
path: root/term-utils/mesg.c
diff options
context:
space:
mode:
authorSami Kerola2012-02-29 00:42:16 +0100
committerSami Kerola2012-03-18 14:28:04 +0100
commit041b8ab252739d43dfcc1e898a3e94483287c51b (patch)
tree16da4539226ce4aa068739317d46486ef9bee5d4 /term-utils/mesg.c
parentsfdisk: use rpmatch to yes/no question (diff)
downloadkernel-qcow2-util-linux-041b8ab252739d43dfcc1e898a3e94483287c51b.tar.gz
kernel-qcow2-util-linux-041b8ab252739d43dfcc1e898a3e94483287c51b.tar.xz
kernel-qcow2-util-linux-041b8ab252739d43dfcc1e898a3e94483287c51b.zip
mesg: use rpmatch to yes/no question
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
Diffstat (limited to 'term-utils/mesg.c')
-rw-r--r--term-utils/mesg.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/term-utils/mesg.c b/term-utils/mesg.c
index 13d4fb757..4fad6f57a 100644
--- a/term-utils/mesg.c
+++ b/term-utils/mesg.c
@@ -66,6 +66,8 @@
static void __attribute__ ((__noreturn__)) usage(FILE * out)
{
fputs(_("\nUsage:\n"), out);
+ /* TRANSLATORS: this program uses for y and n rpmatch(3),
+ * which means they can be translated. */
fprintf(out,
_(" %s [options] [y | n]\n"), program_invocation_short_name);
@@ -127,8 +129,8 @@ int main(int argc, char *argv[])
return IS_NOT_ALLOWED;
}
- switch (*argv[0]) {
- case 'y':
+ switch (rpmatch(argv[0])) {
+ case 1:
#ifdef USE_TTY_GROUP
if (chmod(tty, sb.st_mode | S_IWGRP) < 0)
#else
@@ -138,14 +140,16 @@ int main(int argc, char *argv[])
if (verbose)
puts(_("write access to your terminal is allowed"));
return IS_ALLOWED;
- case 'n':
+ case 0:
if (chmod(tty, sb.st_mode & ~(S_IWGRP|S_IWOTH)) < 0)
err(MESG_EXIT_FAILURE, _("change %s mode failed"), tty);
if (verbose)
puts(_("write access to your terminal is denied"));
return IS_NOT_ALLOWED;
- default:
- warnx(_("invalid argument: %c"), *argv[0]);
+ case -1:
+ warnx(_("invalid argument: %s"), argv[0]);
usage(stderr);
+ default:
+ abort();
}
}