Joliet also need directory sizes to be a multiple of block size.

This commit is contained in:
Vreixo Formoso 2008-01-14 23:51:16 +01:00
parent e0db7463da
commit 9ad9b10c67
1 changed files with 8 additions and 0 deletions

View File

@ -339,6 +339,14 @@ size_t calc_dir_size(Ecma119Image *t, JolietNode *dir)
len += dirent_len;
}
}
/*
* The size of a dir is always a multiple of block size, as we must add
* the size of the unused space after the last directory record
* (ECMA-119, 6.8.1.3)
*/
len = div_up(len, BLOCK_SIZE) * BLOCK_SIZE;
/* cache the len */
dir->info.dir.len = len;
return len;