Drop sys_cp_wcstombs and save two arguments per call

* strfuncs.cc (sys_cp_wcstombs): Delete and move functionality into
        sys_wcstombs.
        * wchar.h (sys_cp_wcstombs): Drop declaration.
        * fhandler_console.cc (dev_console::con_to_str): Call sys_wcstombs.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
This commit is contained in:
Corinna Vinschen 2015-12-18 12:42:40 +01:00
parent 7d5b16ab9a
commit ac39f7b4e8
4 changed files with 12 additions and 14 deletions

View File

@ -1,3 +1,10 @@
2015-12-18 Corinna Vinschen <corinna@vinschen.de>
* strfuncs.cc (sys_cp_wcstombs): Delete and move functionality into
sys_wcstombs.
* wchar.h (sys_cp_wcstombs): Drop declaration.
* fhandler_console.cc (dev_console::con_to_str): Call sys_wcstombs.
2015-12-16 Corinna Vinschen <corinna@vinschen.de>
* grp.cc (pwdgrp::parse_group): Only copy the SID if it's valid.

View File

@ -218,8 +218,7 @@ tty_list::get_cttyp ()
inline DWORD
dev_console::con_to_str (char *d, int dlen, WCHAR w)
{
return sys_cp_wcstombs (cygheap->locale.wctomb, cygheap->locale.charset,
d, dlen, &w, 1);
return sys_wcstombs (d, dlen, &w, 1);
}
inline UINT

View File

@ -59,7 +59,7 @@ static const WCHAR tfx_chars[] = {
0xf000 | '|', '}', '~', 127
};
/* This is the table for the reverse functionality in sys_cp_wcstombs.
/* This is the table for the reverse functionality in sys_wcstombs.
It differs deliberately in two code places (space and dot) to allow
converting back space and dot on filesystems only supporting DOS
filenames. */
@ -410,8 +410,7 @@ __big5_mbtowc (struct _reent *r, wchar_t *pwc, const char *s, size_t n,
function should be raised.
*/
size_t __reg3
sys_cp_wcstombs (wctomb_p f_wctomb, const char *charset, char *dst, size_t len,
const wchar_t *src, size_t nwc)
sys_wcstombs (char *dst, size_t len, const wchar_t *src, size_t nwc)
{
char buf[10];
char *ptr = dst;
@ -419,6 +418,8 @@ sys_cp_wcstombs (wctomb_p f_wctomb, const char *charset, char *dst, size_t len,
size_t n = 0;
mbstate_t ps;
save_errno save;
wctomb_p f_wctomb = cygheap->locale.wctomb;
const char *charset = cygheap->locale.charset;
memset (&ps, 0, sizeof ps);
if (dst == NULL)
@ -495,13 +496,6 @@ sys_cp_wcstombs (wctomb_p f_wctomb, const char *charset, char *dst, size_t len,
return n;
}
size_t __reg3
sys_wcstombs (char *dst, size_t len, const wchar_t * src, size_t nwc)
{
return sys_cp_wcstombs (cygheap->locale.wctomb, cygheap->locale.charset,
dst, len, src, nwc);
}
/* Allocate a buffer big enough for the string, always including the
terminating '\0'. The buffer pointer is returned in *dst_p, the return
value is the number of bytes written to the buffer, as usual.

View File

@ -50,8 +50,6 @@ extern char *__locale_charset ();
#ifdef __INSIDE_CYGWIN__
#ifdef __cplusplus
size_t __reg3 sys_cp_wcstombs (wctomb_p, const char *, char *, size_t,
const wchar_t *, size_t = (size_t) -1);
size_t __reg3 sys_wcstombs (char *dst, size_t len, const wchar_t * src,
size_t nwc = (size_t) -1);
size_t __reg3 sys_wcstombs_alloc (char **, int, const wchar_t *,