From 20fc2f493621f1f159bbea354e32a1d30b5f428a Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Mon, 20 Jul 2009 15:44:55 +0000 Subject: * wincap.h (wincaps::has_always_all_codepages): New element. * wincap.cc: Implement above element throughout. * wchar.h (__sjis_mbtowc): Declare. (__eucjp_mbtowc): Ditto. (__gbk_mbtowc): Ditto. (__kr_mbtowc): Ditto. (__big5_mbtowc): Ditto. * syscalls.cc (internal_setlocale): Convert to char * function. Return parameter by default. Return NULL if request to use a charset can't be satisfied due to missing codepage support in the underlying OS. Fix comment. (setlocale): Store original locale. Restore to original locale if internal_setlocale returns NULL. --- winsup/cygwin/wincap.cc | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'winsup/cygwin/wincap.cc') diff --git a/winsup/cygwin/wincap.cc b/winsup/cygwin/wincap.cc index 774925ec7..84e530d3f 100644 --- a/winsup/cygwin/wincap.cc +++ b/winsup/cygwin/wincap.cc @@ -56,6 +56,7 @@ wincaps wincap_unknown __attribute__((section (".cygwin_dll_common"), shared)) = has_broken_udf:false, has_console_handle_problem:false, has_broken_alloc_console:false, + has_always_all_codepages:false, }; wincaps wincap_nt4 __attribute__((section (".cygwin_dll_common"), shared)) = { @@ -94,6 +95,7 @@ wincaps wincap_nt4 __attribute__((section (".cygwin_dll_common"), shared)) = { has_broken_udf:false, has_console_handle_problem:false, has_broken_alloc_console:false, + has_always_all_codepages:false, }; wincaps wincap_nt4sp4 __attribute__((section (".cygwin_dll_common"), shared)) = { @@ -132,6 +134,7 @@ wincaps wincap_nt4sp4 __attribute__((section (".cygwin_dll_common"), shared)) = has_broken_udf:false, has_console_handle_problem:false, has_broken_alloc_console:false, + has_always_all_codepages:false, }; wincaps wincap_2000 __attribute__((section (".cygwin_dll_common"), shared)) = { @@ -170,6 +173,7 @@ wincaps wincap_2000 __attribute__((section (".cygwin_dll_common"), shared)) = { has_broken_udf:true, has_console_handle_problem:false, has_broken_alloc_console:false, + has_always_all_codepages:false, }; wincaps wincap_2000sp4 __attribute__((section (".cygwin_dll_common"), shared)) = { @@ -208,6 +212,7 @@ wincaps wincap_2000sp4 __attribute__((section (".cygwin_dll_common"), shared)) = has_broken_udf:true, has_console_handle_problem:false, has_broken_alloc_console:false, + has_always_all_codepages:false, }; wincaps wincap_xp __attribute__((section (".cygwin_dll_common"), shared)) = { @@ -246,6 +251,7 @@ wincaps wincap_xp __attribute__((section (".cygwin_dll_common"), shared)) = { has_broken_udf:true, has_console_handle_problem:false, has_broken_alloc_console:false, + has_always_all_codepages:false, }; wincaps wincap_xpsp1 __attribute__((section (".cygwin_dll_common"), shared)) = { @@ -284,6 +290,7 @@ wincaps wincap_xpsp1 __attribute__((section (".cygwin_dll_common"), shared)) = { has_broken_udf:true, has_console_handle_problem:false, has_broken_alloc_console:false, + has_always_all_codepages:false, }; wincaps wincap_xpsp2 __attribute__((section (".cygwin_dll_common"), shared)) = { @@ -322,6 +329,7 @@ wincaps wincap_xpsp2 __attribute__((section (".cygwin_dll_common"), shared)) = { has_broken_udf:true, has_console_handle_problem:false, has_broken_alloc_console:false, + has_always_all_codepages:false, }; wincaps wincap_2003 __attribute__((section (".cygwin_dll_common"), shared)) = { @@ -360,6 +368,7 @@ wincaps wincap_2003 __attribute__((section (".cygwin_dll_common"), shared)) = { has_broken_udf:true, has_console_handle_problem:false, has_broken_alloc_console:false, + has_always_all_codepages:false, }; wincaps wincap_vista __attribute__((section (".cygwin_dll_common"), shared)) = { @@ -398,6 +407,7 @@ wincaps wincap_vista __attribute__((section (".cygwin_dll_common"), shared)) = { has_broken_udf:false, has_console_handle_problem:false, has_broken_alloc_console:false, + has_always_all_codepages:true, }; wincaps wincap_7 __attribute__((section (".cygwin_dll_common"), shared)) = { @@ -436,6 +446,7 @@ wincaps wincap_7 __attribute__((section (".cygwin_dll_common"), shared)) = { has_broken_udf:false, has_console_handle_problem:true, has_broken_alloc_console:true, + has_always_all_codepages:true, }; wincapc wincap __attribute__((section (".cygwin_dll_common"), shared)); -- cgit v1.2.3