diff options
author | Stefan Eßer <se@FreeBSD.org> | 2020-10-01 15:40:24 +0000 |
---|---|---|
committer | Stefan Eßer <se@FreeBSD.org> | 2020-10-01 15:40:24 +0000 |
commit | 9fef4b8de311c90cf35556217ec9e472c164f1a2 (patch) | |
tree | be26a5882ff196a219183e684e983bfbd23f9055 /src/num.c | |
parent | 592e97f5f6ed46b0e508b0be5511780ad9b336f6 (diff) |
Diffstat (limited to 'src/num.c')
-rw-r--r-- | src/num.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/num.c b/src/num.c index 05b4654f21f53..de5fa5c566fbe 100644 --- a/src/num.c +++ b/src/num.c @@ -1457,7 +1457,8 @@ static void bc_num_parseDecimal(BcNum *restrict n, const char *restrict val) { for (i = 0; i < len && (zero = (val[i] == '0' || val[i] == '.')); ++i); - n->scale = (size_t) (rdx * ((val + len) - (ptr + 1))); + n->scale = (size_t) (rdx * (((uintptr_t) (val + len)) - + (((uintptr_t) ptr) + 1))); n->rdx = BC_NUM_RDX(n->scale); i = len - (ptr == val ? 0 : i) - rdx; @@ -1656,7 +1657,7 @@ static void bc_num_printDecimal(const BcNum *restrict n) { memset(buffer, 0, BC_BASE_DIGS * sizeof(size_t)); for (j = 0; n9 && j < BC_BASE_DIGS; ++j) { - buffer[j] = n9 % BC_BASE; + buffer[j] = ((size_t) n9) % BC_BASE; n9 /= BC_BASE; } |