static int
begin_extract_stream_to_tmpfile(struct wim_lookup_table_entry *lte,
- bool is_partial_res, void *_ctx)
+ bool is_partial_res,
+ void *_ctx)
{
struct apply_ctx *ctx = _ctx;
int ret;
if (ret)
return ret;
- /* Negative return value here means the function was successful,
- * but the consume_chunk and end_chunk callbacks need not be
- * called. */
- return -1;
+ return BEGIN_STREAM_STATUS_SKIP_STREAM;
}
DEBUG("Temporary file needed for stream (size=%"PRIu64")", lte->size);
};
return read_stream_list(&ctx->stream_list,
offsetof(struct wim_lookup_table_entry, extraction_list),
- 0, &cbs);
+ &cbs, VERIFY_STREAM_HASHES);
} else {
/* Extract the streams in unsorted order. */
struct wim_lookup_table_entry *lte;
return 0;
}
- if (buf.stream_hdr.magic != PWM_STREAM_MAGIC) {
+ if (le64_to_cpu(buf.stream_hdr.magic) != PWM_STREAM_MAGIC) {
ERROR("Data read on pipe is invalid (expected stream header).");
return WIMLIB_ERR_INVALID_PIPABLE_WIM;
}
&& (needed_lte = lookup_resource(lookup_table, found_lte->hash))
&& (needed_lte->out_refcnt))
{
- char *tmpfile_name = NULL;
+ tchar *tmpfile_name = NULL;
struct wim_lookup_table_entry *lte_override;
struct wim_lookup_table_entry tmpfile_lte;