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:
authorCorinna Vinschen <corinna@vinschen.de>2008-01-31 23:26:01 +0300
committerCorinna Vinschen <corinna@vinschen.de>2008-01-31 23:26:01 +0300
commit1597484cb589da409832f64db94c8ac79ccf468c (patch)
treeea63fb97e7f3563da47673b3db3fbff6f78eb06d /winsup/cygwin/environ.cc
parent8e87af7ed082bf06a30e226e6bc779c932db625a (diff)
* dcrt0.cc (dll_crt0_1): Use GetCommandLineW and convert to current
codepage. * environ.cc (set_file_api_mode): Always set file api to ANSI if not using the OEM codepage. (codepage_init): Allow "utf8" codepage. * fhandler_clipboard.cc (set_clipboard): Convert clipbuf to void and cast as needed. Always convert input to wide char and write CF_UNICODETEXT to clipboard. (fhandler_dev_clipboard::read): Read CF_UNICODETEXT from clipboard and convert to current codepage if CYGWIN_NATIVE format is not available. * fhandler_console.cc: Drop redundant undef. * smallprint.cc (__small_vsprintf): Convert PWCHAR and UNICODE_STRING to current codepage for printing. * strfuncs.cc: Use PWCHAR throughout. (get_cp): Return CP_UTF8 for utf8_cp codepage setting. (sys_wcstombs): Allow NULL target buffer. (sys_wcstombs_alloc): New function. (sys_mbstowcs_alloc): Ditto. * winsup.h (codepage_type): Add utf8_cp. (HEAP_NOTHEAP): Define. (sys_wcstombs_alloc): Declare. (sys_mbstowcs_alloc): Declare.
Diffstat (limited to 'winsup/cygwin/environ.cc')
-rw-r--r--winsup/cygwin/environ.cc15
1 files changed, 6 insertions, 9 deletions
diff --git a/winsup/cygwin/environ.cc b/winsup/cygwin/environ.cc
index 9c68dcaaf..d21e6f726 100644
--- a/winsup/cygwin/environ.cc
+++ b/winsup/cygwin/environ.cc
@@ -506,7 +506,7 @@ set_file_api_mode (codepage_type cp)
SetFileApisToOEM ();
debug_printf ("File APIs set to OEM");
}
- else if (cp == ansi_cp)
+ else
{
SetFileApisToANSI ();
debug_printf ("File APIs set to ANSI");
@@ -520,17 +520,14 @@ codepage_init (const char *buf)
return;
if (strcasematch (buf, "oem"))
- {
- current_codepage = oem_cp;
- set_file_api_mode (current_codepage);
- }
+ current_codepage = oem_cp;
else if (strcasematch (buf, "ansi"))
- {
- current_codepage = ansi_cp;
- set_file_api_mode (current_codepage);
- }
+ current_codepage = ansi_cp;
+ else if (strcasematch (buf, "utf8"))
+ current_codepage = utf8_cp;
else
debug_printf ("Wrong codepage name: %s", buf);
+ set_file_api_mode (current_codepage);
}
static void