まつもと ゆきひろです
In message "[ruby-dev:19258] Re: [ruby-cvs] ruby: * node.h (struct RNode): Change argc from int to long. Otherwize"
on 03/01/01, "Akinori MUSHA" <knu / iDaemons.org> writes:
|> * node.h (struct RNode): Change argc from int to long. Otherwize
|> NEW_CFUNC() sets argc to a wrong value on platforms where
|> sizeof(int) != sizeof(long) and the byte order is big-endian.
|> This fixes breakage on FreeBSD/sparc64.
|>
|> Revision Changes Path
|> 1.39 +3 -3 ruby/node.h
|> http://www.ruby-lang.org/cgi-bin/cvsweb.cgi/ruby/node.h?cvsroot=src&r1=1.38&r2=1.39
|
| これですが、 rev 1.12 (ruby 1.4.5 の前)で int -> long になって
|以来ずっと long だったが、 1.7 の途中、 rev 1.31 で int に戻った
|ようです。
|
|http://www.ruby-lang.org/cgi-bin/cvsweb.cgi/ruby/node.h#rev1.31
|
|ChangeLog を見ても理由が見あたらないのですが、意図は何だったか
|心当たりはありませんか?
うーん、使う側でargcがintだから型を合わせた程度の意図しかな
いのではないかと推測します。自分でやっといて「推測します」っ
てのも情けない話ではあるのですが。longだから困ることがあるわ
けではないと思うので、戻すべきでしょう。