summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNat Goodspeed <nat@lindenlab.com>2018-10-25 11:24:06 -0400
committerNat Goodspeed <nat@lindenlab.com>2020-03-25 16:12:46 -0400
commitf71c71fe42756e18e41c7e6ee531f1acc72815ca (patch)
tree1d2423e7288d9594d76723a9bf7eae87e3d48152
parent30fa24966463a2c10c620b782ac5c8d1b8303ceb (diff)
DRTVWR-476: Fix _open_osfhandle() param from long to intptr_t.
The Microsoft _open_osfhandle() opens a HANDLE to produce a C-style int file descriptor suitable for passing to _fdopen(). We used to cast the HANDLEs returned by GetStdHandle() to long to pass to _open_osfhandle(). Since HANDLE is an alias for a pointer, this no longer works. Fortunately _open_osfhandle() now accepts intptr_t, so we can change the relevant GetStdHandle() calls. (But why not simply accept HANDLE in the first place?)
-rw-r--r--indra/newview/llappviewerwin32.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/indra/newview/llappviewerwin32.cpp b/indra/newview/llappviewerwin32.cpp
index d208e135bb..9a8a5f16bb 100644
--- a/indra/newview/llappviewerwin32.cpp
+++ b/indra/newview/llappviewerwin32.cpp
@@ -504,7 +504,7 @@ const S32 MAX_CONSOLE_LINES = 500;
static bool create_console()
{
int h_con_handle;
- long l_std_handle;
+ intptr_t l_std_handle;
CONSOLE_SCREEN_BUFFER_INFO coninfo;
FILE *fp;
@@ -518,7 +518,7 @@ static bool create_console()
SetConsoleScreenBufferSize(GetStdHandle(STD_OUTPUT_HANDLE), coninfo.dwSize);
// redirect unbuffered STDOUT to the console
- l_std_handle = (long)GetStdHandle(STD_OUTPUT_HANDLE);
+ l_std_handle = reinterpret_cast<decltype(l_std_handle)>(GetStdHandle(STD_OUTPUT_HANDLE));
h_con_handle = _open_osfhandle(l_std_handle, _O_TEXT);
if (h_con_handle == -1)
{
@@ -532,7 +532,7 @@ static bool create_console()
}
// redirect unbuffered STDIN to the console
- l_std_handle = (long)GetStdHandle(STD_INPUT_HANDLE);
+ l_std_handle = reinterpret_cast<decltype(l_std_handle)>(GetStdHandle(STD_INPUT_HANDLE));
h_con_handle = _open_osfhandle(l_std_handle, _O_TEXT);
if (h_con_handle == -1)
{
@@ -546,7 +546,7 @@ static bool create_console()
}
// redirect unbuffered STDERR to the console
- l_std_handle = (long)GetStdHandle(STD_ERROR_HANDLE);
+ l_std_handle = reinterpret_cast<decltype(l_std_handle)>(GetStdHandle(STD_ERROR_HANDLE));
h_con_handle = _open_osfhandle(l_std_handle, _O_TEXT);
if (h_con_handle == -1)
{