From 37cb17f3ccb945f49d3a47efada29aaa8c95aa12 Mon Sep 17 00:00:00 2001 From: wizou Date: Fri, 7 May 2010 16:13:24 +0000 Subject: [PATCH] Unicode port: restore initial console codepage on exit git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6087 212acab6-be3b-0410-9dea-997c60f758d6 --- Source/makenssi.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Source/makenssi.cpp b/Source/makenssi.cpp index 16a42130..90b3fda3 100644 --- a/Source/makenssi.cpp +++ b/Source/makenssi.cpp @@ -38,6 +38,9 @@ using namespace std; int g_noconfig=0; int g_display_errors=1; FILE *g_output=stdout; +#ifdef _UNICODE +UINT g_initialCodepage; +#endif void quit() { @@ -54,6 +57,9 @@ static void myatexit() { dopause(); if (g_output != stdout && g_output) fclose(g_output); +#ifdef _UNICODE + SetConsoleOutputCP(g_initialCodepage); +#endif } static void sigint(int sig) @@ -272,6 +278,7 @@ int _tmain(int argc, TCHAR **argv) #ifdef _UNICODE _setmode(_fileno(stdout), _O_U8TEXT); // set stdout to UTF-8 + g_initialCodepage = GetConsoleOutputCP(); SetConsoleOutputCP(CP_UTF8); // set console output to UTF-8 (especially useful for subprocesses like !system) #endif try