struct file_info *re;
re = heap_get_entry(&(iso9660->re_dirs));
- while (re != NULL && re->offset < file->cl_offset)
- /* This case is wrong pattern. */
+ while (re != NULL && re->offset < file->cl_offset) {
+ /* This case is wrong pattern.
+ * But dont't reject this directory entry to be robust. */
+ cache_add_entry(iso9660, re);
re = heap_get_entry(&(iso9660->re_dirs));
+ }
if (re == NULL)
/* This case is wrong pattern. */
return (0);
* Add rr_moved into pending_files to show
*/
if (iso9660->rr_moved->subdirs)
- add_entry(iso9660, iso9660->rr_moved);
+ cache_add_entry(iso9660, iso9660->rr_moved);
else {
iso9660->rr_moved->parent->subdirs--;
release_file(iso9660, iso9660->rr_moved);