From 9f5d4c6b0d551ad8b13a84821e2bd9e8c78bbb41 Mon Sep 17 00:00:00 2001 From: David Brown Date: Thu, 10 Nov 2016 12:52:23 +0000 Subject: [PATCH] Fix mingw where ENABLE_VIRTUAL_TERMINAL_PROCESSING is undefined. --- bootstrap/windows-48/Platform.c | 7 +++---- bootstrap/windows-88/Platform.c | 7 +++---- src/runtime/Platformwindows.Mod | 8 ++++---- 3 files changed, 10 insertions(+), 12 deletions(-) diff --git a/bootstrap/windows-48/Platform.c b/bootstrap/windows-48/Platform.c index 7b5d8c73..4a8c3cc0 100644 --- a/bootstrap/windows-48/Platform.c +++ b/bootstrap/windows-48/Platform.c @@ -119,13 +119,12 @@ export BOOLEAN Platform_getEnv (CHAR *var, LONGINT var__len, CHAR *val, LONGINT #define Platform_ERRORWRITEPROTECT() ERROR_WRITE_PROTECT #define Platform_ETIMEDOUT() WSAETIMEDOUT extern void Heap_InitHeap(); -#define Platform_GetConsoleMode(h, m) GetConsoleMode((HANDLE)h, m) +#define Platform_GetConsoleMode(h, m) GetConsoleMode((HANDLE)h, (DWORD*)m) #define Platform_GetTickCount() (LONGINT)(UINT32)GetTickCount() #define Platform_HeapInitHeap() Heap_InitHeap() -#define Platform_SetConsoleMode(h, m) SetConsoleMode((HANDLE)h, m) +#define Platform_SetConsoleMode(h, m) SetConsoleMode((HANDLE)h, (DWORD)m) #define Platform_SetInterruptHandler(h) SystemSetInterruptHandler((ADDRESS)h) #define Platform_SetQuitHandler(h) SystemSetQuitHandler((ADDRESS)h) -#define Platform_VTprocessing() ENABLE_VIRTUAL_TERMINAL_PROCESSING #define Platform_allocate(size) (ADDRESS)((void*)HeapAlloc(GetProcessHeap(), 0, (size_t)size)) #define Platform_bhfiIndexHigh() (LONGINT)bhfi.nFileIndexHigh #define Platform_bhfiIndexLow() (LONGINT)bhfi.nFileIndexLow @@ -746,7 +745,7 @@ static void Platform_EnableVT100 (void) { INT32 mode; if (Platform_GetConsoleMode(Platform_StdOut, &mode)) { - Platform_SetConsoleMode(Platform_StdOut, mode + Platform_VTprocessing()); + Platform_SetConsoleMode(Platform_StdOut, mode + 4); } } diff --git a/bootstrap/windows-88/Platform.c b/bootstrap/windows-88/Platform.c index 05db7a71..c0d60542 100644 --- a/bootstrap/windows-88/Platform.c +++ b/bootstrap/windows-88/Platform.c @@ -119,13 +119,12 @@ export BOOLEAN Platform_getEnv (CHAR *var, LONGINT var__len, CHAR *val, LONGINT #define Platform_ERRORWRITEPROTECT() ERROR_WRITE_PROTECT #define Platform_ETIMEDOUT() WSAETIMEDOUT extern void Heap_InitHeap(); -#define Platform_GetConsoleMode(h, m) GetConsoleMode((HANDLE)h, m) +#define Platform_GetConsoleMode(h, m) GetConsoleMode((HANDLE)h, (DWORD*)m) #define Platform_GetTickCount() (LONGINT)(UINT32)GetTickCount() #define Platform_HeapInitHeap() Heap_InitHeap() -#define Platform_SetConsoleMode(h, m) SetConsoleMode((HANDLE)h, m) +#define Platform_SetConsoleMode(h, m) SetConsoleMode((HANDLE)h, (DWORD)m) #define Platform_SetInterruptHandler(h) SystemSetInterruptHandler((ADDRESS)h) #define Platform_SetQuitHandler(h) SystemSetQuitHandler((ADDRESS)h) -#define Platform_VTprocessing() ENABLE_VIRTUAL_TERMINAL_PROCESSING #define Platform_allocate(size) (ADDRESS)((void*)HeapAlloc(GetProcessHeap(), 0, (size_t)size)) #define Platform_bhfiIndexHigh() (LONGINT)bhfi.nFileIndexHigh #define Platform_bhfiIndexLow() (LONGINT)bhfi.nFileIndexLow @@ -746,7 +745,7 @@ static void Platform_EnableVT100 (void) { INT32 mode; if (Platform_GetConsoleMode(Platform_StdOut, &mode)) { - Platform_SetConsoleMode(Platform_StdOut, mode + Platform_VTprocessing()); + Platform_SetConsoleMode(Platform_StdOut, mode + 4); } } diff --git a/src/runtime/Platformwindows.Mod b/src/runtime/Platformwindows.Mod index 9bf36594..a52ae92c 100644 --- a/src/runtime/Platformwindows.Mod +++ b/src/runtime/Platformwindows.Mod @@ -587,13 +587,13 @@ PROCEDURE SetHalt*(p: HaltProcedure); BEGIN HaltHandler := p; END SetHalt; -PROCEDURE -GetConsoleMode(h: FileHandle; VAR m: SYSTEM.INT32): BOOLEAN "GetConsoleMode((HANDLE)h, m)"; -PROCEDURE -SetConsoleMode(h: FileHandle; m: SYSTEM.INT32) "SetConsoleMode((HANDLE)h, m)"; -PROCEDURE -VTprocessing(): SYSTEM.INT32 "ENABLE_VIRTUAL_TERMINAL_PROCESSING"; +PROCEDURE -GetConsoleMode(h: FileHandle; VAR m: SYSTEM.INT32): BOOLEAN "GetConsoleMode((HANDLE)h, (DWORD*)m)"; +PROCEDURE -SetConsoleMode(h: FileHandle; m: SYSTEM.INT32) "SetConsoleMode((HANDLE)h, (DWORD)m)"; PROCEDURE EnableVT100; +CONST VTprocessing = 4; (* ENABLE_VIRTUAL_TERMINAL_PROCESSING: value specified by MSDN *) VAR mode: SYSTEM.INT32; -BEGIN IF GetConsoleMode(StdOut, mode) THEN SetConsoleMode(StdOut, mode+VTprocessing()) END +BEGIN IF GetConsoleMode(StdOut, mode) THEN SetConsoleMode(StdOut, mode+VTprocessing) END END EnableVT100;