refactor: explicitly convert HANDLE to intptr_t for _open_osfhandle()

Problem:
The first parameter of "_open_osfhandle()" is an intptr_t; however, a HANDLE is passed.
The official documentation of [_open_osfhandle](https://learn.microsoft.com/en-us/cpp/c-runtime-library/reference/open-osfhandle) suggests to cast the HANDLE to intptr_t.
MSVC/cl is able to perform an implicit type cast.
However, LLVM/clang-cl will generate an compilation error.

Solution:
Explicitly convert HANDLE to intptr_t for _open_osfhandle().
This commit is contained in:
Wei Tang
2022-10-11 10:49:05 +08:00
parent 8f0b94b36d
commit 63ab3337e0

View File

@@ -1683,7 +1683,7 @@ failed:
HANDLE conin = CreateFile("CONIN$", GENERIC_READ | GENERIC_WRITE,
FILE_SHARE_READ, (LPSECURITY_ATTRIBUTES)NULL,
OPEN_EXISTING, 0, (HANDLE)NULL);
vim_ignored = _open_osfhandle(conin, _O_RDONLY);
vim_ignored = _open_osfhandle((intptr_t)conin, _O_RDONLY);
#endif
}
}