From: "H.Yamamoto" Date: 2005-09-07T17:12:19+09:00 Subject: [ruby-dev:26975] [proposal] ANSI style function 山本です。 そろそろ関数定義の ANSI 化しませんか? static VALUE rb_digest_base_alloc _((VALUE)); static VALUE rb_digest_base_alloc(klass) VALUE klass; { というのは、DRY 原則に反すると思います。(それだけミスも入りやすい) GO サインがいただければ少しずつ変換していきたいのですけど。 一通りやってみて問題になったのは 1. eval.c で const VALUE * を VALUE * に代入している部分で警告 2. 関数ポインタを保存するときに void (*hoge)() のように ANYARGS の 扱いになっている部分。代入している関数の引数の数や型が違うことが よくある。(これはとりあえず後回しにしたらよいと思う) 3. VisualC++ だと bignam.c などで int を char に変換するときに「ベースの 型が違う」といった警告が出る。 というぐらいで、エラーになったり落ちたりはしていません。