* vsnprintf.c (BSD_vfprintf): fix precision specifier doesn't

work well on %f. [ruby-dev:42552]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29719 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
naruse 2010-11-08 06:44:39 +00:00
Родитель 1f3e96b7ac
Коммит 599a7071c1
3 изменённых файлов: 8 добавлений и 0 удалений

Просмотреть файл

@ -1,3 +1,8 @@
Mon Nov 8 15:40:56 2010 NARUSE, Yui <naruse@ruby-lang.org>
* 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@ruby-lang.org>
* win32/win32.c (get_wsa_extension_function): typos.

Просмотреть файл

@ -189,6 +189,7 @@ class TestSprintf < Test::Unit::TestCase
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

Просмотреть файл

@ -855,6 +855,8 @@ fp_begin: _double = va_arg(ap, double);
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 */