summaryrefslogtreecommitdiff
path: root/Src/params.c
diff options
context:
space:
mode:
Diffstat (limited to 'Src/params.c')
-rw-r--r--Src/params.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/Src/params.c b/Src/params.c
index 1439e9af8..2d38272a6 100644
--- a/Src/params.c
+++ b/Src/params.c
@@ -3041,10 +3041,10 @@ convbase(char *s, zlong v, int base)
if (v < 0)
*s++ = '-', v = -v;
- if (base <= 1)
- base = 10;
+ if (base >= -1 && base <= 1)
+ base = -10;
- if (base != 10) {
+ if (base > 0) {
if (isset(CBASES) && base == 16)
sprintf(s, "0x");
else if (isset(CBASES) && base == 8 && isset(OCTALZEROES))
@@ -3052,7 +3052,8 @@ convbase(char *s, zlong v, int base)
else
sprintf(s, "%d#", base);
s += strlen(s);
- }
+ } else
+ base = -base;
for (x = v; x; digs++)
x /= base;
if (!digs)