X-Git-Url: https://wimlib.net/git/?p=wimlib;a=blobdiff_plain;f=src%2Fmount_image.c;h=f816db1ea7ee1e6816e50ca3f0e53455ff41d82d;hp=4c0c93e50126553f449f98806c6ca67951427e60;hb=f701cf0f5a189832629b13c97961f238cb95452e;hpb=7b36eb8076864060c623f1e39bdf26b363eaa2e5 diff --git a/src/mount_image.c b/src/mount_image.c index 4c0c93e5..f816db1e 100644 --- a/src/mount_image.c +++ b/src/mount_image.c @@ -2364,7 +2364,6 @@ wimlib_mount_image(WIMStruct *wim, int image, const char *dir, char *argv[16]; int ret; char *dir_copy; - struct wim_lookup_table *joined_tab, *wim_tab_save; struct wim_image_metadata *imd; struct wimfs_context ctx; struct wim_inode *inode; @@ -2387,15 +2386,8 @@ wimlib_mount_image(WIMStruct *wim, int image, const char *dir, goto out; } - if (num_additional_swms) { - ret = new_joined_lookup_table(wim, additional_swms, - num_additional_swms, - &joined_tab); - if (ret) - goto out; - wim_tab_save = wim->lookup_table; - wim->lookup_table = joined_tab; - } + if (num_additional_swms) + merge_lookup_tables(wim, additional_swms, num_additional_swms); if (mount_flags & WIMLIB_MOUNT_FLAG_READWRITE) { ret = wim_run_full_verifications(wim); @@ -2560,10 +2552,8 @@ out_unlock: out_free_message_queue_names: free_message_queue_names(&ctx); out_restore_lookup_table: - if (num_additional_swms) { - free_lookup_table(wim->lookup_table); - wim->lookup_table = wim_tab_save; - } + if (num_additional_swms) + unmerge_lookup_table(wim); out: return ret; }