#include #include static unsigned int last_value = 0; typedef unsigned int (*f_get_output_format)(void); typedef unsigned int (*f_set_output_format)(unsigned int); static int call_set_output_format(unsigned int _Format) { f_set_output_format sof; HMODULE lib = LoadLibrary ("msvcrt.dll"); if (!lib) return 0; sof = (f_set_output_format) GetProcAddress (lib, "_set_output_format"); if (sof) { last_value = (*sof)(_Format); } FreeLibrary(lib); if (!sof) return 0; return 1; } static int call_get_output_format(void) { f_get_output_format sof; HMODULE lib = LoadLibrary ("msvcrt.dll"); if (!lib) return 0; sof = (f_get_output_format) GetProcAddress (lib, "_get_output_format"); if (sof) { last_value = (*sof)(); } FreeLibrary(lib); if (!sof) return 0; return 1; } unsigned int __cdecl __mingw_set_output_format(unsigned int _Format) { static int probe = 1; unsigned int l = last_value; if (probe) probe = call_set_output_format (_Format); if (!probe) { last_value = _Format; } return l; } unsigned int __cdecl __mingw_get_output_format(void) { static int probe = 1; if (probe) probe = call_get_output_format (); return last_value; }