aboutsummaryrefslogtreecommitdiffstats
path: root/src/ansi.c
diff options
context:
space:
mode:
authorjames <>2008-02-26 23:56:12 +0000
committerjames <>2008-02-26 23:56:12 +0000
commit5d11f03b6f99696f2d9df508cf7000e8f04b332b (patch)
treea6ac08bad649905d8dcb12dec3e32703bf9ef906 /src/ansi.c
parentf2b8bf1dc0714a6aacb11ec9634e856a8f4cab03 (diff)
downloadsympathy-5d11f03b6f99696f2d9df508cf7000e8f04b332b.tar.gz
sympathy-5d11f03b6f99696f2d9df508cf7000e8f04b332b.tar.bz2
sympathy-5d11f03b6f99696f2d9df508cf7000e8f04b332b.zip
*** empty log message ***
Diffstat (limited to 'src/ansi.c')
-rw-r--r--src/ansi.c116
1 files changed, 64 insertions, 52 deletions
diff --git a/src/ansi.c b/src/ansi.c
index 3e4ace1..e029c25 100644
--- a/src/ansi.c
+++ b/src/ansi.c
@@ -10,6 +10,9 @@ static char rcsid[] = "$Id$";
/*
* $Log$
+ * Revision 1.32 2008/02/26 23:56:12 james
+ * *** empty log message ***
+ *
* Revision 1.31 2008/02/26 23:23:17 james
* *** empty log message ***
*
@@ -325,36 +328,40 @@ ansi_set_attr (ANSI * a, int attr)
static void
ascii_emit (TTY * t, uint32_t ch)
{
-int i;
-
+ 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);
@@ -366,7 +373,7 @@ ansi_render (ANSI * a, CRT_CA ca)
int dif;
if ((ca.chr < VT102_CHARSET_SIZE) && (vt102_charset_c0[ca.chr]))
- ca.chr=vt102_charset_c0[ca.chr];
+ ca.chr = vt102_charset_c0[ca.chr];
if ((ca.chr >= 0x80) && (ca.chr < 0xa0))
ca.chr = ' ';
@@ -377,7 +384,7 @@ ansi_render (ANSI * a, CRT_CA ca)
if (a->utf8)
utf8_emit (a->terminal, ca.chr);
else
- ascii_emit(a->terminal,ca.chr);
+ ascii_emit (a->terminal, ca.chr);
a->pos.x++;
@@ -515,41 +522,46 @@ ansi_draw_line (ANSI * a, CRT_CA * cap, int y)
}
static void
-ansi_resize_check (ANSI * a,int new_width)
+ansi_resize_check (ANSI * a, int new_width)
{
- if ((new_width && (new_width != a->crt.width)) || crt_pos_cmp (a->terminal->size, a->size)) {
+ if ((new_width && (new_width != a->crt.width))
+ || 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 (new_width)
- a->crt.width=new_width;
+ if (new_width)
+ a->crt.width = new_width;
// 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);
+ }
-}
+ }
}
#define HISTORY_GUESS_SCROLL 24 /*guess all 24 lines usually scroll */
@@ -564,7 +576,7 @@ ansi_history (ANSI * a, History * h)
if (a->history_ptr == h->wptr)
return;
- ansi_resize_check (a,0);
+ ansi_resize_check (a, 0);
if ((a->size.x < a->crt.width) || (a->size.y < CRT_ROWS))
return;
@@ -615,7 +627,7 @@ ansi_history (ANSI * a, History * h)
{
memcpy (&a->crt.screen[CRT_ADDR_POS (&e)],
&a->crt.screen[CRT_ADDR_POS (&s)],
- sizeof (CRT_CA)*a->crt.width);
+ sizeof (CRT_CA) * a->crt.width);
}
/* erase new line */
@@ -641,7 +653,7 @@ ansi_draw (ANSI * a, CRT * c)
int o;
int hidden_cursor = 0;
- ansi_resize_check (a,c->width);
+ ansi_resize_check (a, c->width);
for (p.y = 0; p.y < CRT_ROWS; ++p.y)