aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--miscutils/bc.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/miscutils/bc.c b/miscutils/bc.c
index 1879581e3..afd5c8d0e 100644
--- a/miscutils/bc.c
+++ b/miscutils/bc.c
@@ -6254,12 +6254,14 @@ static unsigned long bc_program_scale(BcNum *n)
6254 6254
6255static unsigned long bc_program_len(BcNum *n) 6255static unsigned long bc_program_len(BcNum *n)
6256{ 6256{
6257 unsigned long len = n->len; 6257 size_t len = n->len;
6258 size_t i;
6259
6260 if (n->rdx != n->len) return len;
6261 for (i = n->len - 1; i < n->len && n->num[i] == 0; --len, --i);
6262 6258
6259 if (n->rdx != len) return len;
6260 for (;;) {
6261 if (len == 0) break;
6262 len--;
6263 if (n->num[len] != 0) break;
6264 }
6263 return len; 6265 return len;
6264} 6266}
6265 6267