xref: /csrg-svn/lib/libterm/TEST/tc2.c (revision 13298)
1*13298Ssam #ifndef lint
2*13298Ssam static char sccsid[] = "@(#)tc2.c	4.1 (Berkeley) 06/27/83";
3*13298Ssam #endif
4*13298Ssam 
5*13298Ssam /*
6*13298Ssam  * tc2 [term]
7*13298Ssam  * Dummy program to test out termlib.
8*13298Ssam  * Commands are "tcc\n" where t is type (s for string, f for flag,
9*13298Ssam  * or n for number) and cc is the name of the capability.
10*13298Ssam  */
11*13298Ssam #include <stdio.h>
12*13298Ssam char buf[1024];
13*13298Ssam char *getenv(), *tgetstr();
14*13298Ssam 
15*13298Ssam main(argc, argv) char **argv; {
16*13298Ssam 	char *p, *q;
17*13298Ssam 	int rc;
18*13298Ssam 	char b[3], c;
19*13298Ssam 	char area[200];
20*13298Ssam 
21*13298Ssam 	if (argc < 2)
22*13298Ssam 		p = getenv("TERM");
23*13298Ssam 	else
24*13298Ssam 		p = argv[1];
25*13298Ssam 	rc = tgetent(buf,p);
26*13298Ssam 	for (;;) {
27*13298Ssam 		c = getchar();
28*13298Ssam 		if (c < 0)
29*13298Ssam 			exit(0);
30*13298Ssam 		b[0] = getchar();
31*13298Ssam 		if (b[0] < ' ')
32*13298Ssam 			exit(0);
33*13298Ssam 		b[1] = getchar();
34*13298Ssam 		b[2] = 0;
35*13298Ssam 		getchar();
36*13298Ssam 		switch(c) {
37*13298Ssam 			case 'f':
38*13298Ssam 				printf("%s: %d\n",b,tgetflag(b));
39*13298Ssam 				break;
40*13298Ssam 			case 'n':
41*13298Ssam 				printf("%s: %d\n",b,tgetnum(b));
42*13298Ssam 				break;
43*13298Ssam 			case 's':
44*13298Ssam 				q = area;
45*13298Ssam 				printf("%s: %s\n",b,tgetstr(b,&q));
46*13298Ssam 				break;
47*13298Ssam 			default:
48*13298Ssam 				exit(0);
49*13298Ssam 		}
50*13298Ssam 	}
51*13298Ssam }
52