summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/environ.cc
diff options
context:
space:
mode:
authorEgor Duda <deo@logos-m.ru>2001-06-12 11:31:05 +0000
committerEgor Duda <deo@logos-m.ru>2001-06-12 11:31:05 +0000
commit4c15b7aba0e430aaa8e573a4b68568177787f5d2 (patch)
tree1b130c7c1aa1160edbe7bfd3a5720f7f76cac039 /winsup/cygwin/environ.cc
parent25842b68c79e1ab640b133db6520a8c0a2a458e8 (diff)
downloadcygnal-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.cc21
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
{