Empty file fix
[wimlib] / src / lookup_table.c
index 3bb77a4b221ed57fe0c746fc8a8be99c5b746bf5..46ab456198dba57caf6a88b77e73caa1953343bd 100644 (file)
@@ -264,14 +264,17 @@ int write_lookup_table_entry(struct lookup_table_entry *lte, void *__out)
 
        out = __out;
 
 
        out = __out;
 
+       /* do not write lookup table entries for empty files */
+       if (lte->output_resource_entry.original_size == 0)
+               return 0;
+
        /* Don't write entries that have not had file resources or metadata
         * resources written for them. */
        if (lte->out_refcnt == 0)
                return 0;
 
        /* Don't write entries that have not had file resources or metadata
         * resources written for them. */
        if (lte->out_refcnt == 0)
                return 0;
 
-       if (lte->output_resource_entry.flags & WIM_RESHDR_FLAG_METADATA) {
+       if (lte->output_resource_entry.flags & WIM_RESHDR_FLAG_METADATA)
                DEBUG("Writing metadata entry at %lu\n", ftello(out));
                DEBUG("Writing metadata entry at %lu\n", ftello(out));
-       }
 
        p = put_resource_entry(buf, &lte->output_resource_entry);
        p = put_u16(p, lte->part_number);
 
        p = put_resource_entry(buf, &lte->output_resource_entry);
        p = put_u16(p, lte->part_number);