diff options
author | Christopher Faylor <me@cgf.cx> | 2007-08-02 14:21:53 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2007-08-02 14:21:53 +0000 |
commit | 7e4f1942e4a3a3d1477dcffd5b45255007ed13d4 (patch) | |
tree | cdb98f9b9bfed984b579b0f6decc25a715ee0cac /winsup | |
parent | dcd1ef4516bf43cdd866069ef5df2a6a958945d2 (diff) | |
download | newlib-7e4f1942e4a3a3d1477dcffd5b45255007ed13d4.zip newlib-7e4f1942e4a3a3d1477dcffd5b45255007ed13d4.tar.gz newlib-7e4f1942e4a3a3d1477dcffd5b45255007ed13d4.tar.bz2 |
* dcrt0.cc (codepage_type): Remove definition.
* strfuncs.cc: Move it here. New file with bits of miscfuncs.cc.
* miscfuncs.cc: Remove wide character stuff.
Diffstat (limited to 'winsup')
-rw-r--r-- | winsup/cygwin/ChangeLog | 6 | ||||
-rw-r--r-- | winsup/cygwin/dcrt0.cc | 1 | ||||
-rw-r--r-- | winsup/cygwin/miscfuncs.cc | 32 | ||||
-rw-r--r-- | winsup/cygwin/strfuncs.cc | 43 |
4 files changed, 50 insertions, 32 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 713e528..9a7c639 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,9 @@ +2007-08-02 Christopher Faylor <me+cygwin@cgf.cx> + + * dcrt0.cc (codepage_type): Remove definition. + * strfuncs.cc: Move it here. New file with bits of miscfuncs.cc. + * miscfuncs.cc: Remove wide character stuff. + 2007-08-02 Corinna Vinschen <corinna@vinschen.de> * syscalls.cc (rename): Move and add text to comment about testing diff --git a/winsup/cygwin/dcrt0.cc b/winsup/cygwin/dcrt0.cc index 9e02a6f..801b7fb 100644 --- a/winsup/cygwin/dcrt0.cc +++ b/winsup/cygwin/dcrt0.cc @@ -55,7 +55,6 @@ bool display_title; bool strip_title_path; bool allow_glob = true; bool NO_COPY in_forkee; -codepage_type current_codepage = ansi_cp; int __argc_safe; int _declspec(dllexport) __argc; diff --git a/winsup/cygwin/miscfuncs.cc b/winsup/cygwin/miscfuncs.cc index 9bab138..bbbcd59 100644 --- a/winsup/cygwin/miscfuncs.cc +++ b/winsup/cygwin/miscfuncs.cc @@ -15,8 +15,6 @@ details. */ #include <sys/uio.h> #include <assert.h> #include <limits.h> -#include <winbase.h> -#include <winnls.h> #include "cygthread.h" #include "cygtls.h" @@ -163,6 +161,7 @@ dummytest (volatile char *p) { return *p; } + ssize_t check_iovec (const struct iovec *iov, int iovcnt, bool forwrite) { @@ -203,35 +202,6 @@ check_iovec (const struct iovec *iov, int iovcnt, bool forwrite) return (ssize_t) tot; } -UINT -get_cp () -{ - return current_codepage == ansi_cp ? GetACP() : GetOEMCP(); -} - -/* tlen is always treated as the maximum buffer size, including the '\0' - character. sys_wcstombs will always return a 0-terminated result, no - matter what. */ -int __stdcall -sys_wcstombs (char *tgt, int tlen, const WCHAR *src, int slen) -{ - int ret; - - ret = WideCharToMultiByte (get_cp (), 0, src, slen, tgt, tlen, NULL, NULL); - if (ret) - tgt[ret < tlen ? ret : tlen - 1] = '\0'; - return ret; -} - -int __stdcall -sys_mbstowcs (WCHAR *tgt, const char *src, int len) -{ - int res = MultiByteToWideChar (get_cp (), 0, src, -1, tgt, len); - if (!res) - debug_printf ("MultiByteToWideChar %E"); - return res; -} - extern "C" int low_priority_sleep (DWORD secs) { diff --git a/winsup/cygwin/strfuncs.cc b/winsup/cygwin/strfuncs.cc new file mode 100644 index 0000000..c0029fb --- /dev/null +++ b/winsup/cygwin/strfuncs.cc @@ -0,0 +1,43 @@ +/* strfuncs.cc: misc funcs that don't belong anywhere else + + Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, + 2005, 2006, 2007 Red Hat, Inc. + +This file is part of Cygwin. + +This software is a copyrighted work licensed under the terms of the +Cygwin license. Please consult the file "CYGWIN_LICENSE" for +details. */ + +#include "winsup.h" +#include <winbase.h> +#include <winnls.h> + +codepage_type current_codepage = ansi_cp; + +UINT +get_cp () +{ + return current_codepage == ansi_cp ? GetACP() : GetOEMCP(); +} + +/* tlen is always treated as the maximum buffer size, including the '\0' + character. sys_wcstombs will always return a 0-terminated result, no + matter what. */ +int __stdcall +sys_wcstombs (char *tgt, int tlen, const WCHAR *src, int slen) +{ + int ret; + + ret = WideCharToMultiByte (get_cp (), 0, src, slen, tgt, tlen, NULL, NULL); + if (ret) + tgt[ret < tlen ? ret : tlen - 1] = '\0'; + return ret; +} + +int __stdcall +sys_mbstowcs (WCHAR *tgt, const char *src, int len) +{ + int res = MultiByteToWideChar (get_cp (), 0, src, -1, tgt, len); + return res; +} |