From: Petr Uzel Date: Thu, 20 Sep 2012 13:53:50 +0000 (+0200) Subject: setterm: make error message more informative X-Git-Tag: v2.23-rc1~686 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2754ffc5f52294a48ab73f4f26182020907997b0;p=thirdparty%2Futil-linux.git setterm: make error message more informative If `setterm -dump` fails because of lack of permission to read /dev/vcsa, it should not report that it couldn't read /dev/vcsa0. This could be misleading if there is only /dev/vcsa, but not /dev/vcsa0. Before: $ ./setterm -dump setterm: Couldn't read /dev/vcsa0 After: $ ./setterm -dump setterm: Couldn't read neither /dev/vcsa0 nor /dev/vcsa (Note: /dev/vcsa0 does not exist and the user does not have read permission on /dev/vcsa in this case). Addresses: https://bugzilla.novell.com/show_bug.cgi?id=780615 Reported-by: Christopher Yeleighton Signed-off-by: Petr Uzel --- diff --git a/term-utils/setterm.c b/term-utils/setterm.c index a2cf93b1e6..18873f3318 100644 --- a/term-utils/setterm.c +++ b/term-utils/setterm.c @@ -1208,9 +1208,13 @@ screendump(int vcnum, FILE * F) close(fd); return; - read_error: - warnx(_("Couldn't read %s"), infile); - error: +read_error: + if (vcnum != 0) + warnx(_("Couldn't read %s"), infile); + else + warnx(_("Couldn't read neither /dev/vcsa0 nor /dev/vcsa")); + +error: if (fd >= 0) close(fd); exit(EXIT_FAILURE);