windows: utf-8 stdout was not initialized when we have main()
Initialization moved to init_consts for thatpull/1395/head
parent
f3d6bc9146
commit
68b46bb943
|
@ -365,7 +365,7 @@ void init_consts();')
|
|||
// if v.build_mode in [.default, .embed_vlib] {
|
||||
if v.pref.build_mode == .default_mode || v.pref.build_mode == .embed_vlib {
|
||||
// vlib can't have `init_consts()`
|
||||
cgen.genln('void init_consts() { g_str_buf=malloc(1000); ${cgen.consts_init.join_lines()} }')
|
||||
cgen.genln('void init_consts() { \n#ifdef _WIN32\n _setmode(_fileno(stdout), _O_U8TEXT); \n#endif\n g_str_buf=malloc(1000); ${cgen.consts_init.join_lines()} }')
|
||||
// _STR function can't be defined in vlib
|
||||
cgen.genln('
|
||||
string _STR(const char *fmt, ...) {
|
||||
|
@ -408,7 +408,7 @@ string _STR_TMP(const char *fmt, ...) {
|
|||
// It can be skipped in single file programs
|
||||
if v.pref.is_script {
|
||||
//println('Generating main()...')
|
||||
cgen.genln('int main() { \n#ifdef _WIN32\n _setmode(_fileno(stdout), _O_U8TEXT); \n#endif\n init_consts(); $cgen.fn_main; return 0; }')
|
||||
cgen.genln('int main() { init_consts(); $cgen.fn_main; return 0; }')
|
||||
}
|
||||
else {
|
||||
println('panic: function `main` is undeclared in the main module')
|
||||
|
@ -417,7 +417,7 @@ string _STR_TMP(const char *fmt, ...) {
|
|||
}
|
||||
// Generate `main` which calls every single test function
|
||||
else if v.pref.is_test {
|
||||
cgen.genln('int main() { \n#ifdef _WIN32\n _setmode(_fileno(stdout), _O_U8TEXT); \n#endif\n init_consts();')
|
||||
cgen.genln('int main() { init_consts();')
|
||||
for key, f in v.table.fns {
|
||||
if f.name.starts_with('test_') {
|
||||
cgen.genln('$f.name();')
|
||||
|
|
Loading…
Reference in New Issue