X-Git-Url: https://wimlib.net/git/?p=wimlib;a=blobdiff_plain;f=src%2Fwin32_apply.c;h=fcb2c001abd128e77861b021b5e8fbf8a87eccd5;hp=ee45acb4901fd79625903532bc205682917b272c;hb=f45c157ceb31b97c4393c57b65a0e9b8fc2a3630;hpb=8c88e5712612601cec92d4ca81f86a6e9db1781e diff --git a/src/win32_apply.c b/src/win32_apply.c index ee45acb4..fcb2c001 100644 --- a/src/win32_apply.c +++ b/src/win32_apply.c @@ -517,9 +517,18 @@ prepare_target(struct list_head *dentry_list, struct win32_apply_ctx *ctx) /* Open handle to the target directory (possibly creating it). */ - status = (*func_RtlDosPathNameToNtPathName_U_WithStatus)(ctx->common.target, - &ctx->target_ntpath, - NULL, NULL); + if (func_RtlDosPathNameToNtPathName_U_WithStatus) { + status = (*func_RtlDosPathNameToNtPathName_U_WithStatus)(ctx->common.target, + &ctx->target_ntpath, + NULL, NULL); + } else { + if ((*func_RtlDosPathNameToNtPathName_U)(ctx->common.target, + &ctx->target_ntpath, + NULL, NULL)) + status = STATUS_SUCCESS; + else + status = STATUS_NO_MEMORY; + } if (!NT_SUCCESS(status)) { if (status == STATUS_NO_MEMORY) { return WIMLIB_ERR_NOMEM;