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>
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);