Joliet
Jolietの仕様はWikipedia経由でここに見つかりました。
http://bmrc.berkeley.edu/people/chaffee/jolspec.html
ISO 9660ではISO 2022のエスケープシーケンスをサポートしていて、エスケープシーケンスに応じてボリューム情報やパス情報を持つことができます。
Jolietはボリューム情報に独自のエスケープシーケンスを設定することで、あたかも未知の文字セット用のものであるかのように見せています。
このようなJolietのボリューム情報では、ISO 9660と比べ、
などの違いがあります。
ファイル名がUCS-2で格納されているため、Boost 1.34以降のwpathを使いたいところですが、1.34のリリースがまだなので、我慢してナロー文字列に変換することにします。
ナロー文字列への変換は、ctypeやcodecvtはMinGW(リリース版)で動かず、wcstombs()はCygwinで動かないようなので、
でいこうと思います。
実装はまだで、今日の修正点は上記とあまり関係ない修正です。
- パステーブルとディレクトリエントリが正しくソートされている保証がないのでチェックするようにした
- volume_descriptorのサイズが間違っていたのを修正