blob: d90322fc7bdcc2eceea1d1a6060e77ecba6896c5 (
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
|
/*****************************************************************************
*
* program that detects the presence (or absence) of an ANSI device driver.
*
* Returns:
*
* errorlevel 0: Ansi devicedriver not detected.
* errorlevel 1: Ansi devicedriver detected.
*
*****************************************************************************
*/
#include <stdio.h>
#include <string.h>
#include <conio.h>
/********************************** print () *********************************
*
* A dum print string routine
*
*****************************************************************************
*/
void print(char *p)
{
while(*p)
putchar(*p++);
fflush(stdout); /* necessary for ZTC */
} /* print () */
/********************************** main () **********************************
*
* Detect whether ANSI.SYS is present and return 1 if so, else returns 0
*
*****************************************************************************
*/
int main(void)
{
char buffer [31]; /* temporary buffer */
int nr=0; /* counter */
print("\x1b[6n\r \r"); /* ask for ansi device report */
while ((0 !=kbhit()) && (nr<30))/* read whatever input is present */
buffer[nr++] = (char)getch();
buffer[nr]='\0'; /* zero terminate string */
if (strstr(buffer, "\x1b[")) /* check precense of device report */
return 1; /* signal ANSI.SYS present */
else return 0; /* signal ANSI.SYS not present */
} /* main () */
/********************************** end *************************************/
|