Fixed issue where using joliet without Rockridge would create broken iso

This commit is contained in:
Mario Danic
2006-09-20 08:44:46 +00:00
parent 8ee6839513
commit 496e027f89
3 changed files with 33 additions and 0 deletions

View File

@ -142,6 +142,30 @@ joliet_calc_dir_pos(struct ecma119_write_target *t,
t->curfile = 0;
}
void
joliet_update_file_pos(struct ecma119_write_target *t,
struct joliet_tree_node *dir)
{
size_t i;
assert(dir && ISO_ISDIR(dir->iso_self));
for (i = 0; i < dir->nchildren; i++) {
struct joliet_tree_node *ch;
ch = dir->children[i];
if (!ISO_ISDIR (ch->iso_self)) {
struct iso_tree_node *iso = ch->iso_self;
ch->block = iso->block;
}
else
joliet_update_file_pos(t, ch);
}
/* reset curfile when we're finished */
if (!dir->parent)
t->curfile = 0;
}
struct joliet_tree_node*
joliet_tree_create(struct ecma119_write_target *t,
struct iso_tree_node *iso_root)