From f23e17f2eac3f506afe9a1e44302112cc363b59f Mon Sep 17 00:00:00 2001 From: james <> Date: Sun, 2 Mar 2008 10:37:56 +0000 Subject: *** empty log message *** --- src/ansi.c | 699 +++++++++++++++++++++++++-------------------------------- src/ansi.h | 9 +- src/cmd.c | 69 +++--- src/cmd.h | 6 +- src/context.h | 6 +- src/crt.c | 37 ++- src/crt.h | 15 +- src/history.c | 12 +- src/history.h | 9 +- src/html.c | 101 ++++----- src/ipc.h | 51 ++--- src/keydis.c | 9 +- src/keydis.h | 6 +- src/lockfile.c | 235 +++++++++---------- 14 files changed, 569 insertions(+), 695 deletions(-) (limited to 'src') diff --git a/src/ansi.c b/src/ansi.c index c259794..6ca75b7 100644 --- a/src/ansi.c +++ b/src/ansi.c @@ -10,6 +10,9 @@ static char rcsid[] = "$Id$"; /* * $Log$ + * Revision 1.39 2008/03/02 10:37:56 james + * *** empty log message *** + * * Revision 1.38 2008/03/02 10:27:24 james * *** empty log message *** * @@ -138,81 +141,52 @@ ansi_move (ANSI * a, CRT_Pos p) // a->pos.x = ANSI_INVAL; - if (a->pos.x != ANSI_INVAL) - { + if (a->pos.x != ANSI_INVAL) { - if ((!dx) && (!dy)) - return; - - if (!dy) - { - if (dx == 1) - { - a->terminal->xmit (a->terminal, "\033[C", 3); - } - else if (dx == -1) - { - a->terminal->xmit (a->terminal, "\033[D", 3); - } - else - { - n = snprintf (buf, sizeof (buf), "\033[%dG", p.x + 1); - a->terminal->xmit (a->terminal, buf, n); - } - } - else if (!dx) - { - if (dy == -1) - { - a->terminal->xmit (a->terminal, "\033[A", 3); - } - else if (dy == 1) - { - a->terminal->xmit (a->terminal, "\033[B", 3); - } - else if (dy < 0) - { - n = snprintf (buf, sizeof (buf), "\033[%dA", -dy); - a->terminal->xmit (a->terminal, buf, n); - } - else - { - n = snprintf (buf, sizeof (buf), "\033[%dB", dy); - a->terminal->xmit (a->terminal, buf, n); - } - } - else if (!p.x) - { - if (dy == 1) - { - a->terminal->xmit (a->terminal, "\033[E", 3); - } - else if (dy == -1) - { - a->terminal->xmit (a->terminal, "\033[F", 3); - } - else if (dy > 0) - { - n = snprintf (buf, sizeof (buf), "\033[%dE", dy); - a->terminal->xmit (a->terminal, buf, n); - } - else - { - n = snprintf (buf, sizeof (buf), "\033[%dF", -dy); - a->terminal->xmit (a->terminal, buf, n); - } - } - else - { - n = snprintf (buf, sizeof (buf), "\033[%d;%dH", p.y + 1, p.x + 1); - a->terminal->xmit (a->terminal, buf, n); - } - } - else - { + if ((!dx) && (!dy)) + return; + + if (!dy) { + if (dx == 1) { + a->terminal->xmit (a->terminal, "\033[C", 3); + } else if (dx == -1) { + a->terminal->xmit (a->terminal, "\033[D", 3); + } else { + n = snprintf (buf, sizeof (buf), "\033[%dG", p.x + 1); + a->terminal->xmit (a->terminal, buf, n); + } + } else if (!dx) { + if (dy == -1) { + a->terminal->xmit (a->terminal, "\033[A", 3); + } else if (dy == 1) { + a->terminal->xmit (a->terminal, "\033[B", 3); + } else if (dy < 0) { + n = snprintf (buf, sizeof (buf), "\033[%dA", -dy); + a->terminal->xmit (a->terminal, buf, n); + } else { + n = snprintf (buf, sizeof (buf), "\033[%dB", dy); + a->terminal->xmit (a->terminal, buf, n); + } + } else if (!p.x) { + if (dy == 1) { + a->terminal->xmit (a->terminal, "\033[E", 3); + } else if (dy == -1) { + a->terminal->xmit (a->terminal, "\033[F", 3); + } else if (dy > 0) { + n = snprintf (buf, sizeof (buf), "\033[%dE", dy); + a->terminal->xmit (a->terminal, buf, n); + } else { + n = snprintf (buf, sizeof (buf), "\033[%dF", -dy); + a->terminal->xmit (a->terminal, buf, n); + } + } else { n = snprintf (buf, sizeof (buf), "\033[%d;%dH", p.y + 1, p.x + 1); a->terminal->xmit (a->terminal, buf, n); } + } else { + n = snprintf (buf, sizeof (buf), "\033[%d;%dH", p.y + 1, p.x + 1); + a->terminal->xmit (a->terminal, buf, n); + } a->pos = p; } @@ -224,14 +198,11 @@ ansi_showhide_cursor (ANSI * a, int hide) if (a->hide_cursor == hide) return; - if (hide) - { - a->terminal->xmit (a->terminal, "\033[?25l", 6); - } - else - { - a->terminal->xmit (a->terminal, "\033[?25h", 6); - } + if (hide) { + a->terminal->xmit (a->terminal, "\033[?25l", 6); + } else { + a->terminal->xmit (a->terminal, "\033[?25h", 6); + } a->hide_cursor = hide; } @@ -253,37 +224,30 @@ ansi_set_color (ANSI * a, int color) int i; int fg, bg; - if ((a->color == ANSI_INVAL) || (color != a->color)) - { - fg = CRT_COLOR_FG (color); - bg = CRT_COLOR_BG (color); - - if (fg & CRT_COLOR_INTENSITY) - { - fg += 90; - } - else - { - fg += 30; - } - - if (bg & CRT_COLOR_INTENSITY) - { - bg += 100; - } - else - { - bg += 40; - } - - i = sprintf (buf, "\033[%d;%dm", fg, bg); + if ((a->color == ANSI_INVAL) || (color != a->color)) { + fg = CRT_COLOR_FG (color); + bg = CRT_COLOR_BG (color); + + if (fg & CRT_COLOR_INTENSITY) { + fg += 90; + } else { + fg += 30; + } + + if (bg & CRT_COLOR_INTENSITY) { + bg += 100; + } else { + bg += 40; + } + + i = sprintf (buf, "\033[%d;%dm", fg, bg); #if 0 - fprintf (stderr, "Color set to %d %d %x\n", fg, bg, color); + fprintf (stderr, "Color set to %d %d %x\n", fg, bg, color); #endif - a->terminal->xmit (a->terminal, buf, i); - a->color = color; - } + a->terminal->xmit (a->terminal, buf, i); + a->color = color; + } } static void @@ -299,47 +263,34 @@ ansi_set_attr (ANSI * a, int attr) a->attr = attr; #if 0 - if (attr == CRT_ATTR_NORMAL) - { - ansi_force_attr_normal (a); - return; - } + if (attr == CRT_ATTR_NORMAL) { + ansi_force_attr_normal (a); + return; + } #endif - if (dif & CRT_ATTR_UNDERLINE) - { - if (attr & CRT_ATTR_UNDERLINE) - { - a->terminal->xmit (a->terminal, "\033[4m", 4); - } - else - { - a->terminal->xmit (a->terminal, "\033[24m", 5); - } + if (dif & CRT_ATTR_UNDERLINE) { + if (attr & CRT_ATTR_UNDERLINE) { + a->terminal->xmit (a->terminal, "\033[4m", 4); + } else { + a->terminal->xmit (a->terminal, "\033[24m", 5); } - if (dif & CRT_ATTR_REVERSE) - { - if (attr & CRT_ATTR_REVERSE) - { - a->terminal->xmit (a->terminal, "\033[7m", 4); - } - else - { - a->terminal->xmit (a->terminal, "\033[27m", 5); - } + } + if (dif & CRT_ATTR_REVERSE) { + if (attr & CRT_ATTR_REVERSE) { + a->terminal->xmit (a->terminal, "\033[7m", 4); + } else { + a->terminal->xmit (a->terminal, "\033[27m", 5); } - if (dif & CRT_ATTR_BOLD) - { - if (attr & CRT_ATTR_BOLD) - { - a->terminal->xmit (a->terminal, "\033[1m", 4); - } - else - { - a->terminal->xmit (a->terminal, "\033[21m", 5); - a->terminal->xmit (a->terminal, "\033[22m", 5); - } + } + if (dif & CRT_ATTR_BOLD) { + if (attr & CRT_ATTR_BOLD) { + a->terminal->xmit (a->terminal, "\033[1m", 4); + } else { + a->terminal->xmit (a->terminal, "\033[21m", 5); + a->terminal->xmit (a->terminal, "\033[22m", 5); } + } } @@ -349,37 +300,33 @@ ascii_emit (TTY * t, uint32_t ch) int i; /*Some quick obvious subsititons for quotation marks*/ - switch (ch) - { - case 0x2018: - ch = '`'; - break; - case 0x2019: - ch = '\''; - break; - case 0x201c: - case 0x201d: - ch = '"'; - break; - } + switch (ch) { + case 0x2018: + ch = '`'; + break; + case 0x2019: + ch = '\''; + break; + case 0x201c: + case 0x201d: + ch = '"'; + break; + } /*Short cut the easy stuff*/ - if (ch < 0x7f) - { - uint8_t c = ch; - t->xmit (t, &c, 1); - return; - } + if (ch < 0x7f) { + uint8_t c = ch; + t->xmit (t, &c, 1); + return; + } - for (i = 0; i < VT102_CHARSET_SIZE; ++i) - { - if (vt102_charset_gl[i] == ch) - { - uint8_t c[3] = { 016, i, 017 }; - t->xmit (t, &c, 3); - return; - } + for (i = 0; i < VT102_CHARSET_SIZE; ++i) { + if (vt102_charset_gl[i] == ch) { + uint8_t c[3] = { 016, i, 017 }; + t->xmit (t, &c, 3); + return; } + } t->xmit (t, "?", 1); @@ -473,12 +420,11 @@ ansi_spot_scroll_up (ANSI * a, CRT * c) n = c->sh.e.y - c->sh.s.y; p = CRT_ADDR_POS (&c->sh.s); - while (n--) - { - if (memcmp (&c->screen[p], &a->crt.screen[p + CRT_COLS], l)) - return; - p += CRT_COLS; - } + while (n--) { + if (memcmp (&c->screen[p], &a->crt.screen[p + CRT_COLS], l)) + return; + p += CRT_COLS; + } if (ansi_scroll_up (a, c->sh.s, c->sh.e)) return; @@ -486,11 +432,10 @@ ansi_spot_scroll_up (ANSI * a, CRT * c) n = c->sh.e.y - c->sh.s.y; p = CRT_ADDR_POS (&c->sh.s); - while (n--) - { - memcpy (&a->crt.screen[p], &a->crt.screen[p + CRT_COLS], l); - p += CRT_COLS; - } + while (n--) { + memcpy (&a->crt.screen[p], &a->crt.screen[p + CRT_COLS], l); + p += CRT_COLS; + } c->sh.dir = 0; //FIXME: horrid hack @@ -500,13 +445,12 @@ static void ansi_spot_scroll (ANSI * a, CRT * c) { - switch (c->sh.dir) - { - case -1: + switch (c->sh.dir) { + case -1: /*we only care about up for the moment */ - ansi_spot_scroll_up (a, c); - break; - } + ansi_spot_scroll_up (a, c); + break; + } return; } @@ -520,23 +464,21 @@ ansi_draw_line (ANSI * a, CRT_CA * cap, int y) CRT_Pos p = { 0, y }; CRT_CA *acap = &a->crt.screen[CRT_ADDR_POS (&p)]; - for (p.x = 0; p.x < a->crt.size.x; ++p.x) - { - if (p.x >= a->size.x) - continue; - - if (crt_ca_cmp (*acap, *cap)) - { - ansi_showhide_cursor (a, 1); - *acap = *cap; + for (p.x = 0; p.x < a->crt.size.x; ++p.x) { + if (p.x >= a->size.x) + continue; - ansi_move (a, p); - ansi_render (a, *acap); - } + if (crt_ca_cmp (*acap, *cap)) { + ansi_showhide_cursor (a, 1); + *acap = *cap; - acap++; - cap++; + ansi_move (a, p); + ansi_render (a, *acap); } + + acap++; + cap++; + } } static void @@ -544,42 +486,38 @@ ansi_resize_check (ANSI * a, CRT_Pos * size) { if ((size && crt_pos_cmp (a->crt.size, *size)) - || crt_pos_cmp (a->terminal->size, a->size)) - { + || crt_pos_cmp (a->terminal->size, a->size)) { - terminal_getsize (a->terminal); + terminal_getsize (a->terminal); - a->size = a->terminal->size; + a->size = a->terminal->size; - a->pos.x = ANSI_INVAL; - a->hide_cursor = ANSI_INVAL; + a->pos.x = ANSI_INVAL; + a->hide_cursor = ANSI_INVAL; - crt_reset (&a->crt); + crt_reset (&a->crt); - if (size) - a->crt.size = *size; + if (size) + a->crt.size = *size; // FIXME: -- echos back crap? // a->terminal->xmit (a->terminal, "\033[c", 3); // maybe - issue 132 column command if we're 132? - ansi_cls (a); - a->terminal->xmit (a->terminal, "\033=", 2); - a->terminal->xmit (a->terminal, "\033[?6l", 5); - a->terminal->xmit (a->terminal, "\033[r", 3); - if (a->utf8) - { - a->terminal->xmit (a->terminal, "\033%G", 3); - } - else - { - a->terminal->xmit (a->terminal, "\033(B", 3); - a->terminal->xmit (a->terminal, "\033)0", 3); - a->terminal->xmit (a->terminal, "\017", 1); - } - + ansi_cls (a); + a->terminal->xmit (a->terminal, "\033=", 2); + a->terminal->xmit (a->terminal, "\033[?6l", 5); + a->terminal->xmit (a->terminal, "\033[r", 3); + if (a->utf8) { + a->terminal->xmit (a->terminal, "\033%G", 3); + } else { + a->terminal->xmit (a->terminal, "\033(B", 3); + a->terminal->xmit (a->terminal, "\033)0", 3); + a->terminal->xmit (a->terminal, "\017", 1); } + + } } /*if they haven't then ansi_draw will patch it up*/ @@ -609,55 +547,52 @@ ansi_history (ANSI * a, History * h) a->terminal->xmit (a->terminal, buf, i); - while (a->history_ptr != h->wptr) - { + while (a->history_ptr != h->wptr) { - History_ent *e = &h->lines[a->history_ptr]; + History_ent *e = &h->lines[a->history_ptr]; - HISTORY_INC (h, a->history_ptr); + HISTORY_INC (h, a->history_ptr); - if (!e->valid) - continue; + if (!e->valid) + continue; - /*If so write the line ot the top of the screen */ - ansi_draw_line (a, e->line, 0); + /*If so write the line ot the top of the screen */ + ansi_draw_line (a, e->line, 0); - /*Roll guess_scroll lines up putting the top line into the xterm's history */ + /*Roll guess_scroll lines up putting the top line into the xterm's history */ - /*Make extra lines a predictable colour */ - ansi_set_color (a, CRT_COLOR_NORMAL); + /*Make extra lines a predictable colour */ + ansi_set_color (a, CRT_COLOR_NORMAL); - ansi_showhide_cursor (a, 1); - i = sprintf (buf, "\033[%d;%dH", guess_scroll, 1); - a->terminal->xmit (a->terminal, buf, i); - a->terminal->xmit (a->terminal, "\033D", 2); - a->pos.x = ANSI_INVAL; - - /*now do the same in our image of the screen */ - - { - CRT_Pos s = { 0 } - , e = - { - 0}; - - /*scroll lines up */ - for (s.y++; s.y < guess_scroll; s.y++, e.y++) - { - memcpy (&a->crt.screen[CRT_ADDR_POS (&e)], - &a->crt.screen[CRT_ADDR_POS (&s)], - sizeof (CRT_CA) * a->crt.size.x); - } - - /* erase new line */ - s.y = e.y; - e.x = CRT_COLS - 1; - crt_erase (&a->crt, s, e, 1, CRT_COLOR_NORMAL); + ansi_showhide_cursor (a, 1); + i = sprintf (buf, "\033[%d;%dH", guess_scroll, 1); + a->terminal->xmit (a->terminal, buf, i); + a->terminal->xmit (a->terminal, "\033D", 2); + a->pos.x = ANSI_INVAL; + + /*now do the same in our image of the screen */ + + { + CRT_Pos s = { 0 } + , e = { + 0}; + + /*scroll lines up */ + for (s.y++; s.y < guess_scroll; s.y++, e.y++) { + memcpy (&a->crt.screen[CRT_ADDR_POS (&e)], + &a->crt.screen[CRT_ADDR_POS (&s)], + sizeof (CRT_CA) * a->crt.size.x); } + /* erase new line */ + s.y = e.y; + e.x = CRT_COLS - 1; + crt_erase (&a->crt, s, e, 1, CRT_COLOR_NORMAL); } + + } /*reset margins*/ a->terminal->xmit (a->terminal, "\033[r", 3); a->pos.x = ANSI_INVAL; @@ -677,42 +612,39 @@ ansi_draw (ANSI * a, CRT * c) ansi_resize_check (a, &c->size); - for (p.y = 0; p.y < a->crt.size.y; ++p.y) - { - if (p.y >= a->size.y) - continue; + for (p.y = 0; p.y < a->crt.size.y; ++p.y) { + if (p.y >= a->size.y) + continue; - ansi_draw_line (a, &c->screen[CRT_ADDR (p.y, 0)], p.y); + ansi_draw_line (a, &c->screen[CRT_ADDR (p.y, 0)], p.y); - } + } - if ((c->size.x > a->size.x) || (c->size.y > a->size.y)) - { - char msg[1024]; // = "Window is too small"; - int i; - p.x = 0; - p.y = 0; + if ((c->size.x > a->size.x) || (c->size.y > a->size.y)) { + char msg[1024]; // = "Window is too small"; + int i; + p.x = 0; + p.y = 0; - i = - sprintf (msg, "Window too small (%dx%d need %dx%d)", a->size.x, - a->size.y, c->size.x, c->size.y); + i = + sprintf (msg, "Window too small (%dx%d need %dx%d)", a->size.x, + a->size.y, c->size.x, c->size.y); - ansi_showhide_cursor (a, 1); - ansi_set_attr (a, CRT_ATTR_REVERSE); - ansi_set_color (a, CRT_MAKE_COLOR (CRT_COLOR_WHITE, CRT_COLOR_RED)); - ansi_move (a, p); + ansi_showhide_cursor (a, 1); + ansi_set_attr (a, CRT_ATTR_REVERSE); + ansi_set_color (a, CRT_MAKE_COLOR (CRT_COLOR_WHITE, CRT_COLOR_RED)); + ansi_move (a, p); - a->terminal->xmit (a->terminal, msg, i); - a->pos.x = ANSI_INVAL; - } + a->terminal->xmit (a->terminal, msg, i); + a->pos.x = ANSI_INVAL; + } - if ((c->pos.x >= a->size.x) || (c->pos.y >= a->size.y)) - { - ansi_showhide_cursor (a, 1); - return; - } + if ((c->pos.x >= a->size.x) || (c->pos.y >= a->size.y)) { + ansi_showhide_cursor (a, 1); + return; + } a->crt.pos = c->pos; ansi_move (a, a->crt.pos); @@ -738,7 +670,8 @@ ansi_terminal_reset (ANSI * a) } -int ansi_key(ANSI *a,Context *c,int key) +int +ansi_key (ANSI * a, Context * c, int key) { if (!c->d) @@ -748,12 +681,12 @@ int ansi_key(ANSI *a,Context *c,int key) if (c->d->active) { - if (key == CMD_KEY) { - return cmd_deactivate (c->d, c); - }else { - return cmd_key (c->d, c,a, key); - } - } else if (key == CMD_KEY) + if (key == CMD_KEY) { + cmd_deactivate (c->d, c); + } else { + return cmd_key (c->d, c, a, key); + } + } else if (key == CMD_KEY) { return cmd_activate (c->d, c); } @@ -768,10 +701,9 @@ ansi_flush_escape (ANSI * a, Context * c) ANSI_Parser *p = &a->parser; int i; - for (i = 0; i < p->escape_ptr; ++i) - { - ansi_key (a, c, p->escape_buf[i]); - } + for (i = 0; i < p->escape_ptr; ++i) { + ansi_key (a, c, p->escape_buf[i]); + } p->escape_ptr = 0; p->in_escape = 0; @@ -781,25 +713,19 @@ static void ansi_parse_deckey (ANSI * a, Context * c) { ANSI_Parser *p = &a->parser; - if ((p->escape_buf[1] != '[') && (p->escape_buf[1] != 'O')) - { - ansi_flush_escape (a, c); - return; - } + if ((p->escape_buf[1] != '[') && (p->escape_buf[1] != 'O')) { + ansi_flush_escape (a, c); + return; + } - if ((p->escape_buf[2] >= 'A') || (p->escape_buf[2] <= 'Z')) - { - ansi_key (a, c, KEY_UP + (p->escape_buf[2] - 'A')); - } - else if ((p->escape_buf[2] >= 'a') || (p->escape_buf[2] <= 'z')) - { - ansi_key (a, c, KEY_154 + (p->escape_buf[2] - 'a')); - } - else - { - ansi_flush_escape (a, c); - return; - } + if ((p->escape_buf[2] >= 'A') || (p->escape_buf[2] <= 'Z')) { + ansi_key (a, c, KEY_UP + (p->escape_buf[2] - 'A')); + } else if ((p->escape_buf[2] >= 'a') || (p->escape_buf[2] <= 'z')) { + ansi_key (a, c, KEY_154 + (p->escape_buf[2] - 'a')); + } else { + ansi_flush_escape (a, c); + return; + } p->in_escape = 0; p->escape_ptr = 0; } @@ -809,20 +735,16 @@ ansi_parse_ansikey (ANSI * a, Context * c) { ANSI_Parser *p = &a->parser; - if ((p->escape_buf[1] != '[') || (p->escape_buf[3] != '~')) - { - ansi_flush_escape (a, c); - return; - } - if ((p->escape_buf[2] >= '0') || (p->escape_buf[2] <= '9')) - { - ansi_key (a, c, KEY_180 + (p->escape_buf[2] - '0')); - } - else - { - ansi_flush_escape (a, c); - return; - } + if ((p->escape_buf[1] != '[') || (p->escape_buf[3] != '~')) { + ansi_flush_escape (a, c); + return; + } + if ((p->escape_buf[2] >= '0') || (p->escape_buf[2] <= '9')) { + ansi_key (a, c, KEY_180 + (p->escape_buf[2] - '0')); + } else { + ansi_flush_escape (a, c); + return; + } p->in_escape = 0; p->escape_ptr = 0; @@ -834,48 +756,44 @@ static void ansi_parse_escape (ANSI * a, Context * c) { ANSI_Parser *p = &a->parser; - switch (p->escape_ptr) - { - case 0: - case 1: - return; - case 2: - switch (p->escape_buf[1]) - { - case '[': - case 'O': - break; - default: - ansi_flush_escape (a, c); - } + switch (p->escape_ptr) { + case 0: + case 1: + return; + case 2: + switch (p->escape_buf[1]) { + case '[': + case 'O': + break; + default: + ansi_flush_escape (a, c); + } + break; + case 3: + switch (p->escape_buf[1]) { + case 'O': + ansi_parse_deckey (a, c); break; - case 3: - switch (p->escape_buf[1]) - { - case 'O': - ansi_parse_deckey (a, c); - break; - case '[': - if ((p->escape_buf[2] >= 'A') && (p->escape_buf[2] <= 'Z')) - ansi_parse_deckey (a, c); - break; - default: - ansi_flush_escape (a, c); - } + case '[': + if ((p->escape_buf[2] >= 'A') && (p->escape_buf[2] <= 'Z')) + ansi_parse_deckey (a, c); break; - case 4: - switch (p->escape_buf[1]) - { - case '[': - ansi_parse_ansikey (a, c); - break; - default: - ansi_flush_escape (a, c); - } + default: + ansi_flush_escape (a, c); + } + break; + case 4: + switch (p->escape_buf[1]) { + case '[': + ansi_parse_ansikey (a, c); break; - case 5: + default: ansi_flush_escape (a, c); } + break; + case 5: + ansi_flush_escape (a, c); + } } @@ -912,25 +830,21 @@ ansi_parse_char (ANSI * a, Context * c, int ch) /*See if it's time to flush the escape*/ ansi_check_escape (a, c); - if (ch == 033) - { - if (p->in_escape) - ansi_flush_escape (a, c); + if (ch == 033) { + if (p->in_escape) + ansi_flush_escape (a, c); - p->in_escape++; - p->escape_ptr = 0; - gettimeofday (&p->last_escape, NULL); - } + p->in_escape++; + p->escape_ptr = 0; + gettimeofday (&p->last_escape, NULL); + } - if (p->in_escape) - { - p->escape_buf[p->escape_ptr++] = ch; - ansi_parse_escape (a, c); - } - else - { - ansi_key (a, c, ch); - } + if (p->in_escape) { + p->escape_buf[p->escape_ptr++] = ch; + ansi_parse_escape (a, c); + } else { + ansi_key (a, c, ch); + } } @@ -963,14 +877,13 @@ ansi_dispatch (ANSI * a, Context * c) #endif #if 0 - if (*buf == 2) - { + if (*buf == 2) { #if 0 - a->history_ptr = c->h->wptr; - HISTORY_INC (c->h, a->history_ptr); + a->history_ptr = c->h->wptr; + HISTORY_INC (c->h, a->history_ptr); #endif - return -1; - } + return -1; + } #endif @@ -985,7 +898,7 @@ ansi_update (ANSI * a, Context * c) { ansi_history (a, c->h); ansi_draw (a, &c->v->crt); - tty_length(a->terminal,c->v->crt.size.y); + tty_length (a->terminal, c->v->crt.size.y); } static void diff --git a/src/ansi.h b/src/ansi.h index 61ffff0..00d2edf 100644 --- a/src/ansi.h +++ b/src/ansi.h @@ -12,6 +12,9 @@ /* * $Log$ + * Revision 1.14 2008/03/02 10:37:56 james + * *** empty log message *** + * * Revision 1.13 2008/02/24 00:42:53 james * *** empty log message *** * @@ -61,8 +64,7 @@ #define ANSI_ESCAPE_BUF_LEN 10 #define ANSI_ESCAPE_TIMEOUT 100000 /*in ms */ -typedef struct -{ +typedef struct { int in_escape; struct timeval last_escape; char escape_buf[ANSI_ESCAPE_BUF_LEN]; @@ -72,8 +74,7 @@ typedef struct struct CRT_struct; struct Context_struct; -typedef struct ANSI_struct -{ +typedef struct ANSI_struct { ANSI_Parser parser; TTY *terminal; diff --git a/src/cmd.c b/src/cmd.c index c2d5e57..4629610 100644 --- a/src/cmd.c +++ b/src/cmd.c @@ -10,6 +10,9 @@ static char rcsid[] = "$Id$"; /* * $Log$ + * Revision 1.9 2008/03/02 10:37:56 james + * *** empty log message *** + * * Revision 1.8 2008/02/29 22:50:29 james * *** empty log message *** * @@ -40,7 +43,7 @@ static char rcsid[] = "$Id$"; int -cmd_parse (Cmd * c, Context * ctx,ANSI *a, char *buf) +cmd_parse (Cmd * c, Context * ctx, ANSI * a, char *buf) { if (!strcmp (buf, "quit")) c->disconnect++; @@ -61,11 +64,10 @@ cmd_parse (Cmd * c, Context * ctx,ANSI *a, char *buf) else if (!strcmp (buf, "reset")) ctx->k->reset (ctx->k, ctx); else if (!strcmp (buf, "expand")) { - int w=a->terminal->size.x; - int h=a->terminal->size.y-1; - ctx->k->set_size (ctx->k, ctx, w,h); - } - else if (!strncmp (buf, "width", 5)) + int w = a->terminal->size.x; + int h = a->terminal->size.y - 1; + ctx->k->set_size (ctx->k, ctx, w, h); + } else if (!strncmp (buf, "width", 5)) ctx->k->set_size (ctx->k, ctx, atoi (buf + 5), 0); else if (!strncmp (buf, "height", 6)) ctx->k->set_size (ctx->k, ctx, 0, atoi (buf + 6)); @@ -93,45 +95,38 @@ cmd_show_status (Cmd * c, Context * ctx) } int -cmd_key (Cmd * c, Context * ctx,ANSI *a, int key) +cmd_key (Cmd * c, Context * ctx, ANSI * a, int key) { - if (c->error) - { - c->error = 0; - c->active = 0; - cmd_show_status (c, ctx); - return 0; - } + if (c->error) { + c->error = 0; + c->active = 0; + cmd_show_status (c, ctx); + return 0; + } - if (key == 13) - { - if (cmd_parse (c, ctx, a,c->buf + 1)) - { - c->error++; - } - else - { - c->active = 0; - } - cmd_show_status (c, ctx); - return 0; + if (key == 13) { + if (cmd_parse (c, ctx, a, c->buf + 1)) { + c->error++; + } else { + c->active = 0; } + cmd_show_status (c, ctx); + return 0; + } - if (((key == 8) || (key == 127)) && (c->ptr > 1)) - { - c->ptr--; - c->buf[c->ptr] = 0; - } + if (((key == 8) || (key == 127)) && (c->ptr > 1)) { + c->ptr--; + c->buf[c->ptr] = 0; + } - if ((key >= 32) && (key < 127)) - { + if ((key >= 32) && (key < 127)) { - c->buf[c->ptr] = key; - c->ptr++; - c->buf[c->ptr] = 0; + c->buf[c->ptr] = key; + c->ptr++; + c->buf[c->ptr] = 0; - } + } cmd_show_status (c, ctx); diff --git a/src/cmd.h b/src/cmd.h index 15ce41e..659a554 100644 --- a/src/cmd.h +++ b/src/cmd.h @@ -12,6 +12,9 @@ /* * $Log$ + * Revision 1.4 2008/03/02 10:37:56 james + * *** empty log message *** + * * Revision 1.3 2008/02/28 11:27:48 james * *** empty log message *** * @@ -28,8 +31,7 @@ #define CMD_KEY 2 /*CTRL B */ -typedef struct -{ +typedef struct { int active; int error; int disconnect; diff --git a/src/context.h b/src/context.h index 8f88342..0ca8f20 100644 --- a/src/context.h +++ b/src/context.h @@ -12,6 +12,9 @@ /* * $Log$ + * Revision 1.9 2008/03/02 10:37:56 james + * *** empty log message *** + * * Revision 1.8 2008/02/23 11:48:37 james * *** empty log message *** * @@ -41,8 +44,7 @@ #ifndef __CONTEXT_H__ #define __CONTEXT_H__ -typedef struct Context_struct -{ +typedef struct Context_struct { VT102 *v; TTY *t; TTY_Parser *tp; diff --git a/src/crt.c b/src/crt.c index 7e7c647..aacdc8b 100644 --- a/src/crt.c +++ b/src/crt.c @@ -10,6 +10,9 @@ static char rcsid[] = "$Id$"; /* * $Log$ + * Revision 1.16 2008/03/02 10:37:56 james + * *** empty log message *** + * * Revision 1.15 2008/02/27 09:42:21 james * *** empty log message *** * @@ -65,16 +68,14 @@ crt_erase (CRT * c, CRT_Pos s, CRT_Pos e, int ea, int color) CRT_CA *ps = &c->screen[CRT_ADDR_POS (&s)]; CRT_CA *pe = &c->screen[CRT_ADDR_POS (&e)]; - while (ps <= pe) - { - ps->chr = ' '; - if (ea) - { - ps->attr = CRT_ATTR_NORMAL; - ps->color = color; - } - ps++; + while (ps <= pe) { + ps->chr = ' '; + if (ea) { + ps->attr = CRT_ATTR_NORMAL; + ps->color = color; } + ps++; + } } @@ -116,11 +117,10 @@ crt_scroll_up (CRT * c, CRT_Pos s, CRT_Pos e, int ea, int color) p = CRT_ADDR_POS (&s); - while (n--) - { - memcpy (&c->screen[p], &c->screen[p + CRT_COLS], l); - p += CRT_COLS; - } + while (n--) { + memcpy (&c->screen[p], &c->screen[p + CRT_COLS], l); + p += CRT_COLS; + } s.y = e.y; crt_erase (c, s, e, ea, color); @@ -151,11 +151,10 @@ crt_scroll_down (CRT * c, CRT_Pos s, CRT_Pos e, int ea, int color) p = CRT_ADDR_POS (&e); - while (n--) - { - p -= CRT_COLS; - memcpy (&c->screen[p], &c->screen[p - CRT_COLS], l); - } + while (n--) { + p -= CRT_COLS; + memcpy (&c->screen[p], &c->screen[p - CRT_COLS], l); + } e.y = s.y; crt_erase (c, s, e, ea, color); diff --git a/src/crt.h b/src/crt.h index d935255..683dc2b 100644 --- a/src/crt.h +++ b/src/crt.h @@ -12,6 +12,9 @@ /* * $Log$ + * Revision 1.15 2008/03/02 10:37:56 james + * *** empty log message *** + * * Revision 1.14 2008/02/28 16:57:51 james * *** empty log message *** * @@ -99,29 +102,25 @@ #define CRT_COLOR_NORMAL CRT_MAKE_COLOR(CRT_FGCOLOR_NORMAL,CRT_BGCOLOR_NORMAL) -typedef struct __attribute__ ((packed)) -{ +typedef struct __attribute__ ((packed)) { uint32_t chr; uint8_t attr; uint8_t color; } CRT_CA; -typedef struct -{ +typedef struct { int x; int y; } CRT_Pos; -typedef struct -{ +typedef struct { CRT_Pos s; CRT_Pos e; int dir; } CRT_ScrollHint; -typedef struct CRT_struct -{ +typedef struct CRT_struct { CRT_CA screen[CRT_CELS]; CRT_Pos pos; int hide_cursor; diff --git a/src/history.c b/src/history.c index 24d3692..ed613a4 100644 --- a/src/history.c +++ b/src/history.c @@ -10,6 +10,9 @@ static char rcsid[] = "$Id$"; /* * $Log$ + * Revision 1.4 2008/03/02 10:37:56 james + * *** empty log message *** + * * Revision 1.3 2008/02/13 16:57:29 james * *** empty log message *** * @@ -66,11 +69,10 @@ history_add (History * h, CRT_CA * c) #if 0 { int i = CRT_COLS; - while (i--) - { - fputc (c->chr, stderr); - c++; - } + while (i--) { + fputc (c->chr, stderr); + c++; + } fputc ('\n', stderr); } #endif diff --git a/src/history.h b/src/history.h index 5c5dd52..010beb1 100644 --- a/src/history.h +++ b/src/history.h @@ -12,6 +12,9 @@ /* * $Log$ + * Revision 1.4 2008/03/02 10:37:56 james + * *** empty log message *** + * * Revision 1.3 2008/02/13 16:57:29 james * *** empty log message *** * @@ -26,15 +29,13 @@ #ifndef __HISTORY_H__ #define __HISTORY_H__ -typedef struct -{ +typedef struct { int valid; time_t t; CRT_CA line[CRT_COLS]; } History_ent; -typedef struct -{ +typedef struct { History_ent *lines; int nlines; int wptr; diff --git a/src/html.c b/src/html.c index 15ca782..9e22560 100644 --- a/src/html.c +++ b/src/html.c @@ -10,6 +10,9 @@ static char rcsid[] = "$Id$"; /* * $Log$ + * Revision 1.10 2008/03/02 10:37:56 james + * *** empty log message *** + * * Revision 1.9 2008/02/27 09:42:22 james * *** empty log message *** * @@ -68,35 +71,29 @@ static int colormap[] = { static void html_entity (FILE * f, int c) { - switch (c) - { - case 32: - fprintf (f, " "); - break; - case 38: - fprintf (f, "&"); - break; - case 60: - fprintf (f, "<"); - break; - case 62: - fprintf (f, ">"); - break; - default: - - if ((c >= 32) && (c < 127)) - { - fputc (c, f); - } - else if (c > 127) - { - fprintf (f, "%04x;", c); - } - else - { - fputc (' ', f); - } + switch (c) { + case 32: + fprintf (f, " "); + break; + case 38: + fprintf (f, "&"); + break; + case 60: + fprintf (f, "<"); + break; + case 62: + fprintf (f, ">"); + break; + default: + + if ((c >= 32) && (c < 127)) { + fputc (c, f); + } else if (c > 127) { + fprintf (f, "%04x;", c); + } else { + fputc (' ', f); } + } } static void @@ -104,18 +101,15 @@ html_render (FILE * f, CRT_CA c) { int fg, bg; - if (c.attr & CRT_ATTR_REVERSE) - { - fg = CRT_COLOR_BG (c.color); - bg = CRT_COLOR_FG (c.color); - } - else - { - fg = CRT_COLOR_FG (c.color); - bg = CRT_COLOR_BG (c.color); - if (c.attr & CRT_ATTR_BOLD) - fg |= CRT_COLOR_INTENSITY; - } + if (c.attr & CRT_ATTR_REVERSE) { + fg = CRT_COLOR_BG (c.color); + bg = CRT_COLOR_FG (c.color); + } else { + fg = CRT_COLOR_FG (c.color); + bg = CRT_COLOR_BG (c.color); + if (c.attr & CRT_ATTR_BOLD) + fg |= CRT_COLOR_INTENSITY; + } #ifdef CSS fprintf (f, "", colormap[fg], colormap[bg]); @@ -136,10 +130,9 @@ html_render (FILE * f, CRT_CA c) fprintf (f, ""); if (c.attr & CRT_ATTR_UNDERLINE) fprintf (f, ""); - if (c.attr & CRT_ATTR_REVERSE) - { - fprintf (f, ""); - } + if (c.attr & CRT_ATTR_REVERSE) { + fprintf (f, ""); + } #ifdef CSS fprintf (f, ""); #else @@ -159,22 +152,20 @@ html_draw (FILE * f, CRT * c) #else fprintf (f, "