X-Git-Url: https://wimlib.net/git/?p=wimlib;a=blobdiff_plain;f=src%2Fwin32_apply.c;h=2926883cd343991d8dd7a6f3702beebf29b198c5;hp=f249197a39524a3624bda261c458a4c229936ac7;hb=5f95262bcecc05136368999e079973e4771b24a3;hpb=cc7b6ee47d4037ae8fa11b4c2d5154091d543704 diff --git a/src/win32_apply.c b/src/win32_apply.c index f249197a..2926883c 100644 --- a/src/win32_apply.c +++ b/src/win32_apply.c @@ -482,7 +482,7 @@ build_win32_extraction_path(const struct wim_dentry *dentry, ctx->pathbuf.Length += ctx->target_ntpath.Length + sizeof(wchar_t); ctx->pathbuf.Buffer[ctx->pathbuf.Length / sizeof(wchar_t)] = L'\0'; - wimlib_assert(ctx->pathbuf.Length >= 8 && + wimlib_assert(ctx->pathbuf.Length >= 4 * sizeof(wchar_t) && !wmemcmp(ctx->pathbuf.Buffer, L"\\??\\", 4)); ctx->pathbuf.Buffer[1] = L'\\'; @@ -1344,21 +1344,21 @@ begin_extract_stream_instance(const struct wim_lookup_table_entry *stream, if (ret) return ret; if (in_prepopulate_list(dentry, ctx)) { - if (ctx->common.progress_func) { - union wimlib_progress_info info; + union wimlib_progress_info info; - info.wimboot_exclude.path_in_wim = dentry->_full_path; - info.wimboot_exclude.extraction_path = current_path(ctx); + info.wimboot_exclude.path_in_wim = dentry->_full_path; + info.wimboot_exclude.extraction_path = current_path(ctx); - ctx->common.progress_func(WIMLIB_PROGRESS_MSG_WIMBOOT_EXCLUDE, - &info); - FREE(dentry->_full_path); - dentry->_full_path = NULL; - } + ret = call_progress(ctx->common.progfunc, + WIMLIB_PROGRESS_MSG_WIMBOOT_EXCLUDE, + &info, ctx->common.progctx); + FREE(dentry->_full_path); + dentry->_full_path = NULL; + return ret; } else { FREE(dentry->_full_path); dentry->_full_path = NULL; - return wimboot_set_pointer(&ctx->pathbuf, + return wimboot_set_pointer(&ctx->attr, current_path(ctx), stream, ctx->wimboot.data_source_id,