diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2017-08-16 21:35:14 +0300 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2017-08-16 21:35:14 +0300 |
commit | 02611bd78181f3b09166d9ceffe56a87cf6960a0 (patch) | |
tree | c8c0d77218793fa1ae239551c49d2927eb01009f /gawkapi.c | |
parent | 63d8faa8b5d2bdeec73044c95f345b3992248c74 (diff) | |
parent | a5322c683fdda25238a2239641e6873a935dd643 (diff) | |
download | egawk-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.c | 17 |
1 files changed, 14 insertions, 3 deletions
@@ -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 } |