We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent e9b1317 commit fb38865Copy full SHA for fb38865
contrib/win32/win32compat/win32-utf8.c
@@ -7,6 +7,11 @@
7
8
#include "console.h"
9
10
+// previous codepage
11
+UINT g_previous_codepage = 0;
12
+
13
+void
14
+mresetlocale(void);
15
16
int
17
vfmprintf(FILE *stream, const char *fmt, va_list ap)
@@ -96,6 +101,18 @@ void
96
101
msetlocale(void)
97
102
{
98
103
// allow console output of unicode characters
99
- SetConsoleOutputCP(CP_UTF8);
104
+ g_previous_codepage = SetConsoleOutputCP(CP_UTF8);
105
106
+ // register reset function at exit
107
+ atexit(mresetlocale);
100
108
}
109
110
111
+mresetlocale(void)
112
+{
113
+ if( 0 != g_previous_codepage )
114
+ {
115
+ // restore console output codepage for previous one
116
+ SetConsoleOutputCP(g_previous_codepage);
117
+ }
118
+}
0 commit comments