X-Git-Url: https://wimlib.net/git/?p=wimlib;a=blobdiff_plain;f=src%2Fwim.c;h=0b37899d36576a2f821264178748f5ef3dbb1eff;hp=d105e8bacf1b250cee003e0d17ce8c2ff68e0663;hb=1dde5fb0d809f2f5e032e4d5241d1cb15ff3eb65;hpb=b1c4e6a269ae4c969060e33685db12f76a204a58 diff --git a/src/wim.c b/src/wim.c index d105e8ba..0b37899d 100644 --- a/src/wim.c +++ b/src/wim.c @@ -30,6 +30,10 @@ #include "xml.h" #include +#ifdef WITH_NTFS_3G +#include +#endif + static int print_metadata(WIMStruct *w) { print_security_data(wim_security_data(w)); @@ -139,13 +143,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. */ @@ -444,9 +441,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; @@ -559,6 +554,12 @@ WIMLIBAPI void wimlib_free(WIMStruct *w) destroy_image_metadata(&w->image_metadata[i], NULL); FREE(w->image_metadata); } +#ifdef WITH_NTFS_3G + if (w->ntfs_vol) { + DEBUG("Unmounting NTFS volume"); + ntfs_umount(w->ntfs_vol, FALSE); + } +#endif FREE(w); }