[Mona] ISO9660ツール リリース 3
ISOイメージファイル操作ツール(ISO9660-20050119.zip)をリリースしました。
昨日提供いただいた検証スクリプトで発覚したディレクトリ列挙のバグを修正しました。
現在は検証スクリプトのテストをクリアしています。
ダウンロードはこちらから
https://sourceforge.jp/projects/mona/files/?release_id=12990#12990
誰かが同じことで困るかもしれないので一応原因を書いておきます。
ISO9660のディレクトリエントリの読み込み時に、該当のディレクトリのエントリを列挙した領域を読み込みます。
その領域の全体のアドレス・サイズはあらかじめディレクトリ情報として分かるのでメモリに一気に読み込んで処理します。
各エントリは可変長なので前のエントリの長さ分だけポインタを進めて読んでいきます。
このロジックで実装していたのですが、エントリの列挙の途中で処理が終了してしまっていました。
原因はエントリがセクタの境界をまたがないように配置されていてエントリ間に空白領域がありこれを考慮していなかったからです。