Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEgor Duda <deo@logos-m.ru>2001-06-12 15:31:05 +0400
committerEgor Duda <deo@logos-m.ru>2001-06-12 15:31:05 +0400
commit4c15b7aba0e430aaa8e573a4b68568177787f5d2 (patch)
tree1b130c7c1aa1160edbe7bfd3a5720f7f76cac039 /winsup/cygwin/environ.cc
parent25842b68c79e1ab640b133db6520a8c0a2a458e8 (diff)
* 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
{