* strfuncs.cc: Change WCHAR to wchar_t in multibyte<->widechar
conversion functions throughout. * wchar.h: Ditto in declarations. Guard them __INSIDE_CYGWIN__.
This commit is contained in:
parent
3d69426491
commit
21c7d001dc
@ -1,3 +1,9 @@
|
|||||||
|
2009-04-07 Corinna Vinschen <corinna@vinschen.de>
|
||||||
|
|
||||||
|
* strfuncs.cc: Change WCHAR to wchar_t in multibyte<->widechar
|
||||||
|
conversion functions throughout.
|
||||||
|
* wchar.h: Ditto in declarations. Guard them __INSIDE_CYGWIN__.
|
||||||
|
|
||||||
2009-04-07 Corinna Vinschen <corinna@vinschen.de>
|
2009-04-07 Corinna Vinschen <corinna@vinschen.de>
|
||||||
|
|
||||||
* fhandler.h (class dev_console): Add members con_mbtowc, con_wctomb,
|
* fhandler.h (class dev_console): Add members con_mbtowc, con_wctomb,
|
||||||
|
@ -409,7 +409,7 @@ __set_charset_from_codepage (UINT cp, char *charset)
|
|||||||
and the buffer in the calling function should be raised. */
|
and the buffer in the calling function should be raised. */
|
||||||
size_t __stdcall
|
size_t __stdcall
|
||||||
sys_cp_wcstombs (wctomb_p f_wctomb, char *charset, char *dst, size_t len,
|
sys_cp_wcstombs (wctomb_p f_wctomb, char *charset, char *dst, size_t len,
|
||||||
const PWCHAR src, size_t nwc)
|
const wchar_t *src, size_t nwc)
|
||||||
{
|
{
|
||||||
char buf[10];
|
char buf[10];
|
||||||
char *ptr = dst;
|
char *ptr = dst;
|
||||||
@ -487,7 +487,7 @@ sys_cp_wcstombs (wctomb_p f_wctomb, char *charset, char *dst, size_t len,
|
|||||||
__small_vsprintf) and so when built there plain calloc is the
|
__small_vsprintf) and so when built there plain calloc is the
|
||||||
only choice. */
|
only choice. */
|
||||||
size_t __stdcall
|
size_t __stdcall
|
||||||
sys_wcstombs_alloc (char **dst_p, int type, const PWCHAR src, size_t nwc)
|
sys_wcstombs_alloc (char **dst_p, int type, const wchar_t *src, size_t nwc)
|
||||||
{
|
{
|
||||||
size_t ret;
|
size_t ret;
|
||||||
|
|
||||||
@ -513,7 +513,7 @@ sys_wcstombs_alloc (char **dst_p, int type, const PWCHAR src, size_t nwc)
|
|||||||
charset, which is the charset returned by GetConsoleCP (). Most of the
|
charset, which is the charset returned by GetConsoleCP (). Most of the
|
||||||
time this is used for box and line drawing characters. */
|
time this is used for box and line drawing characters. */
|
||||||
size_t __stdcall
|
size_t __stdcall
|
||||||
sys_cp_mbstowcs (mbtowc_p f_mbtowc, char *charset, PWCHAR dst, size_t dlen,
|
sys_cp_mbstowcs (mbtowc_p f_mbtowc, char *charset, wchar_t *dst, size_t dlen,
|
||||||
const char *src, size_t nms)
|
const char *src, size_t nms)
|
||||||
{
|
{
|
||||||
wchar_t *ptr = dst;
|
wchar_t *ptr = dst;
|
||||||
@ -593,7 +593,7 @@ sys_cp_mbstowcs (mbtowc_p f_mbtowc, char *charset, PWCHAR dst, size_t dlen,
|
|||||||
|
|
||||||
/* Same as sys_wcstombs_alloc, just backwards. */
|
/* Same as sys_wcstombs_alloc, just backwards. */
|
||||||
size_t __stdcall
|
size_t __stdcall
|
||||||
sys_mbstowcs_alloc (PWCHAR *dst_p, int type, const char *src, size_t nms)
|
sys_mbstowcs_alloc (wchar_t **dst_p, int type, const char *src, size_t nms)
|
||||||
{
|
{
|
||||||
size_t ret;
|
size_t ret;
|
||||||
|
|
||||||
@ -603,9 +603,10 @@ sys_mbstowcs_alloc (PWCHAR *dst_p, int type, const char *src, size_t nms)
|
|||||||
size_t dlen = ret + 1;
|
size_t dlen = ret + 1;
|
||||||
|
|
||||||
if (type == HEAP_NOTHEAP)
|
if (type == HEAP_NOTHEAP)
|
||||||
*dst_p = (PWCHAR) calloc (dlen, sizeof (WCHAR));
|
*dst_p = (wchar_t *) calloc (dlen, sizeof (wchar_t));
|
||||||
else
|
else
|
||||||
*dst_p = (PWCHAR) ccalloc ((cygheap_types) type, dlen, sizeof (WCHAR));
|
*dst_p = (wchar_t *) ccalloc ((cygheap_types) type, dlen,
|
||||||
|
sizeof (wchar_t));
|
||||||
if (!*dst_p)
|
if (!*dst_p)
|
||||||
return 0;
|
return 0;
|
||||||
ret = sys_mbstowcs (*dst_p, dlen, src, nms);
|
ret = sys_mbstowcs (*dst_p, dlen, src, nms);
|
||||||
@ -622,7 +623,7 @@ RtlInt64ToHexUnicodeString (ULONGLONG value, PUNICODE_STRING dest,
|
|||||||
USHORT len = append ? dest->Length : 0;
|
USHORT len = append ? dest->Length : 0;
|
||||||
if (dest->MaximumLength - len < 16 * (int) sizeof (WCHAR))
|
if (dest->MaximumLength - len < 16 * (int) sizeof (WCHAR))
|
||||||
return STATUS_BUFFER_OVERFLOW;
|
return STATUS_BUFFER_OVERFLOW;
|
||||||
PWCHAR end = (PWCHAR) ((PBYTE) dest->Buffer + len);
|
wchar_t *end = (PWCHAR) ((PBYTE) dest->Buffer + len);
|
||||||
register PWCHAR p = end + 16;
|
register PWCHAR p = end + 16;
|
||||||
while (p-- > end)
|
while (p-- > end)
|
||||||
{
|
{
|
||||||
|
@ -44,30 +44,32 @@ extern mbtowc_p __set_charset_from_codepage (unsigned int cp, char *charset);
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef __INSIDE_CYGWIN__
|
||||||
size_t __stdcall sys_cp_wcstombs (wctomb_p, char *, char *, size_t,
|
size_t __stdcall sys_cp_wcstombs (wctomb_p, char *, char *, size_t,
|
||||||
const PWCHAR, size_t = (size_t) -1)
|
const wchar_t *, size_t = (size_t) -1)
|
||||||
__attribute__ ((regparm(3)));
|
__attribute__ ((regparm(3)));
|
||||||
inline size_t
|
inline size_t
|
||||||
__stdcall sys_wcstombs (char *dst, size_t len, const PWCHAR src,
|
__stdcall sys_wcstombs (char *dst, size_t len, const wchar_t * src,
|
||||||
size_t nwc = (size_t) -1)
|
size_t nwc = (size_t) -1)
|
||||||
{
|
{
|
||||||
return sys_cp_wcstombs (__wctomb, __locale_charset (), dst, len, src, nwc);
|
return sys_cp_wcstombs (__wctomb, __locale_charset (), dst, len, src, nwc);
|
||||||
}
|
}
|
||||||
size_t __stdcall sys_wcstombs_alloc (char **, int, const PWCHAR,
|
size_t __stdcall sys_wcstombs_alloc (char **, int, const wchar_t *,
|
||||||
size_t = (size_t) -1)
|
size_t = (size_t) -1)
|
||||||
__attribute__ ((regparm(3)));
|
__attribute__ ((regparm(3)));
|
||||||
|
|
||||||
size_t __stdcall sys_cp_mbstowcs (mbtowc_p, char *, PWCHAR, size_t,
|
size_t __stdcall sys_cp_mbstowcs (mbtowc_p, char *, wchar_t *, size_t,
|
||||||
const char *, size_t = (size_t) -1)
|
const char *, size_t = (size_t) -1)
|
||||||
__attribute__ ((regparm(3)));
|
__attribute__ ((regparm(3)));
|
||||||
inline size_t
|
inline size_t
|
||||||
sys_mbstowcs (PWCHAR dst, size_t dlen, const char *src,
|
sys_mbstowcs (wchar_t * dst, size_t dlen, const char *src,
|
||||||
size_t nms = (size_t) -1)
|
size_t nms = (size_t) -1)
|
||||||
{
|
{
|
||||||
return sys_cp_mbstowcs (__mbtowc, __locale_charset (), dst, dlen, src, nms);
|
return sys_cp_mbstowcs (__mbtowc, __locale_charset (), dst, dlen, src, nms);
|
||||||
}
|
}
|
||||||
size_t __stdcall sys_mbstowcs_alloc (PWCHAR *, int, const char *,
|
size_t __stdcall sys_mbstowcs_alloc (wchar_t **, int, const char *,
|
||||||
size_t = (size_t) -1)
|
size_t = (size_t) -1)
|
||||||
__attribute__ ((regparm(3)));
|
__attribute__ ((regparm(3)));
|
||||||
|
#endif /* __INSIDE_CYGWIN__ */
|
||||||
|
|
||||||
#endif /* _CYGWIN_WCHAR_H */
|
#endif /* _CYGWIN_WCHAR_H */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user