source: freewrt/package/busybox/patches/patch-editors_awk_c@ c6b195c

freewrt_1_0 freewrt_2_0
Last change on this file since c6b195c was c6b195c, checked in by Waldemar Brodkorb <wbx@…>, 19 years ago

use make update-patches to generate patches. start ucdhcp as background process, so that you can later attach a cable and still get an ip address without reboot. add address/broadcast parameters to ip link set

git-svn-id: svn://www.freewrt.org/branches/freewrt_1_0@1215 afb5a338-a214-0410-bd46-81f09a774fd1

  • Property mode set to 100644
File size: 1.7 KB
Line 
1$FreeWRT$
2--- busybox-1.1.3.orig/editors/awk.c Wed Mar 22 22:16:25 2006
3+++ busybox-1.1.3/editors/awk.c Sat Nov 25 19:54:19 2006
4@@ -258,7 +258,8 @@ enum {
5 /* builtins */
6 enum {
7 B_a2=0, B_ix, B_ma, B_sp, B_ss, B_ti, B_lo, B_up,
8- B_ge, B_gs, B_su
9+ B_ge, B_gs, B_su,
10+ B_an, B_co, B_ls, B_or, B_rs, B_xo,
11 };
12
13 /* tokens and their corresponding info values */
14@@ -298,6 +299,8 @@ static char * const tokenlist =
15 "\5while" NTC
16 "\4else" NTC
17
18+ "\3and" "\5compl" "\6lshift" "\2or"
19+ "\6rshift" "\3xor"
20 "\5close" "\6system" "\6fflush" "\5atan2" /* BUILTIN */
21 "\3cos" "\3exp" "\3int" "\3log"
22 "\4rand" "\3sin" "\4sqrt" "\5srand"
23@@ -351,6 +354,8 @@ static const uint32_t tokeninfo[] = {
24 ST_WHILE,
25 0,
26
27+ OC_B|B_an|P(0x83), OC_B|B_co|P(0x41), OC_B|B_ls|P(0x83), OC_B|B_or|P(0x83),
28+ OC_B|B_rs|P(0x83), OC_B|B_xo|P(0x83),
29 OC_FBLTIN|Sx|F_cl, OC_FBLTIN|Sx|F_sy, OC_FBLTIN|Sx|F_ff, OC_B|B_a2|P(0x83),
30 OC_FBLTIN|Nx|F_co, OC_FBLTIN|Nx|F_ex, OC_FBLTIN|Nx|F_in, OC_FBLTIN|Nx|F_lg,
31 OC_FBLTIN|F_rn, OC_FBLTIN|Nx|F_si, OC_FBLTIN|Nx|F_sq, OC_FBLTIN|Nx|F_sr,
32@@ -1931,6 +1936,30 @@ static var *exec_builtin(node *op, var *
33 strncpy(s, as[0]+i, n);
34 s[n] = '\0';
35 setvar_p(res, s);
36+ break;
37+
38+ case B_an:
39+ setvar_i(res, (long)getvar_i(av[0]) & (long)getvar_i(av[1]));
40+ break;
41+
42+ case B_co:
43+ setvar_i(res, ~(long)getvar_i(av[0]));
44+ break;
45+
46+ case B_ls:
47+ setvar_i(res, (long)getvar_i(av[0]) << (long)getvar_i(av[1]));
48+ break;
49+
50+ case B_or:
51+ setvar_i(res, (long)getvar_i(av[0]) | (long)getvar_i(av[1]));
52+ break;
53+
54+ case B_rs:
55+ setvar_i(res, (long)((unsigned long)getvar_i(av[0]) >> (unsigned long)getvar_i(av[1])));
56+ break;
57+
58+ case B_xo:
59+ setvar_i(res, (long)getvar_i(av[0]) ^ (long)getvar_i(av[1]));
60 break;
61
62 case B_lo:
Note: See TracBrowser for help on using the repository browser.