aboutsummaryrefslogtreecommitdiffstats
path: root/gawkapi.c
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2017-08-16 21:35:14 +0300
committerArnold D. Robbins <arnold@skeeve.com>2017-08-16 21:35:14 +0300
commit02611bd78181f3b09166d9ceffe56a87cf6960a0 (patch)
treec8c0d77218793fa1ae239551c49d2927eb01009f /gawkapi.c
parent63d8faa8b5d2bdeec73044c95f345b3992248c74 (diff)
parenta5322c683fdda25238a2239641e6873a935dd643 (diff)
downloadegawk-02611bd78181f3b09166d9ceffe56a87cf6960a0.tar.gz
egawk-02611bd78181f3b09166d9ceffe56a87cf6960a0.tar.bz2
egawk-02611bd78181f3b09166d9ceffe56a87cf6960a0.zip
Merge branch 'master' into feature/fix-comments
Diffstat (limited to 'gawkapi.c')
-rw-r--r--gawkapi.c17
1 files changed, 14 insertions, 3 deletions
diff --git a/gawkapi.c b/gawkapi.c
index 0abcb885..f8964db2 100644
--- a/gawkapi.c
+++ b/gawkapi.c
@@ -489,15 +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;
+
+#ifndef HAVE_MPFR
+ assign_double(val);
+#else
switch (node->flags & (MPFN|MPZN)) {
case 0:
- val->num_value = node->numbr;
- val->num_type = AWK_NUMBER_TYPE_DOUBLE;
- val->num_ptr = NULL;
+ assign_double(val);
break;
case MPFN:
val->num_value = mpfr_get_d(node->mpg_numbr, ROUND_MODE);
@@ -513,7 +520,9 @@ assign_number(NODE *node, awk_value_t *val)
fatal(_("node_to_awk_value: detected invalid numeric flags combination `%s'; please file a bug report."), flags2str(node->flags));
break;
}
+#endif
}
+#undef assign_double
/* assign_regex --- return a regex node */
@@ -1294,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
}
@@ -1309,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
}