From 6151f204776db83047bfad1b76d5db0617a535f3 Mon Sep 17 00:00:00 2001 From: Romero Malaquias Date: Wed, 9 Dec 2015 03:38:17 -0300 Subject: [PATCH] Avoiding conditional directives that break statements --- src/jv_dtoa.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/jv_dtoa.c b/src/jv_dtoa.c index 187a9d2d..33feb99b 100644 --- a/src/jv_dtoa.c +++ b/src/jv_dtoa.c @@ -2327,7 +2327,7 @@ retlow1: jvp_strtod (struct dtoa_context* C, const char *s00, char **se) { - int bb2, bb5, bbe, bd2, bd5, bbbits, bs2, c, e, e1; + int bb2, bb5, bbe, bd2, bd5, bbbits, bs2, c, e, e1, test_scale; int esign, i, j, k, nd, nd0, nf, nz, nz0, nz1, sign; CONST char *s, *s0, *s1; double aadj, aadj1; @@ -2941,12 +2941,11 @@ jvp_strtod if (!word1(&rv) && !(word0(&rv) & Frac_mask)) { y = word0(&rv) & Exp_mask; + test_scale = y; #ifdef Avoid_Underflow - if (!bc.scale || y > 2*P*Exp_msk1) -#else - if (y) + test_scale = (!bc.scale || y > 2*P*Exp_msk1); #endif - { + if (test_scale) { delta = lshift(C, delta,Log2P); if (cmp(C, delta, bs) <= 0) adj.d = -0.5;