summaryrefslogtreecommitdiff
path: root/term/tgetflag.c
diff options
context:
space:
mode:
authorJakob Kaivo <jkk@ung.org>2022-04-13 19:51:54 -0400
committerJakob Kaivo <jkk@ung.org>2022-04-13 19:51:54 -0400
commitfa799768c4f6d97c5f60a37829ad1b457b7c0096 (patch)
treeed28b64735a6a79b10ecf1a87296f36e88745f4e /term/tgetflag.c
separate from libc
Diffstat (limited to 'term/tgetflag.c')
-rw-r--r--term/tgetflag.c61
1 files changed, 61 insertions, 0 deletions
diff --git a/term/tgetflag.c b/term/tgetflag.c
new file mode 100644
index 0000000..844f142
--- /dev/null
+++ b/term/tgetflag.c
@@ -0,0 +1,61 @@
+#include <term.h>
+
+int tgetflag(char id[2])
+{
+ const struct {
+ char tc[3];
+ char ti[8];
+ } map[] = {
+ { "bw", "bw" },
+ { "am", "am" },
+ { "ut", "bce" },
+ { "cc", "ccc" },
+ { "xs", "xhp" },
+ { "YA", "xhpa" },
+ { "YF", "cpix" },
+ { "YB", "crxm" },
+ { "xt", "xt" },
+ { "xn", "xenl" },
+ { "eo", "eo" },
+ { "gn", "gn" },
+ { "hc", "hc" },
+ { "HC", "chts" },
+ { "km", "km" },
+ { "YC", "daisy" },
+ { "hs", "hs" },
+ { "hl", "hls" },
+ { "in", "in" },
+ { "YG", "lpix" },
+ { "da", "da" },
+ { "db", "db" },
+ { "mi", "mir" },
+ { "ms", "msgr" },
+ { "nx", "nxon" },
+ { "xb", "xsb" },
+ { "NP", "npc" },
+ { "ND", "ndscr" },
+ { "NR", "nrrmc" },
+ { "os", "os" },
+ { "5i", "mc5i" },
+ { "YD", "xvpa" },
+ { "YE", "sam" },
+ { "es", "eslok" },
+ { "hz", "hz" },
+ { "ul", "ul" },
+ { "xo", "xon" },
+ };
+ size_t i = 0;
+
+ for (i = 0; i < sizeof(map) / sizeof(map[0]); i++) {
+ if (map[i].tc[0] == id[0] && map[i].tc[1] == 1) {
+ return tigetflag(map[i].ti);
+ }
+ }
+
+ return -1;
+}
+
+/*
+XOPEN(400, 700)
+LINK(curses)
+*/