X-Git-Url: https://wimlib.net/git/?a=blobdiff_plain;f=src%2Fwim.c;h=933cfd73032f20f927c06aced94709eb3ec83e93;hb=81be60d782a4b4b8ae2e40141fc42b6e0e2d2706;hp=12b8418327eaa79dc596982f77f52f610835091e;hpb=ef8f45b98b5c4db398321cd36d052ccbb9c3784a;p=wimlib diff --git a/src/wim.c b/src/wim.c index 12b84183..933cfd73 100644 --- a/src/wim.c +++ b/src/wim.c @@ -139,13 +139,6 @@ int wim_hdr_flags_compression_type(int wim_hdr_flags) } } -int wim_resource_compression_type(const WIMStruct *w, - const struct resource_entry *entry) -{ - int wim_ctype = wimlib_get_compression_type(w); - return resource_compression_type(wim_ctype, entry->flags); -} - /* * Creates a WIMStruct for a new WIM file. */ @@ -207,10 +200,10 @@ int wimlib_select_image(WIMStruct *w, int image) 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; } } @@ -223,7 +216,7 @@ int wimlib_select_image(WIMStruct *w, int image) #ifdef ENABLE_DEBUG DEBUG("Reading metadata resource specified by the following " "lookup table entry:"); - print_lookup_table_entry(imd->metadata_lte, NULL); + print_lookup_table_entry(imd->metadata_lte); #endif return read_metadata_resource(w->fp, wimlib_get_compression_type(w), @@ -444,9 +437,7 @@ static int begin_read(WIMStruct *w, const char *in_wim_path, int flags) return WIMLIB_ERR_COMPRESSED_LOOKUP_TABLE; } - ret = read_lookup_table(w->fp, w->hdr.lookup_table_res_entry.offset, - w->hdr.lookup_table_res_entry.size, - &w->lookup_table); + ret = read_lookup_table(w); if (ret != 0) return ret; @@ -528,7 +519,7 @@ WIMLIBAPI int wimlib_open_wim(const char *wim_file, int flags, 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; } @@ -540,7 +531,7 @@ WIMLIBAPI int wimlib_open_wim(const char *wim_file, int flags, * closes all files associated with the WIMStruct. */ WIMLIBAPI void wimlib_free(WIMStruct *w) { - uint i; + DEBUG("Freeing WIMStruct"); if (!w) return; @@ -552,15 +543,11 @@ WIMLIBAPI void wimlib_free(WIMStruct *w) 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);