From f83c5da39d1339f8d3ab00be0b214fc65cd69f44 Mon Sep 17 00:00:00 2001 From: matz Date: Thu, 20 Mar 2003 17:01:30 +0000 Subject: [PATCH] * sprintf.c (rb_f_sprintf): copy sign bits only if value is negative. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3591 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 3 +++ sprintf.c | 7 ++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 686ba4510a..2cccfd1cc7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ Fri Mar 21 01:29:35 2003 Yukihiro Matsumoto + * sprintf.c (rb_f_sprintf): copy sign bits only if value is + negative. + * missing.h: include or if HAVE_VSNPRINTF is not defined. 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; }