From: Nobuyoshi Nakada Date: 2008-10-25T04:02:52+09:00 Subject: [ruby-dev:36918] Re: dtoa() / freedtoa() の改造 なかだです。 At Sat, 25 Oct 2008 02:31:20 +0900, Tadashi Saito wrote in [ruby-dev:36913]: > dtoa()が使われるのはどうもmissing/vsnprintf.cの中、つまりvsnprintf() > (とsnprintf()) が使えない環境のみのようです。 > しかしvsnprintf()が存在するような自分の環境でも、使われないdtoa()が定義されて > います。これは本来、必要ない事ではないでしょうか。 > > 思うに、sprintf.cでHAVE_*をチェックせずに > #include "missing/vsnprintf.c" > しているのが問題だと思うのですが、これにはどんな理由があるのでしょうか。 > 自分にはちょっと分かりませんでした。 システム標準のvsnprintf()はlocaleに依存している場合があります。 1.9ではそれを避けるために常にmissing/vsnprintf.cを使います。 > とりあえず > * freedtoa()を staticに > * dtoa()を ruby_dtoa()に > するパッチが以下です。検討いただけるとありがたく思います。 [ruby-dev:36915]、[ruby-dev:36916]とともにコミットしました。 -- --- 僕の前にBugはない。 --- 僕の後ろにBugはできる。 中田 伸悦