summaryrefslogtreecommitdiff
path: root/term/tgetflag.c
blob: c2181da0f832e6fb07c32d0c7272ae955a6b5112 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#include <term.h>
#include <stddef.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)
*/