wok-stable rev 308
Busybox: add vcsa2txt
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Sat Mar 01 11:31:53 2008 +0000 (2008-03-01) |
parents | cd72bbc8d9c4 |
children | 3a5e92c048e0 |
files | busybox/receipt busybox/stuff/busybox-1.7.3-vcsa2txt.u busybox/stuff/busybox-1.7.3.config |
line diff
1.1 --- a/busybox/receipt Sat Mar 01 00:38:44 2008 +0000 1.2 +++ b/busybox/receipt Sat Mar 01 11:31:53 2008 +0000 1.3 @@ -19,6 +19,7 @@ 1.4 #patch -p0 < stuff/$PACKAGE-$VERSION-patch.u 1.5 patch -p0 < stuff/$PACKAGE-$VERSION-script.u 1.6 patch -p0 < stuff/$PACKAGE-$VERSION-usage-df.u 1.7 + patch -p0 < stuff/$PACKAGE-$VERSION-vcsa2txt.u 1.8 cp stuff/$PACKAGE-$VERSION.config $PACKAGE-$VERSION/.config 1.9 cd $PACKAGE-$VERSION 1.10 make oldconfig
2.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 2.2 +++ b/busybox/stuff/busybox-1.7.3-vcsa2txt.u Sat Mar 01 11:31:53 2008 +0000 2.3 @@ -0,0 +1,104 @@ 2.4 +--- busybox-1.7.3/include/applets.h 2008-03-01 11:20:49.000000000 +0100 2.5 ++++ busybox-1.7.3/include/applets.h 2008-03-01 11:24:45.000000000 +0100 2.6 +@@ -357,6 +357,7 @@ USE_USLEEP(APPLET_NOFORK(usleep, usleep, 2.7 + USE_UUDECODE(APPLET(uudecode, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 2.8 + USE_UUENCODE(APPLET(uuencode, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 2.9 + USE_VCONFIG(APPLET(vconfig, _BB_DIR_SBIN, _BB_SUID_NEVER)) 2.10 ++USE_VCSA2TXT(APPLET(vcsa2txt, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) 2.11 + USE_VI(APPLET(vi, _BB_DIR_BIN, _BB_SUID_NEVER)) 2.12 + USE_VLOCK(APPLET(vlock, _BB_DIR_USR_BIN, _BB_SUID_ALWAYS)) 2.13 + USE_WATCH(APPLET(watch, _BB_DIR_BIN, _BB_SUID_NEVER)) 2.14 + 2.15 +--- busybox-1.7.3/include/usage.h 2008-03-01 11:22:06.000000000 +0100 2.16 ++++ busybox-1.7.3/include/usage.h 2008-03-01 11:32:48.000000000 +0100 2.17 +@@ -3835,6 +3835,13 @@ USE_FEATURE_RUN_PARTS_FANCY("\n -l Print 2.18 + " set_ingress_map [vlan-name] [skb_priority] [vlan_qos]\n" \ 2.19 + " set_name_type [name-type]" 2.20 + 2.21 ++#define vcsa2txt_trivial_usage \ 2.22 ++ "stdin" 2.23 ++#define vcsa2txt_full_usage \ 2.24 ++ "Filter /dev/vcsa* to ansi escape sequences" 2.25 ++#define vcsa2txt_example_usage \ 2.26 ++ "# vcsa2txt < /dev/vcsa1\n" 2.27 ++ 2.28 + #define vi_trivial_usage \ 2.29 + "[OPTION] [FILE]..." 2.30 + #define vi_full_usage \ 2.31 + 2.32 +--- busybox-1.7.3/miscutils/Config.in 2008-03-01 11:21:44.000000000 +0100 2.33 ++++ busybox-1.7.3/miscutils/Config.in 2008-03-01 11:32:32.000000000 +0100 2.34 +@@ -380,6 +380,12 @@ config TTYSIZE 2.35 + only height, or both, in any order. It also does not complain on error, 2.36 + but returns default 80x24. Usage in shell scripts: width=`ttysize w`. 2.37 + 2.38 ++config VCSA2TXT 2.39 ++ bool "vcsa2txt" 2.40 ++ default n 2.41 ++ help 2.42 ++ Filter /dev/vcsa* output to ansi escape sequences. 2.43 ++ 2.44 + config WATCHDOG 2.45 + bool "watchdog" 2.46 + default n 2.47 + 2.48 +--- busybox-1.7.3/util-linux/Kbuild 2008-03-01 11:21:57.000000000 +0100 2.49 ++++ busybox-1.7.3/util-linux/Kbuild 2008-03-01 11:32:37.000000000 +0100 2.50 +@@ -30,4 +30,5 @@ lib-$(CONFIG_SCRIPT) +=script.o 2.51 + lib-$(CONFIG_SETARCH) +=setarch.o 2.52 + lib-$(CONFIG_SWAPONOFF) +=swaponoff.o 2.53 + lib-$(CONFIG_SWITCH_ROOT) +=switch_root.o 2.54 ++lib-$(CONFIG_VCSA2TXT) +=vcsa2txt.o 2.55 + lib-$(CONFIG_UMOUNT) +=umount.o 2.56 + 2.57 +--- busybox-1.7.3/util-linux/vcsa2txt.c 1970-01-01 01:00:00.000000000 +0100 2.58 ++++ busybox-1.7.3/util-linux/vcsa2txt.c 2008-03-01 11:36:13.000000000 +0100 2.59 +@@ -0,0 +1,48 @@ 2.60 ++#include "libbb.h" 2.61 ++ 2.62 ++static void writechar(int c) { (void)write(1,&c,1); } 2.63 ++ 2.64 ++int vcsa2txt_main(int argc, char *argv[]); 2.65 ++int vcsa2txt_main(int argc, char *argv[]) 2.66 ++{ 2.67 ++ struct {unsigned char l, c, x, y;} scrn; // man 4 console_codes BLGCRMOW 2.68 ++ static unsigned char last, ch[2], end[5] = "\e[0m\n", color[8] = "04261537"; 2.69 ++ int sp, lf, x; 2.70 ++ if (read(0, &scrn, 4) < 0) return 1; 2.71 ++ for (lf = 0; scrn.l; lf++, scrn.l--) for (sp = x = 0; ++x <= scrn.c;) { 2.72 ++ if (read(0, &ch[0], 2) < 0) return 1; 2.73 ++ if (argc > 1) ch[1] = 0; 2.74 ++ sp++; if (last == ch[1] && ch[0] == ' ') continue; 2.75 ++ for (lf++; --lf;) writechar('\n'); while (--sp) writechar(' '); 2.76 ++#define PACKED 2.77 ++#ifdef PACKED 2.78 ++ if (last ^= ch[1]) { 2.79 ++ char esc[16],*s; 2.80 ++ struct offsets { char mask, type, shr; } *p; 2.81 ++ static struct offsets offset[3] = {{8,0,1},{0x70,'4',4},{7,'3',0}}; 2.82 ++ static char init = 0x7F; 2.83 ++ s = esc+2; *(short *)esc = '\e'+256*'['; 2.84 ++ p = offset; do if ((init|last) & p->mask) { 2.85 ++ int c = (ch[1] & p->mask) >> p->shr; 2.86 ++ if ((*s = p->type) != 0) s++; 2.87 ++ else if (c == 0) { c = 2; *s++ = '2'; /* normal */} 2.88 ++ *s++ = color[c]; *s++ = ';'; 2.89 ++ } while (p++->shr); s[-1] = 'm'; 2.90 ++ init = 0; 2.91 ++ (void)write(1,esc,s-esc); 2.92 ++ } 2.93 ++ last = ch[1]; 2.94 ++#else 2.95 ++ if (last != ch[1]) { 2.96 ++ static char esc[10] = "\e[0;47;37m"; 2.97 ++ esc[2] = ((last = ch[1]) & 8) ? '1' /* bold */ : '0' /* defaults */; 2.98 ++ esc[sizeof(esc)-5] = color[(ch[1] >> 4) & 7]; 2.99 ++ esc[sizeof(esc)-2] = color[ch[1] & 7]; 2.100 ++ (void)write(1,esc,sizeof(esc)); 2.101 ++ } 2.102 ++#endif 2.103 ++ writechar(ch[0]); 2.104 ++ } 2.105 ++ (void)write(1,end,sizeof(end)); 2.106 ++ return 0; 2.107 ++}
3.1 --- a/busybox/stuff/busybox-1.7.3.config Sat Mar 01 00:38:44 2008 +0000 3.2 +++ b/busybox/stuff/busybox-1.7.3.config Sat Mar 01 11:31:53 2008 +0000 3.3 @@ -1,7 +1,7 @@ 3.4 # 3.5 # Automatically generated make config: don't edit 3.6 # Busybox version: 1.7.3 3.7 -# Wed Feb 27 00:11:33 2008 3.8 +# Sat Mar 1 11:50:42 2008 3.9 # 3.10 CONFIG_HAVE_DOT_CONFIG=y 3.11 3.12 @@ -531,6 +531,7 @@ 3.13 # CONFIG_FEATURE_TASKSET_FANCY is not set 3.14 CONFIG_TIME=y 3.15 # CONFIG_TTYSIZE is not set 3.16 +CONFIG_VCSA2TXT=y 3.17 CONFIG_WATCHDOG=y 3.18 3.19 #