From 7e0f021a9aec35fd8e6725e87e3313b101d26f5e Mon Sep 17 00:00:00 2001 From: Tobias Klauser Date: Sun, 27 Jan 2008 11:37:44 +0100 Subject: Initial import (2.0.2-6) --- reference/C/CONTRIB/SNIP/ansisys.c | 60 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100755 reference/C/CONTRIB/SNIP/ansisys.c (limited to 'reference/C/CONTRIB/SNIP/ansisys.c') diff --git a/reference/C/CONTRIB/SNIP/ansisys.c b/reference/C/CONTRIB/SNIP/ansisys.c new file mode 100755 index 0000000..d90322f --- /dev/null +++ b/reference/C/CONTRIB/SNIP/ansisys.c @@ -0,0 +1,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 +#include +#include + + + +/********************************** 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 *************************************/ -- cgit v1.2.3-54-g00ecf