----Next_Part(Thu_Feb_20_12:02:16_2003_319)--
Content-Type: Text/Plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit

さかいといいます

ruby-dlで使えるコールバック関数の数に制限があるのが嫌だったので、
ffcall <http://www.haible.de/bruno/packages-ffcall.html> を使って、
コールバック関数を動的に作成することで、
この制限を無くすパッチを実験的にい討澆泙靴拭

ただし、FuncTableは互換性を保つのが面倒だったので、
Rubyレベルからは見えなくしてしまっています。

また、ffcallはDL::Symbol#callにも便利に使えですが、
今回はこちらには手を靴泙擦鵑任靴拭


酒井 政裕 / Masahiro Sakai

----Next_Part(Thu_Feb_20_12:02:16_2003_319)--
Content-Type: Application/Octet-Stream
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="dl-ffcall-callback.patch.gz"

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

----Next_Part(Thu_Feb_20_12:02:16_2003_319)----