ruby-changes:17708
From: naruse <ko1@a...>
Date: Mon, 8 Nov 2010 15:44:46 +0900 (JST)
Subject: [ruby-changes:17708] Ruby:r29719 (trunk): * vsnprintf.c (BSD_vfprintf): fix precision specifier doesn't
naruse 2010-11-08 15:44:39 +0900 (Mon, 08 Nov 2010) New Revision: 29719 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=29719 Log: * vsnprintf.c (BSD_vfprintf): fix precision specifier doesn't work well on %f. [ruby-dev:42552] Modified files: trunk/ChangeLog trunk/test/ruby/test_sprintf.rb trunk/vsnprintf.c Index: ChangeLog =================================================================== --- ChangeLog (revision 29718) +++ ChangeLog (revision 29719) @@ -1,3 +1,8 @@ +Mon Nov 8 15:40:56 2010 NARUSE, Yui <naruse@r...> + + * vsnprintf.c (BSD_vfprintf): fix precision specifier doesn't + work well on %f. [ruby-dev:42552] + Mon Nov 8 14:41:40 2010 NAKAMURA Usaku <usa@r...> * win32/win32.c (get_wsa_extension_function): typos. Index: vsnprintf.c =================================================================== --- vsnprintf.c (revision 29718) +++ vsnprintf.c (revision 29719) @@ -855,6 +855,8 @@ size += prec + 1; } else if (!prec) { /* "0" */ size = 1; + if (flags & ALT) + size += 1; } else /* "0.X" */ size = prec + 2; } else if (expt >= ndig) { /* fixed g fmt */ Index: test/ruby/test_sprintf.rb =================================================================== --- test/ruby/test_sprintf.rb (revision 29718) +++ test/ruby/test_sprintf.rb (revision 29719) @@ -189,6 +189,7 @@ assert_equal("36893488147419111424", sprintf("%20.0f", 36893488147419107329.0)) assert_equal(" Inf", sprintf("% 0e", 1.0/0.0), "moved from btest/knownbug") + assert_equal(" -0.", sprintf("%#10.0f", -0.5), "[ruby-dev:42552]") end def test_float_hex -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/