OKUMURA N. Shin-ya
oku.n****@dream*****
2007年 2月 21日 (水) 00:53:29 JST
おひさしぶりです、おくむら@練馬です。 最近、LHa for Unix を使っていて以下のような事象(というか、 仕樣?)に気づきました。 $ lha c a.lzh a.odt # a.odt を a.lzh に凍結 a.odt - Frozen(94%) ooo $ lha u a.lzh ./a.odt # ./a.odt を更新 ./a.odt - Frozen(94%) ooo $ lha a.lzh # a.lzh の中身を確認 PERMISSION UID GID SIZE RATIO STAMP NAME ---------- ----------- ------- ------ ------------ -------------------- -rw-r----- 501/100 20637 94.5% Jan 26 20:34 ./a.odt -rw-r----- 501/100 20637 94.5% Jan 26 20:34 a.odt ---------- ----------- ------- ------ ------------ -------------------- Total 2 files 41274 94.5% Feb 20 23:59 という感じで、 ・file ・./file が別々のファイルとしてアーカイブされてしまいます。 Info-ZIP 2.32 で同様の作業をすると、 $ zip a.zip a.odt updating: a.odt (deflated 6%) $ zip -u a.zip ./a.odt $ unzip -l a.zip Archive: a.zip Length Date Time Name -------- ---- ---- ---- 20637 01-26-07 20:34 a.odt -------- ------- 20637 1 file という感じで両者が同一視されるようです。 私個人としては、file と ./file は同一視された方がよいと思う のですが、他の方の考えはいかがでしょうか? もし修正するとしたら、lhadd.c の append_it の中か、あるいは 呼び出し直前で filev 先頭の「./」を取り除くのが安直でいいの かなと考えています(考えてるだけ)。 -- OKUMURA N. Shin-ya (oku.n****@dream*****) if (it == misfeature && it != bug) it = bug;