aboutsummaryrefslogtreecommitdiff
path: root/miscutils/conspy.c
diff options
context:
space:
mode:
Diffstat (limited to 'miscutils/conspy.c')
-rw-r--r--miscutils/conspy.c21
1 files changed, 12 insertions, 9 deletions
diff --git a/miscutils/conspy.c b/miscutils/conspy.c
index 01928b35f..723b4208a 100644
--- a/miscutils/conspy.c
+++ b/miscutils/conspy.c
@@ -43,6 +43,9 @@
43#include "libbb.h" 43#include "libbb.h"
44#include <sys/kd.h> 44#include <sys/kd.h>
45 45
46
47#define ESC "\033"
48
46struct screen_info { 49struct screen_info {
47 unsigned char lines, cols, cursor_x, cursor_y; 50 unsigned char lines, cols, cursor_x, cursor_y;
48}; 51};
@@ -70,7 +73,7 @@ struct globals {
70 unsigned col; 73 unsigned col;
71 unsigned line; 74 unsigned line;
72 smallint curoff; // unknown:0 cursor on:-1 cursor off:1 75 smallint curoff; // unknown:0 cursor on:-1 cursor off:1
73 char attrbuf[sizeof("\033[0;1;5;30;40m")]; 76 char attrbuf[sizeof(ESC"[0;1;5;30;40m")];
74 // remote console 77 // remote console
75 struct screen_info remote; 78 struct screen_info remote;
76 // saved local tty terminfo 79 // saved local tty terminfo
@@ -101,7 +104,7 @@ enum {
101static void clrscr(void) 104static void clrscr(void)
102{ 105{
103 // Home, clear till end of screen 106 // Home, clear till end of screen
104 fputs("\033[1;1H" "\033[J", stdout); 107 fputs(ESC"[1;1H" ESC"[J", stdout);
105 G.col = G.line = 0; 108 G.col = G.line = 0;
106} 109}
107 110
@@ -109,7 +112,7 @@ static void set_cursor(int state)
109{ 112{
110 if (G.curoff != state) { 113 if (G.curoff != state) {
111 G.curoff = state; 114 G.curoff = state;
112 fputs("\033[?25", stdout); 115 fputs(ESC"[?25", stdout);
113 bb_putchar("h?l"[1 + state]); 116 bb_putchar("h?l"[1 + state]);
114 } 117 }
115} 118}
@@ -119,7 +122,7 @@ static void gotoxy(int col, int line)
119 if (G.col != col || G.line != line) { 122 if (G.col != col || G.line != line) {
120 G.col = col; 123 G.col = col;
121 G.line = line; 124 G.line = line;
122 printf("\033[%u;%uH", line + 1, col + 1); 125 printf(ESC"[%u;%uH", line + 1, col + 1);
123 } 126 }
124} 127}
125 128
@@ -132,7 +135,7 @@ static void cleanup(int code)
132 } 135 }
133 // Reset attributes 136 // Reset attributes
134 if (!BW) 137 if (!BW)
135 fputs("\033[0m", stdout); 138 fputs(ESC"[0m", stdout);
136 bb_putchar('\n'); 139 bb_putchar('\n');
137 if (code > 1) 140 if (code > 1)
138 kill_myself_with_sig(code); 141 kill_myself_with_sig(code);
@@ -417,19 +420,19 @@ int conspy_main(int argc UNUSED_PARAM, char **argv)
417 420
418 if (G.remote.cursor_x < G.x) { 421 if (G.remote.cursor_x < G.x) {
419 G.x = G.remote.cursor_x; 422 G.x = G.remote.cursor_x;
420 i = 0; // force refresh 423 i = 0; // force refresh
421 } 424 }
422 if (nx > G.x) { 425 if (nx > G.x) {
423 G.x = nx; 426 G.x = nx;
424 i = 0; // force refresh 427 i = 0; // force refresh
425 } 428 }
426 if (G.remote.cursor_y < G.y) { 429 if (G.remote.cursor_y < G.y) {
427 G.y = G.remote.cursor_y; 430 G.y = G.remote.cursor_y;
428 i = 0; // force refresh 431 i = 0; // force refresh
429 } 432 }
430 if (ny > G.y) { 433 if (ny > G.y) {
431 G.y = ny; 434 G.y = ny;
432 i = 0; // force refresh 435 i = 0; // force refresh
433 } 436 }
434 } 437 }
435 438