|
|
@ -14,18 +14,18 @@
|
|
|
|
#define MAX(a,b) (((a) > (b)) ? (a) : (b))
|
|
|
|
#define MAX(a,b) (((a) > (b)) ? (a) : (b))
|
|
|
|
#define MIN(a,b) (((a) < (b)) ? (a) : (b))
|
|
|
|
#define MIN(a,b) (((a) < (b)) ? (a) : (b))
|
|
|
|
|
|
|
|
|
|
|
|
void buffer(char c);
|
|
|
|
static void buffer(char c);
|
|
|
|
void cmd(const char *cmdstr, ...);
|
|
|
|
static void cmd(const char *cmdstr, ...);
|
|
|
|
int getch();
|
|
|
|
static int getch();
|
|
|
|
void getpty(void);
|
|
|
|
void getpty(void);
|
|
|
|
void movea(int x, int y);
|
|
|
|
static void movea(int x, int y);
|
|
|
|
void mover(int x, int y);
|
|
|
|
static void mover(int x, int y);
|
|
|
|
void parseesc(void);
|
|
|
|
static void parseesc(void);
|
|
|
|
void scroll(int l);
|
|
|
|
static void scroll(int l);
|
|
|
|
void shell(void);
|
|
|
|
static void shell(void);
|
|
|
|
void sigchld(int n);
|
|
|
|
static void sigchld(int n);
|
|
|
|
char unbuffer(void);
|
|
|
|
static char unbuffer(void);
|
|
|
|
void ungetch(int c);
|
|
|
|
static void ungetch(int c);
|
|
|
|
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
typedef struct {
|
|
|
|
unsigned char data[BUFSIZ];
|
|
|
|
unsigned char data[BUFSIZ];
|
|
|
@ -38,14 +38,14 @@ typedef struct {
|
|
|
|
int i, n;
|
|
|
|
int i, n;
|
|
|
|
} ReadBuffer;
|
|
|
|
} ReadBuffer;
|
|
|
|
|
|
|
|
|
|
|
|
int cols = 80, lines = 25;
|
|
|
|
static int cols = 80, lines = 25;
|
|
|
|
int cx = 0, cy = 0;
|
|
|
|
static int cx = 0, cy = 0;
|
|
|
|
int c;
|
|
|
|
static int c;
|
|
|
|
int ptm, pts;
|
|
|
|
int ptm, pts;
|
|
|
|
_Bool bold, digit, qmark;
|
|
|
|
static _Bool bold, digit, qmark;
|
|
|
|
pid_t pid;
|
|
|
|
static pid_t pid;
|
|
|
|
RingBuffer buf;
|
|
|
|
static RingBuffer buf;
|
|
|
|
ReadBuffer rbuf;
|
|
|
|
static ReadBuffer rbuf;
|
|
|
|
|
|
|
|
|
|
|
|
void
|
|
|
|
void
|
|
|
|
buffer(char c) {
|
|
|
|
buffer(char c) {
|
|
|
|