]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
setterm: make error message more informative
authorPetr Uzel <petr.uzel@suse.cz>
Thu, 20 Sep 2012 13:53:50 +0000 (15:53 +0200)
committerKarel Zak <kzak@redhat.com>
Fri, 21 Sep 2012 10:14:14 +0000 (12:14 +0200)
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 <giecrilj@stegny.2a.pl>
Signed-off-by: Petr Uzel <petr.uzel@suse.cz>
term-utils/setterm.c

index a2cf93b1e6c2ac5728c28714e2031258c3d7d431..18873f3318f5c997bce432f5baadd50a9ed9c678 100644 (file)
@@ -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);