summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRomero Malaquias <romero.malaquias@gmail.com>2015-12-09 03:38:17 -0300
committerNicolas Williams <nico@cryptonector.com>2015-12-09 15:29:35 -0600
commit6151f204776db83047bfad1b76d5db0617a535f3 (patch)
treec899a17b28df54cfbe5816a900820b96bde2abe6
parentad8d1a8cc82d898f39bd0c09a619c19f3c317e8c (diff)
Avoiding conditional directives that break statements
-rw-r--r--src/jv_dtoa.c9
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;