aboutsummaryrefslogtreecommitdiffstats
path: root/mpfr.c
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2017-04-12 12:17:00 +0300
committerArnold D. Robbins <arnold@skeeve.com>2017-04-12 12:17:00 +0300
commit3a8955be982e26d8b0932d9baa50bb13ea9b3296 (patch)
treef75b94c63d5d1999082f30f6575ccba38b240114 /mpfr.c
parent3cb9f16bb195a3d004692e85e7f9190a9469fcb1 (diff)
parent8f83ab76a1d8861d9a992290f2691443d5169c89 (diff)
downloadegawk-3a8955be982e26d8b0932d9baa50bb13ea9b3296.tar.gz
egawk-3a8955be982e26d8b0932d9baa50bb13ea9b3296.tar.bz2
egawk-3a8955be982e26d8b0932d9baa50bb13ea9b3296.zip
Merge branch 'master' into feature/fix-comments
Diffstat (limited to 'mpfr.c')
-rw-r--r--mpfr.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/mpfr.c b/mpfr.c
index c0f1ff0c..ec8d5561 100644
--- a/mpfr.c
+++ b/mpfr.c
@@ -303,7 +303,7 @@ force_mpnum(NODE *n, int do_nondec, int use_locale)
cp1 = cp;
if (do_nondec)
- base = get_numbase(cp1, use_locale);
+ base = get_numbase(cp1, cpend - cp1, use_locale);
if (! mpg_maybe_float(cp1, use_locale)) {
mpg_zero(n);
@@ -381,12 +381,10 @@ mpg_format_val(const char *format, int index, NODE *s)
}
s->flags = oflags;
s->stlen = r->stlen;
- if ((s->flags & STRCUR) != 0)
+ if ((s->flags & (MALLOC|STRCUR)) == (MALLOC|STRCUR))
efree(s->stptr);
s->stptr = r->stptr;
freenode(r); /* Do not unref(r)! We want to keep s->stptr == r->stpr. */
-
- s->flags |= STRCUR;
free_wstr(s);
return s;
}