if (ret)
goto out_free_found_lte;
- ret = extract_stream_to_fd(needed_lte, &tmpfile_fd,
- needed_lte->size);
+ ret = extract_full_stream_to_fd(needed_lte,
+ &tmpfile_fd);
if (ret) {
filedes_close(&tmpfile_fd);
goto delete_tmpfile;
if (lte) {
struct filedes _stdout;
filedes_init(&_stdout, STDOUT_FILENO);
- ret = extract_stream_to_fd(lte, &_stdout, lte->size);
+ ret = extract_full_stream_to_fd(lte, &_stdout);
}
}
return ret;
goto out_free_realtarget;
if (progress_func) {
- progress_func(*wim_source_path ? WIMLIB_PROGRESS_MSG_EXTRACT_TREE_END :
- WIMLIB_PROGRESS_MSG_EXTRACT_IMAGE_END,
- &ctx.progress);
+ int msg;
+ if (*wim_source_path || (extract_flags & WIMLIB_EXTRACT_FLAG_PATHMODE))
+ msg = WIMLIB_PROGRESS_MSG_EXTRACT_TREE_END;
+ else
+ msg = WIMLIB_PROGRESS_MSG_EXTRACT_IMAGE_END;
+ progress_func(msg, &ctx.progress);
}
do_extract_warnings(&ctx);