aboutsummaryrefslogtreecommitdiffstats
path: root/node.c
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2020-07-07 17:47:32 +0300
committerArnold D. Robbins <arnold@skeeve.com>2020-07-07 17:47:32 +0300
commit328708c8205cbd211ca1523d6f56bd64fd1389f9 (patch)
tree4720a8263e7d053a8bd02c39e8977820ab5245d8 /node.c
parent6f919b67d12616168c5e1bbfca509359fed9143d (diff)
parent54483c688b659b96cc930000444d5b34ee11d11c (diff)
downloadegawk-328708c8205cbd211ca1523d6f56bd64fd1389f9.tar.gz
egawk-328708c8205cbd211ca1523d6f56bd64fd1389f9.tar.bz2
egawk-328708c8205cbd211ca1523d6f56bd64fd1389f9.zip
Merge branch 'gawk-5.1-stable'
Diffstat (limited to 'node.c')
-rw-r--r--node.c15
1 files changed, 4 insertions, 11 deletions
diff --git a/node.c b/node.c
index 04a90adc..2db6a1ef 100644
--- a/node.c
+++ b/node.c
@@ -310,24 +310,17 @@ r_dupnode(NODE *n)
return n;
}
#endif
+ getnode(r);
+ *r = *n;
#ifdef HAVE_MPFR
if ((n->flags & MPZN) != 0) {
- r = mpg_integer();
+ mpz_init(r->mpg_i);
mpz_set(r->mpg_i, n->mpg_i);
- r->flags = n->flags;
- r->strndmode = MPFR_round_mode;
} else if ((n->flags & MPFN) != 0) {
- r = mpg_float();
+ mpfr_init(r->mpg_numbr);
int tval = mpfr_set(r->mpg_numbr, n->mpg_numbr, ROUND_MODE);
IEEE_FMT(r->mpg_numbr, tval);
- r->flags = n->flags;
- r->strndmode = MPFR_round_mode;
- } else {
-#endif
- getnode(r);
- *r = *n;
-#ifdef HAVE_MPFR
}
#endif