summaryrefslogtreecommitdiffstats
path: root/usr.bin/tset
diff options
context:
space:
mode:
Diffstat (limited to 'usr.bin/tset')
-rw-r--r--usr.bin/tset/tset.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/usr.bin/tset/tset.c b/usr.bin/tset/tset.c
index 7198e96..3cc2a13 100644
--- a/usr.bin/tset/tset.c
+++ b/usr.bin/tset/tset.c
@@ -180,10 +180,15 @@ main(argc, argv)
tcsetattr(STDERR_FILENO, TCSADRAIN, &mode);
}
- /* Get the terminal name from the entry. */
- p = tcapbuf;
- if (p != NULL && *p != ':') {
- t = p;
+ /*
+ * The termcap file generally has a two-character name first in each
+ * entry followed by more descriptive names. If we ended up with the
+ * first one, we switch to the second one for setting or reporting
+ * information.
+ */
+ p = strpbrk(tcapbuf, "|:");
+ if (p != NULL && *p != ':' && !strncmp(ttype, tcapbuf, p - tcapbuf)) {
+ t = ++p;
if (p = strpbrk(p, "|:")) {
savech = *p;
*p = '\0';
OpenPOWER on IntegriCloud