diff options
Diffstat (limited to 'newlib/libc/stdlib/dtoa.c')
-rw-r--r-- | newlib/libc/stdlib/dtoa.c | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/newlib/libc/stdlib/dtoa.c b/newlib/libc/stdlib/dtoa.c index 62597c755..1ea1c5560 100644 --- a/newlib/libc/stdlib/dtoa.c +++ b/newlib/libc/stdlib/dtoa.c @@ -229,19 +229,18 @@ _DEFUN (_dtoa_r, int denorm; __ULong x; #endif - _Bigint *b, *b1, *delta, *mlo = NULL, *mhi, *S; + _Bigint *b, *b1, *delta, *mlo, *mhi, *S; double ds; char *s, *s0; d.d = _d; - _REENT_CHECK_MP(ptr); - if (_REENT_MP_RESULT(ptr)) + if (ptr->_result) { - _REENT_MP_RESULT(ptr)->_k = _REENT_MP_RESULT_K(ptr); - _REENT_MP_RESULT(ptr)->_maxwds = 1 << _REENT_MP_RESULT_K(ptr); - Bfree (ptr, _REENT_MP_RESULT(ptr)); - _REENT_MP_RESULT(ptr) = 0; + ptr->_result->_k = ptr->_result_k; + ptr->_result->_maxwds = 1 << ptr->_result_k; + Bfree (ptr, ptr->_result); + ptr->_result = 0; } if (word0 (d) & Sign_bit) @@ -416,11 +415,11 @@ _DEFUN (_dtoa_r, i = 1; } j = sizeof (__ULong); - for (_REENT_MP_RESULT_K(ptr) = 0; sizeof (_Bigint) - sizeof (__ULong) + j <= i; + for (ptr->_result_k = 0; sizeof (_Bigint) - sizeof (__ULong) + j <= i; j <<= 1) - _REENT_MP_RESULT_K(ptr)++; - _REENT_MP_RESULT(ptr) = Balloc (ptr, _REENT_MP_RESULT_K(ptr)); - s = s0 = (char *) _REENT_MP_RESULT(ptr); + ptr->_result_k++; + ptr->_result = Balloc (ptr, ptr->_result_k); + s = s0 = (char *) ptr->_result; if (ilim >= 0 && ilim <= Quick_max && try_quick) { |