[exerb-dev:0459] Re: ruby-1.8.2

Back to archive index

Masahiro Kitajima katon****@katon*****
2005年 1月 26日 (水) 23:23:44 JST


かとんぼです。

 lib/exerb のスクリプトが、[ruby-dev:25520] の影響を受けている点
ついて、[exerb-dev:0455] のパッチに一時しのぎの対策を入れていまし
たが、ruby 1.8.2 での Array#pack の挙動の変化を受け入れる修正をやっ
てみました。
 今回も、exerb-win32.rb を .EXE 化できる事を確認した程度ですが...

 基本的には、構造体メンバの初期値を nil から 0 にするという変更
です。

 この作業中に、Exerb::Win32::Struct::Base#size と、
Exerb::Win32::Struct::ImageResourceDataEntry#size が衝突していた
事がわかりました。
 Exerb::Win32::Struct::Base#read で前者を期待している self.size 
が後者の呼び出しになっていて nil が返され io.read が length = nil 
で呼ばれ、以前は結果として別に何とも無かったという事のようです。
 ImageResourceDataEntry#size は構造体メンバなので、今回 0 に初期
化した訳ですが、Base#read の io.read が length = 0 で呼ばれてしま
い、結果として .EXE に付加されるリソースが壊れるという影響が出ま
した。
 今回のパッチでは、これまたとりあえずですが、ImageResourceDataEntry 
の size を _size と改名してしのいでいます。

# [exerb-dev:0454] の募集について。

 募集条件に達しないので、私は手を挙げられないのですが、偶発的に
commit権を頂いているので、Yuya さんの指示のもとで多少のお手伝いは
できると思っています。

 ところで、現在公開されている資料は大体把握しているつもりですが、
現状の資料だけでは [exerb-dev:0454] の条件に適うように自習ができ
る人は少ないように思います。

 頭の中にある知識を文書にしてくださいなんて事を言い出すと相当無
理がありますが、例えば今回のように exerb/win32/struct のスクリプ
トを見るのに、構造体やファイル・フォーマットを解説した資料へのポ
インタを提示していただくだけでも随分助かると思います。こういうの、
ある所にはあるはずですが、探して特定するのが大変。^^;

 一方、[exerb-dev:0454] では、Exerb をこうしたいという意向が、整
理されて項目になっているので、これらについては、もう少し具体化す
ると作業できる人が現れ易いのではないかと思います。
 レシピファイルを YAML にする件で言うと、mkexr を mkexy に置き換
えて使えば、一通り .EXE 生成できる状態にある事を最近知ったのです
が、現状は xxxx なので、yyyy なテストを書いてくれませんか?みたい
に...

-- 
北島雅博(かとんぼ)
-------------- next part --------------
テキスト形式以外の添付ファイルを保管しました...
ファイル名: exerb_lib.patch
型:         application/octet-stream
サイズ:     30440 バイト
説明:       無し
下載 


exerb-developer メーリングリストの案内
Back to archive index