imd = wim_get_current_image_metadata(w);
if (!imd->modified) {
DEBUG("Freeing image %u", w->current_image);
- free_dentry_tree(imd->root_dentry, NULL, false);
+ destroy_image_metadata(imd, NULL);
imd->root_dentry = NULL;
- free_security_data(imd->security_data);
imd->security_data = NULL;
+ imd->lgt = NULL;
}
}
ret = begin_read(w, wim_file, flags);
if (ret != 0) {
- ERROR("Could not begin reading the WIM file `%s'", wim_file);
+ DEBUG("Could not begin reading the WIM file `%s'", wim_file);
wimlib_free(w);
return ret;
}
* closes all files associated with the WIMStruct. */
WIMLIBAPI void wimlib_free(WIMStruct *w)
{
- uint i;
+ DEBUG("Freeing WIMStruct");
if (!w)
return;
free_lookup_table(w->lookup_table);
FREE(w->filename);
- FREE(w->output_dir);
FREE(w->xml_data);
free_wim_info(w->wim_info);
if (w->image_metadata) {
- for (i = 0; i < w->hdr.image_count; i++) {
- free_dentry_tree(w->image_metadata[i].root_dentry,
- NULL, false);
- free_security_data(w->image_metadata[i].security_data);
- }
+ for (uint i = 0; i < w->hdr.image_count; i++)
+ destroy_image_metadata(&w->image_metadata[i], NULL);
FREE(w->image_metadata);
}
FREE(w);