]> wimlib.net Git - wimlib/blobdiff - src/export_image.c
wincfg: Add swapfile.sys
[wimlib] / src / export_image.c
index f901ff1973a74038878ff2c3560e8f25efbcfcb6..8d449ea93439d634b002aacea0287c1f66c3a88b 100644 (file)
@@ -87,10 +87,12 @@ lte_unexport(struct wim_lookup_table_entry *lte, void *_lookup_table)
 {
        struct wim_lookup_table *lookup_table = _lookup_table;
 
-       lte->refcnt -= lte->out_refcnt;
-       if (lte->refcnt == 0) {
-               lookup_table_unlink(lookup_table, lte);
-               free_lookup_table_entry(lte);
+       if (lte->out_refcnt) {
+               lte->refcnt -= lte->out_refcnt;
+               if (lte->refcnt == 0) {
+                       lookup_table_unlink(lookup_table, lte);
+                       free_lookup_table_entry(lte);
+               }
        }
        return 0;
 }
@@ -179,7 +181,7 @@ wimlib_export_image(WIMStruct *src_wim,
                /* Determine destination image name and description.  */
 
                if (export_flags & WIMLIB_EXPORT_FLAG_NO_NAMES) {
-                       next_dest_name = NULL;
+                       next_dest_name = T("");
                } else if (dest_name) {
                        next_dest_name = dest_name;
                } else {
@@ -190,8 +192,8 @@ wimlib_export_image(WIMStruct *src_wim,
                DEBUG("Using name \"%"TS"\"", next_dest_name);
 
                if (export_flags & WIMLIB_EXPORT_FLAG_NO_DESCRIPTIONS) {
-                       next_dest_description = NULL;
-               } if (dest_description) {
+                       next_dest_description = T("");
+               } else if (dest_description) {
                        next_dest_description = dest_description;
                } else {
                        next_dest_description = wimlib_get_image_description(