You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
990 B
54 lines
990 B
/*
|
|
|
|
This is a tiny test program that can be used to track down
|
|
strange effects of the emulation.
|
|
|
|
Make:
|
|
|
|
- gcc -o audit audit.c
|
|
|
|
Usage:
|
|
|
|
- In TEShell.C let syslog be stdout.
|
|
- konsole > ttt
|
|
- produce the effect in question.
|
|
- run this program.
|
|
pressing any key advances the audit
|
|
^C terminates.
|
|
|
|
You need to make sure that the size of the screen matches
|
|
the one being debugged.
|
|
|
|
*/
|
|
|
|
|
|
#include <stdio.h>
|
|
#include <termios.h>
|
|
#include <unistd.h>
|
|
|
|
struct termios save;
|
|
struct termios curr;
|
|
|
|
#define HERE fprintf(stderr,"%s(%d): here.\n",__FILE__,__LINE__)
|
|
|
|
main()
|
|
{ int cc;
|
|
FILE* sysin = fopen("ttt","r");
|
|
tcgetattr(0, &save);
|
|
tcgetattr(0, &curr);
|
|
cfmakeraw(&curr);
|
|
tcsetattr(0, TCSANOW, &curr);
|
|
cc = fgetc(sysin);
|
|
while( cc > 0 )
|
|
{ int tmp;
|
|
while (cc > 0)
|
|
{
|
|
fputc(cc,stdout); cc = fgetc(sysin);
|
|
if (cc == 0x1b) break;
|
|
}
|
|
tmp = fgetc(stdin);
|
|
if (tmp == 3) break;
|
|
}
|
|
tcsetattr(0, TCSANOW, &save);
|
|
}
|