read_integrity_table(WIMStruct *wim, u64 num_checked_bytes,
struct integrity_table **table_ret)
{
+ void *buf;
struct integrity_table *table;
int ret;
"original_size %"PRIu64")",
wim->hdr.integrity.offset, wim->hdr.integrity.original_size);
- ret = res_entry_to_data(&wim->hdr.integrity, wim, (void**)&table);
+ ret = res_entry_to_data(&wim->hdr.integrity, wim, &buf);
if (ret)
return ret;
+ table = buf;
table->size = le32_to_cpu(table->size);
table->num_entries = le32_to_cpu(table->num_entries);
size_t num_entries;
struct wim_lookup_table *table;
struct wim_lookup_table_entry *cur_entry, *duplicate_entry;
- struct wim_lookup_table_entry_disk *buf;
+ void *buf;
BUILD_BUG_ON(sizeof(struct wim_lookup_table_entry_disk) !=
WIM_LOOKUP_TABLE_ENTRY_DISK_SIZE);
/* Read the lookup table into a buffer. */
- ret = res_entry_to_data(&wim->hdr.lookup_table_res_entry, wim,
- (void**)&buf);
+ ret = res_entry_to_data(&wim->hdr.lookup_table_res_entry, wim, &buf);
if (ret)
goto out;
* on-disk lookup table. */
wim->current_image = 0;
for (i = 0; i < num_entries; i++) {
- const struct wim_lookup_table_entry_disk *disk_entry = &buf[i];
+ const struct wim_lookup_table_entry_disk *disk_entry =
+ &((const struct wim_lookup_table_entry_disk*)buf)[i];
cur_entry = new_lookup_table_entry();
if (!cur_entry) {
int
read_metadata_resource(WIMStruct *wim, struct wim_image_metadata *imd)
{
- u8 *buf;
+ void *buf;
int ret;
struct wim_dentry *root;
const struct wim_lookup_table_entry *metadata_lte;
}
/* Read the metadata resource into memory. (It may be compressed.) */
- ret = read_full_resource_into_alloc_buf(metadata_lte, (void**)&buf);
+ ret = read_full_resource_into_alloc_buf(metadata_lte, &buf);
if (ret)
return ret;
int
read_wim_xml_data(WIMStruct *wim)
{
+ void *buf;
u8 *xml_data;
xmlDoc *doc;
xmlNode *root;
DEBUG("Reading XML data: %"PRIu64" bytes at offset %"PRIu64"",
(u64)res_entry->size, res_entry->offset);
- ret = res_entry_to_data(res_entry, wim, (void**)&xml_data);
+ ret = res_entry_to_data(res_entry, wim, &buf);
if (ret)
goto out;
+ xml_data = buf;
doc = xmlReadMemory((const char *)xml_data, res_entry->original_size,
NULL, "UTF-16LE", 0);