]> wimlib.net Git - wimlib/blobdiff - src/win32_apply.c
win32_apply.c: Use sizeof(wchar_t)
[wimlib] / src / win32_apply.c
index f249197a39524a3624bda261c458a4c229936ac7..2926883cd343991d8dd7a6f3702beebf29b198c5 100644 (file)
@@ -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,