diff options
Diffstat (limited to 'winsup/cygwin/environ.cc')
-rw-r--r-- | winsup/cygwin/environ.cc | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/winsup/cygwin/environ.cc b/winsup/cygwin/environ.cc index 793cebb65..a3e1ec04b 100644 --- a/winsup/cygwin/environ.cc +++ b/winsup/cygwin/environ.cc @@ -423,6 +423,21 @@ check_case_init (const char *buf) } } +void +set_file_api_mode (codepage_type cp) +{ + if (cp == oem_cp) + { + SetFileApisToOEM (); + debug_printf ("File APIs set to OEM"); + } + else if (cp == ansi_cp) + { + SetFileApisToANSI (); + debug_printf ("File APIs set to ANSI"); + } +} + static void codepage_init (const char *buf) { @@ -432,14 +447,12 @@ codepage_init (const char *buf) if (strcmp (buf, "oem")== 0) { current_codepage = oem_cp; - SetFileApisToOEM (); - debug_printf ("File APIs set to OEM"); + set_file_api_mode (current_codepage); } else if (strcmp (buf, "ansi")== 0) { current_codepage = ansi_cp; - SetFileApisToANSI (); - debug_printf ("File APIs set to ANSI"); + set_file_api_mode (current_codepage); } else { |