diff options
| author | Rob Landley <rob@landley.net> | 2010-10-24 03:27:22 +0200 |
|---|---|---|
| committer | Denys Vlasenko <vda.linux@googlemail.com> | 2010-10-24 03:27:22 +0200 |
| commit | d8205b39abb9971bc6aeff4a21c22b3f5f575e49 (patch) | |
| tree | 4a3bac3be00ed044339ea277d6e91aae7fad6b69 | |
| parent | 738e4de01332a10edd30149aa998f8ed403c12ed (diff) | |
| download | busybox-w32-d8205b39abb9971bc6aeff4a21c22b3f5f575e49.tar.gz busybox-w32-d8205b39abb9971bc6aeff4a21c22b3f5f575e49.tar.bz2 busybox-w32-d8205b39abb9971bc6aeff4a21c22b3f5f575e49.zip | |
awk: reduce ifdef forest
Signed-off-by: Rob Landley <rob@landley.net>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| -rw-r--r-- | editors/awk.c | 65 |
1 files changed, 32 insertions, 33 deletions
diff --git a/editors/awk.c b/editors/awk.c index 9646cedd6..8bc56756c 100644 --- a/editors/awk.c +++ b/editors/awk.c | |||
| @@ -524,9 +524,7 @@ static const char EMSG_TOO_FEW_ARGS[] ALIGN1 = "Too few arguments for builtin"; | |||
| 524 | static const char EMSG_NOT_ARRAY[] ALIGN1 = "Not an array"; | 524 | static const char EMSG_NOT_ARRAY[] ALIGN1 = "Not an array"; |
| 525 | static const char EMSG_POSSIBLE_ERROR[] ALIGN1 = "Possible syntax error"; | 525 | static const char EMSG_POSSIBLE_ERROR[] ALIGN1 = "Possible syntax error"; |
| 526 | static const char EMSG_UNDEF_FUNC[] ALIGN1 = "Call to undefined function"; | 526 | static const char EMSG_UNDEF_FUNC[] ALIGN1 = "Call to undefined function"; |
| 527 | #if !ENABLE_FEATURE_AWK_LIBM | ||
| 528 | static const char EMSG_NO_MATH[] ALIGN1 = "Math support is not compiled in"; | 527 | static const char EMSG_NO_MATH[] ALIGN1 = "Math support is not compiled in"; |
| 529 | #endif | ||
| 530 | 528 | ||
| 531 | static void zero_out_var(var *vp) | 529 | static void zero_out_var(var *vp) |
| 532 | { | 530 | { |
| @@ -700,8 +698,7 @@ static ALWAYS_INLINE int isalnum_(int c) | |||
| 700 | static double my_strtod(char **pp) | 698 | static double my_strtod(char **pp) |
| 701 | { | 699 | { |
| 702 | char *cp = *pp; | 700 | char *cp = *pp; |
| 703 | #if ENABLE_DESKTOP | 701 | if (ENABLE_DESKTOP && cp[0] == '0') { |
| 704 | if (cp[0] == '0') { | ||
| 705 | /* Might be hex or octal integer: 0x123abc or 07777 */ | 702 | /* Might be hex or octal integer: 0x123abc or 07777 */ |
| 706 | char c = (cp[1] | 0x20); | 703 | char c = (cp[1] | 0x20); |
| 707 | if (c == 'x' || isdigit(cp[1])) { | 704 | if (c == 'x' || isdigit(cp[1])) { |
| @@ -718,7 +715,6 @@ static double my_strtod(char **pp) | |||
| 718 | */ | 715 | */ |
| 719 | } | 716 | } |
| 720 | } | 717 | } |
| 721 | #endif | ||
| 722 | return strtod(cp, pp); | 718 | return strtod(cp, pp); |
| 723 | } | 719 | } |
| 724 | 720 | ||
| @@ -2168,11 +2164,10 @@ static NOINLINE var *exec_builtin(node *op, var *res) | |||
| 2168 | switch (info) { | 2164 | switch (info) { |
| 2169 | 2165 | ||
| 2170 | case B_a2: | 2166 | case B_a2: |
| 2171 | #if ENABLE_FEATURE_AWK_LIBM | 2167 | if (ENABLE_FEATURE_AWK_LIBM) |
| 2172 | setvar_i(res, atan2(getvar_i(av[0]), getvar_i(av[1]))); | 2168 | setvar_i(res, atan2(getvar_i(av[0]), getvar_i(av[1]))); |
| 2173 | #else | 2169 | else |
| 2174 | syntax_error(EMSG_NO_MATH); | 2170 | syntax_error(EMSG_NO_MATH); |
| 2175 | #endif | ||
| 2176 | break; | 2171 | break; |
| 2177 | 2172 | ||
| 2178 | case B_sp: { | 2173 | case B_sp: { |
| @@ -2655,35 +2650,40 @@ static var *evaluate(node *op, var *res) | |||
| 2655 | case F_rn: | 2650 | case F_rn: |
| 2656 | R_d = (double)rand() / (double)RAND_MAX; | 2651 | R_d = (double)rand() / (double)RAND_MAX; |
| 2657 | break; | 2652 | break; |
| 2658 | #if ENABLE_FEATURE_AWK_LIBM | 2653 | |
| 2659 | case F_co: | 2654 | case F_co: |
| 2660 | R_d = cos(L_d); | 2655 | if (ENABLE_FEATURE_AWK_LIBM) { |
| 2661 | break; | 2656 | R_d = cos(L_d); |
| 2657 | break; | ||
| 2658 | } | ||
| 2662 | 2659 | ||
| 2663 | case F_ex: | 2660 | case F_ex: |
| 2664 | R_d = exp(L_d); | 2661 | if (ENABLE_FEATURE_AWK_LIBM) { |
| 2665 | break; | 2662 | R_d = exp(L_d); |
| 2663 | break; | ||
| 2664 | } | ||
| 2666 | 2665 | ||
| 2667 | case F_lg: | 2666 | case F_lg: |
| 2668 | R_d = log(L_d); | 2667 | if (ENABLE_FEATURE_AWK_LIBM) { |
| 2669 | break; | 2668 | R_d = log(L_d); |
| 2669 | break; | ||
| 2670 | } | ||
| 2670 | 2671 | ||
| 2671 | case F_si: | 2672 | case F_si: |
| 2672 | R_d = sin(L_d); | 2673 | if (ENABLE_FEATURE_AWK_LIBM) { |
| 2673 | break; | 2674 | R_d = sin(L_d); |
| 2675 | break; | ||
| 2676 | } | ||
| 2674 | 2677 | ||
| 2675 | case F_sq: | 2678 | case F_sq: |
| 2676 | R_d = sqrt(L_d); | 2679 | if (ENABLE_FEATURE_AWK_LIBM) { |
| 2677 | break; | 2680 | R_d = sqrt(L_d); |
| 2678 | #else | 2681 | break; |
| 2679 | case F_co: | 2682 | } |
| 2680 | case F_ex: | 2683 | |
| 2681 | case F_lg: | ||
| 2682 | case F_si: | ||
| 2683 | case F_sq: | ||
| 2684 | syntax_error(EMSG_NO_MATH); | 2684 | syntax_error(EMSG_NO_MATH); |
| 2685 | break; | 2685 | break; |
| 2686 | #endif | 2686 | |
| 2687 | case F_sr: | 2687 | case F_sr: |
| 2688 | R_d = (double)seed; | 2688 | R_d = (double)seed; |
| 2689 | seed = op1 ? (unsigned)L_d : (unsigned)time(NULL); | 2689 | seed = op1 ? (unsigned)L_d : (unsigned)time(NULL); |
| @@ -2834,11 +2834,10 @@ static var *evaluate(node *op, var *res) | |||
| 2834 | L_d /= R_d; | 2834 | L_d /= R_d; |
| 2835 | break; | 2835 | break; |
| 2836 | case '&': | 2836 | case '&': |
| 2837 | #if ENABLE_FEATURE_AWK_LIBM | 2837 | if (ENABLE_FEATURE_AWK_LIBM) |
| 2838 | L_d = pow(L_d, R_d); | 2838 | L_d = pow(L_d, R_d); |
| 2839 | #else | 2839 | else |
| 2840 | syntax_error(EMSG_NO_MATH); | 2840 | syntax_error(EMSG_NO_MATH); |
| 2841 | #endif | ||
| 2842 | break; | 2841 | break; |
| 2843 | case '%': | 2842 | case '%': |
| 2844 | if (R_d == 0) | 2843 | if (R_d == 0) |
