From e214ae0d1541e857e59dbc95d62c675bb88c593d Mon Sep 17 00:00:00 2001 From: "Andrew J. Schorr" Date: Wed, 16 Aug 2017 07:45:57 -0400 Subject: Fix API bug preventing builds in the absence of MPFR. --- gawkapi.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'gawkapi.c') diff --git a/gawkapi.c b/gawkapi.c index 0abcb885..dc566df9 100644 --- a/gawkapi.c +++ b/gawkapi.c @@ -493,11 +493,14 @@ static inline void assign_number(NODE *node, awk_value_t *val) { val->val_type = AWK_NUMBER; +#ifdef HAVE_MPFR 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 break; case MPFN: val->num_value = mpfr_get_d(node->mpg_numbr, ROUND_MODE); @@ -513,6 +516,7 @@ 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 } /* assign_regex --- return a regex node */ -- cgit v1.2.3 From a5322c683fdda25238a2239641e6873a935dd643 Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Wed, 16 Aug 2017 21:34:15 +0300 Subject: Some cleanup in gawkapi.c for non-MPFR case. --- gawkapi.c | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) (limited to 'gawkapi.c') 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 } -- cgit v1.2.3