73 lines
2.6 KiB
Diff
73 lines
2.6 KiB
Diff
From 39617bb9006502c089e49003489acdf397ba67dd Mon Sep 17 00:00:00 2001
|
|
From: Naveen M K <naveen521kk@gmail.com>
|
|
Date: Tue, 8 Mar 2022 21:27:36 +0530
|
|
Subject: [PATCH 131/N] PC/launcher.c: Use function available in original
|
|
msvcrt.dll
|
|
|
|
_wdupenv_s -> _wgetenv_s
|
|
fread_s -> fread
|
|
---
|
|
PC/launcher.c | 30 +++++++++++++++++-------------
|
|
1 file changed, 17 insertions(+), 13 deletions(-)
|
|
|
|
diff --git a/PC/launcher.c b/PC/launcher.c
|
|
index 734e753..b8dea55 100644
|
|
--- a/PC/launcher.c
|
|
+++ b/PC/launcher.c
|
|
@@ -925,7 +925,7 @@ static COMMAND path_command;
|
|
static COMMAND * find_on_path(wchar_t * name)
|
|
{
|
|
wchar_t * pathext;
|
|
- size_t varsize;
|
|
+ size_t requiredSize;
|
|
wchar_t * context = NULL;
|
|
wchar_t * extension;
|
|
COMMAND * result = NULL;
|
|
@@ -941,19 +941,23 @@ static COMMAND * find_on_path(wchar_t * name)
|
|
}
|
|
}
|
|
else {
|
|
- /* No extension - search using registered extensions. */
|
|
- rc = _wdupenv_s(&pathext, &varsize, L"PATHEXT");
|
|
- if (rc == 0) {
|
|
- extension = wcstok_s(pathext, L";", &context);
|
|
- while (extension) {
|
|
- len = SearchPathW(NULL, name, extension, MSGSIZE, path_command.value, NULL);
|
|
- if (len) {
|
|
- result = &path_command;
|
|
- break;
|
|
+ _wgetenv_s(&requiredSize, NULL, 0, L"PATHEXT");
|
|
+ if (requiredSize > 0) {
|
|
+ pathext = (wchar_t *)malloc(requiredSize * sizeof(wchar_t));
|
|
+ /* No extension - search using registered extensions. */
|
|
+ rc = _wgetenv_s(&requiredSize, pathext, requiredSize, L"PATHEXT");
|
|
+ if (rc == 0) {
|
|
+ extension = wcstok_s(pathext, L";", &context);
|
|
+ while (extension) {
|
|
+ len = SearchPathW(NULL, name, extension, MSGSIZE, path_command.value, NULL);
|
|
+ if (len) {
|
|
+ result = &path_command;
|
|
+ break;
|
|
+ }
|
|
+ extension = wcstok_s(NULL, L";", &context);
|
|
}
|
|
- extension = wcstok_s(NULL, L";", &context);
|
|
+ free(pathext);
|
|
}
|
|
- free(pathext);
|
|
}
|
|
}
|
|
return result;
|
|
@@ -1910,7 +1914,7 @@ process(int argc, wchar_t ** argv)
|
|
if (_wfopen_s(&f, venv_cfg_path, L"r")) {
|
|
error(RC_BAD_VENV_CFG, L"Cannot read '%ls'", venv_cfg_path);
|
|
}
|
|
- cb = fread_s(buffer, sizeof(buffer), sizeof(buffer[0]),
|
|
+ cb = fread(buffer, sizeof(buffer[0]),
|
|
sizeof(buffer) / sizeof(buffer[0]), f);
|
|
fclose(f);
|
|
|
|
--
|
|
2.36.1
|
|
|