minor code changes in mbwc

This commit is contained in:
2012-01-01 15:14:30 +00:00
parent d1883d2a72
commit 5e0b9418d7
10 changed files with 313 additions and 312 deletions

View File

@ -42,11 +42,7 @@
qse_size_t qse_mbrlen (
const qse_mchar_t* mb, qse_size_t mbl, qse_mbstate_t* state)
{
#if defined(_WIN32)
/* TODO: provide an option to use windows api */
return qse_utf8len (mb, mbl);
#elif defined(HAVE_MBRLEN)
#if defined(HAVE_MBRLEN)
size_t n;
n = mbrlen (mb, mbl, (mbstate_t*)state);
@ -72,17 +68,7 @@ qse_size_t qse_mbrtowc (
const qse_mchar_t* mb, qse_size_t mbl,
qse_wchar_t* wc, qse_mbstate_t* state)
{
#if defined(_WIN32)
/*
int n;
n = MultiByteToWideChar (CP_ACP, MB_ERR_INVALID_CHARS, mb, mbl, wc, 1);
if (n == 0) return 0;
return mbl;
*/
return qse_utf8touc (mb, mbl, wc);
#elif defined(HAVE_MBRTOWC)
#if defined(HAVE_MBRTOWC)
size_t n;
n = mbrtowc (wc, mb, mbl, (mbstate_t*)state);
@ -104,10 +90,7 @@ qse_size_t qse_wcrtomb (
qse_wchar_t wc, qse_mchar_t* mb,
qse_size_t mbl, qse_mbstate_t* state)
{
#if defined(_WIN32)
return qse_uctoutf8 (wc, mb, mbl);
#elif defined(HAVE_WCRTOMB)
#if defined(HAVE_WCRTOMB)
size_t n;
if (mbl < QSE_MBLEN_MAX)

View File

@ -22,13 +22,19 @@
#include <qse/cmn/utf8.h>
static qse_cmgr_t builtin_cmgr =
static qse_cmgr_t utf8_cmgr =
{
qse_utf8touc,
qse_uctoutf8
};
static qse_cmgr_t* dfl_cmgr = &builtin_cmgr;
static qse_cmgr_t locale_cmgr =
{
qse_mbtowc,
qse_wctomb
};
static qse_cmgr_t* dfl_cmgr = &locale_cmgr;
qse_cmgr_t* qse_getdflcmgr (void)
{
@ -37,11 +43,9 @@ qse_cmgr_t* qse_getdflcmgr (void)
void qse_setdflcmgr (qse_cmgr_t* cmgr)
{
dfl_cmgr = (cmgr? cmgr: &builtin_cmgr);
dfl_cmgr = (cmgr? cmgr: &locale_cmgr);
}
/* string conversion function using default character conversion manager */
int qse_mbstowcs (