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/winsup.h
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/winsup.h')
-rw-r--r--winsup/cygwin/winsup.h14
1 files changed, 11 insertions, 3 deletions
diff --git a/winsup/cygwin/winsup.h b/winsup/cygwin/winsup.h
index 5b4b573f5..505326cec 100644
--- a/winsup/cygwin/winsup.h
+++ b/winsup/cygwin/winsup.h
@@ -110,15 +110,23 @@ extern const char case_folded_upper[];
/* The one function we use from winuser.h most of the time */
extern "C" DWORD WINAPI GetLastError (void);
-enum codepage_type {ansi_cp, oem_cp};
+enum codepage_type {ansi_cp, oem_cp, utf8_cp};
extern codepage_type current_codepage;
UINT get_cp ();
-int __stdcall sys_wcstombs(char *, int, const WCHAR *, int = -1)
+/* Used as type by sys_wcstombs_alloc and sys_mbstowcs_alloc. For a
+ description see there. */
+#define HEAP_NOTHEAP -1
+
+int __stdcall sys_wcstombs (char *, int, const PWCHAR, int = -1)
+ __attribute__ ((regparm(3)));
+int __stdcall sys_wcstombs_alloc (char **, int, const PWCHAR, int = -1)
__attribute__ ((regparm(3)));
-int __stdcall sys_mbstowcs(WCHAR *, const char *, int)
+int __stdcall sys_mbstowcs (PWCHAR, const char *, int)
+ __attribute__ ((regparm(3)));
+int __stdcall sys_mbstowcs_alloc (PWCHAR *, int, const char *)
__attribute__ ((regparm(3)));
/* Used to check if Cygwin DLL is dynamically loaded. */