From: nobu@... Date: 2005-09-07T21:51:16+09:00 Subject: [ruby-dev:26978] Re: [proposal] ANSI style function なかだです。 At Wed, 7 Sep 2005 21:37:17 +0900, H.Yamamoto wrote in [ruby-dev:26977]: > protoizeというのは初めて聞いたので調べてみると、プロトタイプ宣言を > 追加するツールのようですね。 > > http://www.cqpub.co.jp/interface/column/freesoft/2003/200304/0.htm > > を見た感じでは K&R はそのまま残ってしまうように見えるのですが、そんな > ことありませんか? そこにはprotoizeの使用例はないようですが、そこのtest85.cで試す とこうなります。 --- test85.c.save 2005-09-07 21:46:33.000000000 +0900 +++ test85.c 2005-09-07 21:46:43.000000000 +0900 @@ -12,8 +12,7 @@ return 0; } -int foo(x) - t_id x; +int foo(t_id x) { return x * x; } > ext/iconv だと > > static VALUE iconv_failure_initialize > #ifdef HAVE_PROTOTYPES > (VALUE error, VALUE mesg, VALUE success, VALUE failed) > #else /* HAVE_PROTOTYPES */ > (error, mesg, success, failed) > VALUE error, mesg, success, failed; > #endif /* HAVE_PROTOTYPES */ > > のようなことになってしまってるので、ツールでやるより手作業で変換したほうが > 案外確実なんじゃないかと思います。(変換ミスのチェックは、どこかに貯めて > 複数人でチェックするとか・・・) そんなことをしているのはext/iconvだけだと思います。ext/iconvに 関しては unifdef -DHAVE_PROTOTYPES でかまいません。 -- --- 僕の前にBugはない。 --- 僕の後ろにBugはできる。 中田 伸悦