summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2018-12-02 21:02:54 +0100
committerDenys Vlasenko <vda.linux@googlemail.com>2018-12-05 15:43:35 +0100
commitd9d66556d74f14982daa34b70c0aeb8c6456117d (patch)
tree4213ed266c2807993590d6bb4012a1f7e4bd771e
parent416ce76bcd26084099f430367f88387fced1c34e (diff)
downloadbusybox-w32-d9d66556d74f14982daa34b70c0aeb8c6456117d.tar.gz
busybox-w32-d9d66556d74f14982daa34b70c0aeb8c6456117d.tar.bz2
busybox-w32-d9d66556d74f14982daa34b70c0aeb8c6456117d.zip
bc: use smaller datatypes for limits, match GNU bc 'limits' output
function old new delta bc_vm_process 315 291 -24 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-24) Total: -24 bytes text data bss dec hex filename 988303 485 7296 996084 f32f4 busybox_old 988273 485 7296 996054 f32d6 busybox_unstripped Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r--miscutils/bc.c34
1 files changed, 16 insertions, 18 deletions
diff --git a/miscutils/bc.c b/miscutils/bc.c
index ee05cd4b4..7c88a4ba0 100644
--- a/miscutils/bc.c
+++ b/miscutils/bc.c
@@ -802,14 +802,14 @@ static BcStatus bc_program_reset(BcStatus s);
802#define BC_MAX(a, b) ((a) > (b) ? (a) : (b)) 802#define BC_MAX(a, b) ((a) > (b) ? (a) : (b))
803#define BC_MIN(a, b) ((a) < (b) ? (a) : (b)) 803#define BC_MIN(a, b) ((a) < (b) ? (a) : (b))
804 804
805#define BC_MAX_OBASE ((unsigned long) 999) 805#define BC_MAX_OBASE ((unsigned) 999)
806#define BC_MAX_DIM ((unsigned long) INT_MAX) 806#define BC_MAX_DIM ((unsigned) INT_MAX)
807#define BC_MAX_SCALE ((unsigned long) UINT_MAX) 807#define BC_MAX_SCALE ((unsigned) UINT_MAX)
808#define BC_MAX_STRING ((unsigned long) UINT_MAX - 1) 808#define BC_MAX_STRING ((unsigned) UINT_MAX - 1)
809#define BC_MAX_NAME BC_MAX_STRING 809#define BC_MAX_NAME BC_MAX_STRING
810#define BC_MAX_NUM BC_MAX_STRING 810#define BC_MAX_NUM BC_MAX_STRING
811#define BC_MAX_EXP ((unsigned long) LONG_MAX) 811#define BC_MAX_EXP ((unsigned long) LONG_MAX)
812#define BC_MAX_VARS ((unsigned long) SIZE_MAX - 1) 812#define BC_MAX_VARS ((unsigned long) SIZE_MAX - 1)
813 813
814struct globals { 814struct globals {
815 char sbgn; 815 char sbgn;
@@ -6956,16 +6956,14 @@ static BcStatus bc_vm_process(const char *text)
6956 6956
6957 if (s == BC_STATUS_LIMITS) { 6957 if (s == BC_STATUS_LIMITS) {
6958 6958
6959 bb_putchar('\n'); 6959 printf("BC_BASE_MAX = %u\n", BC_MAX_OBASE);
6960 printf("BC_BASE_MAX = %lu\n", BC_MAX_OBASE); 6960 printf("BC_DIM_MAX = %u\n", BC_MAX_DIM);
6961 printf("BC_DIM_MAX = %lu\n", BC_MAX_DIM); 6961 printf("BC_SCALE_MAX = %u\n", BC_MAX_SCALE);
6962 printf("BC_SCALE_MAX = %lu\n", BC_MAX_SCALE); 6962 printf("BC_STRING_MAX = %u\n", BC_MAX_STRING);
6963 printf("BC_STRING_MAX = %lu\n", BC_MAX_STRING); 6963 printf("BC_NAME_MAX = %u\n", BC_MAX_NAME);
6964 printf("BC_NAME_MAX = %lu\n", BC_MAX_NAME); 6964 printf("BC_NUM_MAX = %u\n", BC_MAX_NUM);
6965 printf("BC_NUM_MAX = %lu\n", BC_MAX_NUM); 6965 printf("MAX Exponent = %lu\n", BC_MAX_EXP);
6966 printf("Max Exponent = %lu\n", BC_MAX_EXP); 6966 printf("Number of vars = %lu\n", BC_MAX_VARS);
6967 printf("Number of Vars = %lu\n", BC_MAX_VARS);
6968 bb_putchar('\n');
6969 6967
6970 s = BC_STATUS_SUCCESS; 6968 s = BC_STATUS_SUCCESS;
6971 } 6969 }