From: Takahiro Kambe Date: 2005-09-08T12:07:19+09:00 Subject: [ruby-dev:26984] elimination of "extern int errno;" ----Next_Part(Thu_Sep__8_12_07_16_2005_135)-- Content-Type: Text/Plain; charset=iso-2022-jp Content-Transfer-Encoding: 7bit こんにちは。 pkgsrc方面で、DragonFly BSDに対応させるためのパッチというのをいただい たのですが、その大半は、 extern int errno; という宣言を削除するものでした。伝統的なUNIXでは、errnoはグローバルに 宣言されたintの変数であるとされていました。しかし、おそらくスレッド関 係の導入によって、「値の変更が可能なintの左辺値に展開されるマクロ」と され、といったヘッダ・ファイルが用意されるようになっています。 Ruby 1.8.3のpreviewでは一部削除された部分もあるようですが、まだerrnoを 不用意に宣言している部分があります。 後に、RubyのHEADとruby_1_8ブランチに対するパッチを同封します。 -- Takahiro Kambe P.S. 以下のようなパッチもいただいたのですが、この変更が正しいかどうか私には わかりませんでした。 + +--- ext/dl/dl.c.orig 2005-08-17 17:14:22.000000000 +0000 ++++ ext/dl/dl.c +@@ -543,7 +543,11 @@ rb_io_to_ptr(VALUE self) + GetOpenFile(self, fptr); + fp = fptr->f; + ++#if defined(__DragonFly__) ++ return fp ? rb_dlptr_new(fp, 1, 0) : Qnil; ++#else + return fp ? rb_dlptr_new(fp, sizeof(FILE), 0) : Qnil; ++#endif + } + + VALUE ----Next_Part(Thu_Sep__8_12_07_16_2005_135)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: x-gzip64 Content-Description: patch to Ruby's CVS HEAD Content-Disposition: inline; filename=patch-to-HEAD H4sIAAAAAAAAA81Vf2+bMBD9O5HyHW6tVuUHFAwhYVSVWjVoi9R2UrNmmqYJEXCot5YgA1mr ffmdDU1ATbZMa6VagPHjfH7cw49xHNJ7BxK+CGiaHgat5vH/t1bz6mwCc3ZLHdBSHmg8nz1o qzWUZavJacYZXbI4Ao5dyhYxkENiWq1myOZzUHN5JKByCVcZqqq6HjZMAqd5BIauW6ATp687 hg6qjq1RJuz1epV4GyY0KcMNx9Id8q4IbzVPTkA1DJsoQ+jJfgAIpZmfsQCmp+fXbqsJiZez 0Atu/DiiXsLZEl8zou3F7LsCLOxghGgyGkrwCMFfyFs8oPcZ5TGwOAPKebw4KicIIC9CSyS4 ocEPuVj6k2XBTbtzVFK07YGkaNvWForRS1GMNlCMnlI0+8QUFLH/UxXLWcjhCal/qJkCdMfK mX3LKmhZxmuiZRlSUOy30Yqeh1Ykae0qojUYFrQGr4XWuLArzKUl2YM4X9Syautsty3D3ORa hgklP2FYtVQN0ocL/6FwIdJ3rKGjmyvTEumEZ9Wn/MW3iG4qNvREJ6XC3c8b3Qs/xaqPkGpA 4Rj2tJAuRb636Z5SlLqUVITD5NZf0kv/jn4dudPxmXvuXn4rFFE3qKfik302R0Xm8OF06noT 95N7PR4JGNi8Cl+tcECYxRRSmond0aadBt5yea8SBRDo1GROw9md5onriytdXWq72Bv/UBas KD6KXc3WMOxHvQmQgaMPHbO/0ttay12btIPiw0LxYWVzComwzHmS+IyL/162aLelvF0FQj/L UQetKzZZt9yT/m0qhxqSR0HhTaFRCGkew8HBenwxGX2c1BDv8/jSNOqQd/blPcKeh6/1nOmq cFt+hMJvNtnKPo1RIvnh/gYc9eYh4AgAAA== ----Next_Part(Thu_Sep__8_12_07_16_2005_135)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: x-gzip64 Content-Description: patch to Ruby's CVS ruby_1_8 branch Content-Disposition: inline; filename="patch-to-ruby_1_8" H4sIAAAAAAAAA81V/0+bQBT/uU36P7xpNP0CwkEpFWOisWRrYrvETpdlWQjCFW+rlBzQafbP 792BFWK7uUwTr6XHfe7euw/vw306jkN650DClwFN04Og1Tz+/9ZqXpzNYM4W1AEt5YHG8+t7 bb2Hsmo1Oc04oysWR8CxS9kyBnJwaBzgx2w1Qzafg5rLbwIqX09Vmaqq+jhsmARO8wgMXbdA J05fd6wBqDq2RiVxr9erxAxhRpMyxHD6tkP0IqTVPDkB1dAtS7GhJ/sBIJRmfsYCuDo9v3Rb TUi8nIVecOPHEfUSzlb4yBFtL6+/K8DCDq4QTa6GEjxC8BdyFxP0LqM8BhZnQDmPl0dlgADy YmmJBDc0+CE3S3+yLLhpd45KigN9ICkO9G0Uo9eiGG2gGD2laBLTFBSxJ3+oYhmFHJ6Q+oea KUCfWTmT2FZByzbeEi2jLwXFfhut6GVoRZLWc0U0hnZBa/hWaI0L68JcWpLdi+tV7au2z3YL I4fCaTY5WDEDJU9hXrWUDdKHiX9fuBHpO5btWGRtYA9phX/Vw/7iYUQ3lSH0RCdlQyfgje7E T1GBEdIOKBzDjhbSlci3l+4oRdlLecVymC38FZ36t/TryL0an7nn7vRboY66QUkVZ3bZHNWZ w4fTK9ebuZ/cy/FIwMDmVfhijQPCLKaQ0kyclDbtNPCWy3uVKIBApyZ5Gl7fap74fXXVq1tt F97apLkFa4oPglezNYzhg+YEyMDRbcfsrzW3HuWuBT1DcbtQ3K4cVCERljlPEp9x8R+YLdtt KW9XgdDPctRB64oD1y3Pp79I5VBD8igovCs0CiHNY9jffxxPZqOPsxrifR5PTaMOeWdf3iPs efhYL5muCrflSyi8Z5PF7NIYJZIv7m8cNku/+AgAAA== ----Next_Part(Thu_Sep__8_12_07_16_2005_135)----