summaryrefslogtreecommitdiff
path: root/sprintf.c
diff options
context:
space:
mode:
Diffstat (limited to 'sprintf.c')
-rw-r--r--sprintf.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/sprintf.c b/sprintf.c
index 69f9fa3ff3..caea4c587f 100644
--- a/sprintf.c
+++ b/sprintf.c
@@ -556,7 +556,12 @@ rb_f_sprintf(argc, argv)
}
}
else {
- char c = sign_bits(base, p);
+ char c;
+
+ if (bignum && !RBIGNUM(val)->sign)
+ c = sign_bits(base, p);
+ else
+ c = '0';
while (len < prec--) {
buf[blen++] = c;
}