diff options
author | Romero Malaquias <romero.malaquias@gmail.com> | 2015-12-09 03:38:17 -0300 |
---|---|---|
committer | Nicolas Williams <nico@cryptonector.com> | 2015-12-09 15:29:35 -0600 |
commit | 6151f204776db83047bfad1b76d5db0617a535f3 (patch) | |
tree | c899a17b28df54cfbe5816a900820b96bde2abe6 | |
parent | ad8d1a8cc82d898f39bd0c09a619c19f3c317e8c (diff) |
Avoiding conditional directives that break statements
-rw-r--r-- | src/jv_dtoa.c | 9 |
1 files 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; |