#include "xml.h"
#include "buffer_io.h"
-#if TCHAR_IS_UTF16LE
-# include <wchar.h>
-#endif
-
struct split_args {
WIMStruct *w;
tchar *swm_base_name;
}
args->size_remaining -= lte->resource_entry.size;
args->progress.split.completed_bytes += lte->resource_entry.size;
- list_add(<e->staging_list, &args->lte_list);
+ list_add_tail(<e->staging_list, &args->lte_list);
return copy_resource(lte, w);
}
&args.progress);
}
- w->write_metadata = true;
for (int i = 0; i < w->hdr.image_count; i++) {
struct wim_lookup_table_entry *metadata_lte;
metadata_lte = w->image_metadata[i].metadata_lte;
goto out;
args.size_remaining -= metadata_lte->resource_entry.size;
args.progress.split.completed_bytes += metadata_lte->resource_entry.size;
- list_add(&metadata_lte->staging_list, &args.lte_list);
+ /* Careful: The metadata lookup table entries must be added in
+ * order of the images. */
+ list_add_tail(&metadata_lte->staging_list, &args.lte_list);
}
- w->write_metadata = false;
ret = for_lookup_table_entry(w->lookup_table,
copy_resource_to_swm, &args);