diff options
author | Egor Duda <deo@logos-m.ru> | 2001-06-12 11:31:05 +0000 |
---|---|---|
committer | Egor Duda <deo@logos-m.ru> | 2001-06-12 11:31:05 +0000 |
commit | 4c15b7aba0e430aaa8e573a4b68568177787f5d2 (patch) | |
tree | 1b130c7c1aa1160edbe7bfd3a5720f7f76cac039 /winsup/cygwin/environ.cc | |
parent | 25842b68c79e1ab640b133db6520a8c0a2a458e8 (diff) | |
download | cygnal-4c15b7aba0e430aaa8e573a4b68568177787f5d2.tar.gz cygnal-4c15b7aba0e430aaa8e573a4b68568177787f5d2.tar.bz2 cygnal-4c15b7aba0e430aaa8e573a4b68568177787f5d2.zip |
* environ.cc (set_file_api_mode): New function. Move setting
of file APIs mode (OEM/ANSI) here.
(codepage_init): From here.
* winsup.h (set_file_api_mode): Declare it.
* fork.cc (fork_child): Set file APIs mode in forkee.
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 { |