+/* Free a WIMStruct after no more resources reference it. */
+void
+finalize_wim_struct(WIMStruct *wim)
+{
+ if (filedes_valid(&wim->in_fd))
+ filedes_close(&wim->in_fd);
+ if (filedes_valid(&wim->out_fd))
+ filedes_close(&wim->out_fd);
+ wimlib_free_decompressor(wim->decompressor);
+ xml_free_info_struct(wim->xml_info);
+ FREE(wim->filename);
+ FREE(wim);
+}
+