galeb-mkfiles

Извори пакета за Галеб
Дневник | Датотеке | Референце | ПРОЧИТАЈМЕ | ЛИЦЕНЦА

tigetstr-test.c (828B)


      1 #include <ncurses.h>
      2 #include <term.h>
      3 
      4 int
      5 main()
      6 {
      7 	char* s;
      8 	char buf[4096];
      9 
     10 	if (!initscr())
     11 	{
     12 		perror("initscr");
     13 		return 1;
     14 	}
     15 	cbreak();
     16 	noecho();
     17 	nonl();
     18 	s = tigetstr("tsl");
     19 	if (s)
     20 	{
     21 		if (s != (char*)-1)
     22 		{
     23 			char* ps = s;
     24 			char* pbuf = buf;
     25 			int len = 0;
     26 			const char* ver = curses_version();
     27 
     28 			if (!ver)
     29 			{
     30 				endwin();
     31 				printf("!ver\n");
     32 				return 1;
     33 			}
     34 			len = sprintf(pbuf, "%s\n", ver);
     35 			pbuf += len;
     36 
     37 			len = sprintf(pbuf, "tigetstr(\"tsl\")=[");
     38 			pbuf += len;
     39 			while (*ps)
     40 			{
     41 				len = sprintf(pbuf, "%X%s", *ps,
     42 						*(ps+1) ? " " : "");
     43 				pbuf += len;
     44 				ps++;
     45 			}
     46 			sprintf(pbuf, "]\n");
     47 		}
     48 		else
     49 			sprintf(buf, "tigetstr(\"tsl\")=(char*)-1\n");
     50 	}
     51 	else
     52 		sprintf(buf, "tigetstr(\"tsl\")=NULL\n");
     53 	addstr(buf);
     54 	refresh();
     55 	getchar();
     56 	endwin();
     57 	return 0;
     58 }