aboutsummaryrefslogtreecommitdiffstats
path: root/bignum.c
diff options
context:
space:
mode:
Diffstat (limited to 'bignum.c')
-rw-r--r--bignum.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/bignum.c b/bignum.c
index 15a5417a08..7aed3af8aa 100644
--- a/bignum.c
+++ b/bignum.c
@@ -867,15 +867,15 @@ rb_big2str0(VALUE x, int base, int trim)
#if SIZEOF_BDIGITS > 2
hbase *= hbase;
#endif
- off = !RTEST(trim) && !RBIGNUM(x)->sign;
+ off = !RTEST(trim) || !RBIGNUM(x)->sign;
xx = rb_big_clone(x);
RBIGNUM(xx)->sign = 1;
if (n1 <= KARATSUBA_DIGITS) {
- len = big2str_orig(xx, base, ptr + off, 2*n1, hbase, RTEST(trim));
+ len = off + big2str_orig(xx, base, ptr + off, 2*n1, hbase, RTEST(trim));
}
else {
- len = big2str_karatsuba(xx, base, ptr + off, n1,
- 2*n1, hbase, RTEST(trim));
+ len = off + big2str_karatsuba(xx, base, ptr + off, n1,
+ 2*n1, hbase, RTEST(trim));
}
ptr[len] = '\0';