Loading src/tool_main.c +56 −0 Original line number Diff line number Diff line Loading @@ -236,6 +236,56 @@ static void main_free(struct GlobalConfig *config) config->last = NULL; } #ifdef _WIN32 /* TerminalSettings for Windows */ struct TerminalSettings { HANDLE hStdOut; DWORD dwOutputMode; UINT nCodepage; }TerminalSettings; #endif static void configure_terminal(void) { #ifdef _WIN32 /* * If we're running Windows, enable VT output & set codepage to UTF-8. * Note: VT mode flag can be set on any version of Windows, but VT * processing only performed on Win10 >= Creators Update) */ /* Define the VT flags in case we're building with an older SDK */ #ifndef ENABLE_VIRTUAL_TERMINAL_PROCESSING #define ENABLE_VIRTUAL_TERMINAL_PROCESSING 0x0004 #endif /* Cache current codepage (will restore on exit) & set codepage to UTF-8 */ memset(&TerminalSettings, 0, sizeof(TerminalSettings)); TerminalSettings.nCodepage = GetConsoleOutputCP(); SetConsoleOutputCP(65001); /* Enable VT output */ TerminalSettings.hStdOut = GetStdHandle(STD_OUTPUT_HANDLE); if((TerminalSettings.hStdOut != INVALID_HANDLE_VALUE) && (GetConsoleMode(TerminalSettings.hStdOut, &TerminalSettings.dwOutputMode))) { SetConsoleMode(TerminalSettings.hStdOut, TerminalSettings.dwOutputMode | ENABLE_VIRTUAL_TERMINAL_PROCESSING); } #endif } static void restore_terminal(void) { #ifdef _WIN32 /* Restore Console output mode and codepage to whatever they were * when Curl started */ SetConsoleMode(TerminalSettings.hStdOut, TerminalSettings.dwOutputMode); SetConsoleOutputCP(TerminalSettings.nCodepage); #endif } /* ** curl tool main function. */ Loading @@ -245,6 +295,9 @@ int main(int argc, char *argv[]) struct GlobalConfig global; memset(&global, 0, sizeof(global)); /* Perform any platform-specific terminal configuration */ configure_terminal(); main_checkfds(); #if defined(HAVE_SIGNAL) && defined(SIGPIPE) Loading @@ -270,6 +323,9 @@ int main(int argc, char *argv[]) main_free(&global); } /* Return the terminal to its original state */ restore_terminal(); #ifdef __NOVELL_LIBC__ if(getenv("_IN_NETWARE_BASH_") == NULL) tool_pressanykey(); Loading winbuild/makedebug.cmd 0 → 100644 +12 −0 Original line number Diff line number Diff line @echo off where.exe nmake.exe >nul 2>&1 IF %ERRORLEVEL == 1 ( ECHO Error: Can't find `nmake.exe` - be sure to run this script from within a Developer Command-Prompt ECHO. ) ELSE ( nmake /f Makefile.vc mode=static DEBUG=yes GEN_PDB=yes IF %ERRORLEVEL% NEQ 0 (ECHO "Error: Build Failed") ) winbuild/rundebug.cmd 0 → 100644 +2 −0 Original line number Diff line number Diff line @echo off start cmd /k ..\builds\libcurl-vc-x86-debug-static-ipv6-sspi-winssl\bin\curl.exe https://wttr.in/seattle No newline at end of file Loading
src/tool_main.c +56 −0 Original line number Diff line number Diff line Loading @@ -236,6 +236,56 @@ static void main_free(struct GlobalConfig *config) config->last = NULL; } #ifdef _WIN32 /* TerminalSettings for Windows */ struct TerminalSettings { HANDLE hStdOut; DWORD dwOutputMode; UINT nCodepage; }TerminalSettings; #endif static void configure_terminal(void) { #ifdef _WIN32 /* * If we're running Windows, enable VT output & set codepage to UTF-8. * Note: VT mode flag can be set on any version of Windows, but VT * processing only performed on Win10 >= Creators Update) */ /* Define the VT flags in case we're building with an older SDK */ #ifndef ENABLE_VIRTUAL_TERMINAL_PROCESSING #define ENABLE_VIRTUAL_TERMINAL_PROCESSING 0x0004 #endif /* Cache current codepage (will restore on exit) & set codepage to UTF-8 */ memset(&TerminalSettings, 0, sizeof(TerminalSettings)); TerminalSettings.nCodepage = GetConsoleOutputCP(); SetConsoleOutputCP(65001); /* Enable VT output */ TerminalSettings.hStdOut = GetStdHandle(STD_OUTPUT_HANDLE); if((TerminalSettings.hStdOut != INVALID_HANDLE_VALUE) && (GetConsoleMode(TerminalSettings.hStdOut, &TerminalSettings.dwOutputMode))) { SetConsoleMode(TerminalSettings.hStdOut, TerminalSettings.dwOutputMode | ENABLE_VIRTUAL_TERMINAL_PROCESSING); } #endif } static void restore_terminal(void) { #ifdef _WIN32 /* Restore Console output mode and codepage to whatever they were * when Curl started */ SetConsoleMode(TerminalSettings.hStdOut, TerminalSettings.dwOutputMode); SetConsoleOutputCP(TerminalSettings.nCodepage); #endif } /* ** curl tool main function. */ Loading @@ -245,6 +295,9 @@ int main(int argc, char *argv[]) struct GlobalConfig global; memset(&global, 0, sizeof(global)); /* Perform any platform-specific terminal configuration */ configure_terminal(); main_checkfds(); #if defined(HAVE_SIGNAL) && defined(SIGPIPE) Loading @@ -270,6 +323,9 @@ int main(int argc, char *argv[]) main_free(&global); } /* Return the terminal to its original state */ restore_terminal(); #ifdef __NOVELL_LIBC__ if(getenv("_IN_NETWARE_BASH_") == NULL) tool_pressanykey(); Loading
winbuild/makedebug.cmd 0 → 100644 +12 −0 Original line number Diff line number Diff line @echo off where.exe nmake.exe >nul 2>&1 IF %ERRORLEVEL == 1 ( ECHO Error: Can't find `nmake.exe` - be sure to run this script from within a Developer Command-Prompt ECHO. ) ELSE ( nmake /f Makefile.vc mode=static DEBUG=yes GEN_PDB=yes IF %ERRORLEVEL% NEQ 0 (ECHO "Error: Build Failed") )
winbuild/rundebug.cmd 0 → 100644 +2 −0 Original line number Diff line number Diff line @echo off start cmd /k ..\builds\libcurl-vc-x86-debug-static-ipv6-sspi-winssl\bin\curl.exe https://wttr.in/seattle No newline at end of file