ruby-trunk-changes r47791 - r47802

今日は主に拡張ライブラリで struct RData を使った実装を struct RTypedData を利用した実装にする変更がありました。

normal: r47791 2014-10-05 05:56:10 +0900

拡張ライブラリ zlib で Zlib::ZStream の型を struct RData から struct RTypedData を利用した実装に切り替えています。 [ruby-core:65377] [Feature #10319]

nobu: r47792 2014-10-05 08:09:32 +0900

拡張ライブラリのソースで引数のない関数の定義で明示的に func(void) のように記述するようにコーディングスタイルを修正しています。 r47744 の続きですね。

nobu: r47793 2014-10-05 08:29:24 +0900

r47792 に続き拡張ライブラリの無引数の関数の定義や宣言で func(void) のように明示的に void を使うようにしています。

nobu: r47794 2014-10-05 08:33:01 +0900

拡張ライブラリ dbm でも TypedData を利用するように実装を切り替えています。

nobu: r47795 2014-10-05 08:33:04 +0900

拡張ライブラリ gdbm でも TypedData を利用するようにしています。

nobu: r47796 2014-10-05 08:33:06 +0900

拡張ライブラリ sdbm でも TypedData を利用するようにしています。

nobu: r47797 2014-10-05 08:33:09 +0900

拡張ライブラリ jsonJSON::Ext::Generator::State の実装も TypedData を利用するように変更しています。

nobu: r47798 2014-10-05 08:33:11 +0900

同じく拡張ライブラリ jsonJSON::Parser も TypedData を利用した実装に変更しています。

nobu: r47799 2014-10-05 08:33:15 +0900

拡張ライブラリ openssl でも OpenSSL::BN や OpenSSL::Cipher を TypedData を使った実装に変更しています。

nobu: r47800 2014-10-05 08:33:19 +0900

拡張ライブラリ psych でも Psych::Emitter や Psych::Parser を TypedData を使った実装に変更しています。 ただしオブジェクトが利用しているメモリ量を返す memsize の実装は未完成のようです。

nobu: r47801 2014-10-05 10:38:52 +0900

拡張ライブラリ digest の rmd160 のハッシュ関数実装の extconf.rb でチェックする関数名を RMD160_Transform() から RIPEMD160_Transform() に修正しています。 けど実際 ext/digest/rmd160/rmd160ossl.c で使ってるのは RIPEMD160_Final() という関数だけで、このへん OpenSSL 実装を使う時の Digest の実装というのはよくわからないんですよねー。 [ruby-core:65091] [Bug #10252]

nobu: r47802 2014-10-05 11:03:55 +0900

拡張ライブラリ digest の extconf.rb で --with-bundled-xxx オプションを指定して OpenSSL の実装を利用しない時はリンクしないようにしています。 時々 openssl と digest 絡みでビルドエラーになったりするのはこのへんも原因だったのかなぁ。 [ruby-core:65404] [Bug #10324]