summaryrefslogtreecommitdiff
path: root/Src/subst.c
diff options
context:
space:
mode:
Diffstat (limited to 'Src/subst.c')
-rw-r--r--Src/subst.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/Src/subst.c b/Src/subst.c
index 94a1222d8..beb99b5ee 100644
--- a/Src/subst.c
+++ b/Src/subst.c
@@ -1964,10 +1964,13 @@ arithsubst(char *a, char **bptr, char *rest)
singsub(&a);
v = matheval(a);
- if (v.type & MN_FLOAT)
+ if ((v.type & MN_FLOAT) && !outputradix)
b = convfloat(v.u.d, 0, 0, NULL);
- else
- convbase(buf, v.u.l, 0);
+ else {
+ if (v.type & MN_FLOAT)
+ v.u.l = (zlong) v.u.d;
+ convbase(buf, v.u.l, outputradix);
+ }
t = *bptr = (char *) hcalloc(strlen(*bptr) + strlen(b) +
strlen(rest) + 1);
t--;