From: nobu@... Date: 2006-07-26T11:55:17+09:00 Subject: Re: [ ruby-Bugs-4970 ] bug in printf Hi, At Fri, 7 Jul 2006 23:18:13 +0900, wrote in [ruby-core:08167]: > In the second case Bignum -1234567890 is not treated as an > unsigned decimal number. I think the latter would be a bug. Index: sprintf.c =================================================================== RCS file: /cvs/ruby/src/ruby/sprintf.c,v retrieving revision 1.34.2.17 diff -p -u -2 -w -r1.34.2.17 sprintf.c --- sprintf.c 12 Jun 2006 13:30:32 -0000 1.34.2.17 +++ sprintf.c 26 Jul 2006 02:54:41 -0000 @@ -627,7 +627,5 @@ rb_f_sprintf(argc, argv) if (base == 10) { rb_warning("negative number for %%u specifier"); - s++; } - else { remove_sign_bits(++s, base); tmp = rb_str_new(0, 3+strlen(s)); @@ -648,5 +646,4 @@ rb_f_sprintf(argc, argv) bignum = 2; } - } s = RSTRING(tmp)->ptr; -- Nobu Nakada