summaryrefslogtreecommitdiff
path: root/gawkapi.c
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2017-08-16 21:34:15 +0300
committerArnold D. Robbins <arnold@skeeve.com>2017-08-16 21:34:15 +0300
commita5322c683fdda25238a2239641e6873a935dd643 (patch)
tree4e12a3744943cdfef5f01cf99974ebb7ad0c8bb2 /gawkapi.c
parent90be918bfed70f7a08ea2514ebb33be2e4a33d20 (diff)
downloadgawk-a5322c683fdda25238a2239641e6873a935dd643.tar.gz
Some cleanup in gawkapi.c for non-MPFR case.
Diffstat (limited to 'gawkapi.c')
-rw-r--r--gawkapi.c19
1 files changed, 13 insertions, 6 deletions
diff --git a/gawkapi.c b/gawkapi.c
index dc566df9..f8964db2 100644
--- a/gawkapi.c
+++ b/gawkapi.c
@@ -489,18 +489,22 @@ assign_string(NODE *node, awk_value_t *val, awk_valtype_t val_type)
/* assign_number -- return a number node */
+#define assign_double(val) \
+ val->num_value = node->numbr; \
+ val->num_type = AWK_NUMBER_TYPE_DOUBLE; \
+ val->num_ptr = NULL
+
static inline void
assign_number(NODE *node, awk_value_t *val)
{
val->val_type = AWK_NUMBER;
-#ifdef HAVE_MPFR
+
+#ifndef HAVE_MPFR
+ assign_double(val);
+#else
switch (node->flags & (MPFN|MPZN)) {
case 0:
-#endif
- val->num_value = node->numbr;
- val->num_type = AWK_NUMBER_TYPE_DOUBLE;
- val->num_ptr = NULL;
-#ifdef HAVE_MPFR
+ assign_double(val);
break;
case MPFN:
val->num_value = mpfr_get_d(node->mpg_numbr, ROUND_MODE);
@@ -518,6 +522,7 @@ assign_number(NODE *node, awk_value_t *val)
}
#endif
}
+#undef assign_double
/* assign_regex --- return a regex node */
@@ -1298,6 +1303,7 @@ api_get_mpfr(awk_ext_id_t id)
return p;
#else
fatal(_("api_get_mpfr: MPFR not supported"));
+ return NULL; // silence compiler warning
#endif
}
@@ -1313,6 +1319,7 @@ api_get_mpz(awk_ext_id_t id)
return p;
#else
fatal(_("api_get_mpfr: MPFR not supported"));
+ return NULL; // silence compiler warning
#endif
}