[PATCH] mesg: do not print 'ttyname failed' message unless --verbose requested

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Lots of people are confused why mesg(1) is priting this message.  Usual
cause seems to be an uninteractive shell trying to turn running 'mesg n'
from a /root/.profile where command invocation is by default on debian based
systems.  This might be rare case when failing silently is better.

Reference: https://www.google.com/search?q=mesg+ttyname+failed
Signed-off-by: Sami Kerola <kerolasa@xxxxxx>
---
 term-utils/mesg.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/term-utils/mesg.c b/term-utils/mesg.c
index 8714ad1aa..7c4e390bb 100644
--- a/term-utils/mesg.c
+++ b/term-utils/mesg.c
@@ -121,8 +121,11 @@ int main(int argc, char *argv[])
 	argc -= optind;
 	argv += optind;
 
-	if ((tty = ttyname(STDERR_FILENO)) == NULL)
-		err(MESG_EXIT_FAILURE, _("ttyname failed"));
+	if ((tty = ttyname(STDERR_FILENO)) == NULL) {
+		if (verbose == TRUE)
+			err(MESG_EXIT_FAILURE, _("ttyname failed"));
+		exit(MESG_EXIT_FAILURE);
+	}
 	if ((fd = open(tty, O_RDONLY)) < 0)
 		err(MESG_EXIT_FAILURE, _("cannot open %s"), tty);
 	if (fstat(fd, &sb))
-- 
2.18.0

--
To unsubscribe from this list: send the line "unsubscribe util-linux" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux