Rock Ridge
iso_image_file_sourceでRock Ridgeをサポートしました。
とりあえず、ファイル名を記録している「"NM" System Use Entry」だけパースしています。
iso9660_file_source_impl.hppの差分
iso_image_file_source_impl.hppの差分
これまではJolietのボリューム記述子があればJoliet、それ以外はISO 9660として扱ってきましたが、JolietとRock Ridgeのハイブリッドという場合も考慮して、外部からボリューム記述子を選択できるように変更しました。
class iso_image_file_source { public: // ボリューム記述子のベクタを取得する const std::vector<iso9660::volume_descriptor>& volume_descriptors() const; // ボリューム記述子をインデックスで選択する void select_volume_descriptor(std::size_t index); // Rock Ridgeかどうか bool is_rock_ridge() const; // ... };
これらのメンバ関数から得られる情報を元に適切なボリューム記述子を選択することになります。