changed the default cmgr to utf8
added qse_get_prog_mbspath_with_mmgr()/qse_get_prog_wcspath_with_mmgr() filled Path::setToSelf().
This commit is contained in:
@ -42,7 +42,7 @@ static int mbs_to_wcs_with_cmgr (
|
||||
for (mp = mbs; *mp != QSE_MT('\0'); mp++);
|
||||
|
||||
mlen = mp - mbs; wlen = *wcslen;
|
||||
n = mbsn_to_wcsn_with_cmgr (mbs, &mlen, wcs, &wlen, cmgr, all);
|
||||
n = mbsn_to_wcsn_with_cmgr(mbs, &mlen, wcs, &wlen, cmgr, all);
|
||||
if (wcs)
|
||||
{
|
||||
if (wlen < *wcslen) wcs[wlen] = QSE_WT('\0');
|
||||
@ -57,14 +57,14 @@ int qse_mbstowcswithcmgr (
|
||||
const qse_mchar_t* mbs, qse_size_t* mbslen,
|
||||
qse_wchar_t* wcs, qse_size_t* wcslen, qse_cmgr_t* cmgr)
|
||||
{
|
||||
return mbs_to_wcs_with_cmgr (mbs, mbslen, wcs, wcslen, cmgr, 0);
|
||||
return mbs_to_wcs_with_cmgr(mbs, mbslen, wcs, wcslen, cmgr, 0);
|
||||
}
|
||||
|
||||
int qse_mbstowcsallwithcmgr (
|
||||
const qse_mchar_t* mbs, qse_size_t* mbslen,
|
||||
qse_wchar_t* wcs, qse_size_t* wcslen, qse_cmgr_t* cmgr)
|
||||
{
|
||||
return mbs_to_wcs_with_cmgr (mbs, mbslen, wcs, wcslen, cmgr, 1);
|
||||
return mbs_to_wcs_with_cmgr(mbs, mbslen, wcs, wcslen, cmgr, 1);
|
||||
}
|
||||
|
||||
static int mbsn_to_wcsn_with_cmgr (
|
||||
@ -95,7 +95,7 @@ static int mbsn_to_wcsn_with_cmgr (
|
||||
break;
|
||||
}
|
||||
|
||||
n = cmgr->mbtowc (p, mlen, q);
|
||||
n = cmgr->mbtowc(p, mlen, q);
|
||||
if (n == 0)
|
||||
{
|
||||
/* invalid sequence */
|
||||
@ -183,14 +183,14 @@ int qse_mbsntowcsnwithcmgr (
|
||||
const qse_mchar_t* mbs, qse_size_t* mbslen,
|
||||
qse_wchar_t* wcs, qse_size_t* wcslen, qse_cmgr_t* cmgr)
|
||||
{
|
||||
return mbsn_to_wcsn_with_cmgr (mbs, mbslen, wcs, wcslen, cmgr, 0);
|
||||
return mbsn_to_wcsn_with_cmgr(mbs, mbslen, wcs, wcslen, cmgr, 0);
|
||||
}
|
||||
|
||||
int qse_mbsntowcsnallwithcmgr (
|
||||
const qse_mchar_t* mbs, qse_size_t* mbslen,
|
||||
qse_wchar_t* wcs, qse_size_t* wcslen, qse_cmgr_t* cmgr)
|
||||
{
|
||||
return mbsn_to_wcsn_with_cmgr (mbs, mbslen, wcs, wcslen, cmgr, 1);
|
||||
return mbsn_to_wcsn_with_cmgr(mbs, mbslen, wcs, wcslen, cmgr, 1);
|
||||
}
|
||||
|
||||
int qse_mbsntowcsnuptowithcmgr (
|
||||
@ -259,8 +259,7 @@ static qse_wchar_t* mbsn_to_wcs_dup_with_cmgr (
|
||||
qse_wchar_t* wcs;
|
||||
|
||||
ml = *mbslen;
|
||||
if (mbsn_to_wcsn_with_cmgr (
|
||||
mbs, &ml, QSE_NULL, &wl, cmgr, all) <= -1) return QSE_NULL;
|
||||
if (mbsn_to_wcsn_with_cmgr(mbs, &ml, QSE_NULL, &wl, cmgr, all) <= -1) return QSE_NULL;
|
||||
|
||||
wl++; /* for terminating null */
|
||||
wcs = QSE_MMGR_ALLOC (mmgr, wl * QSE_SIZEOF(*wcs));
|
||||
|
@ -50,7 +50,7 @@ static qse_cmgr_t builtin_cmgr[] =
|
||||
#endif
|
||||
};
|
||||
|
||||
#define DEFAULT_CMGR QSE_CMGR_SLMB
|
||||
#define DEFAULT_CMGR QSE_CMGR_UTF8
|
||||
|
||||
static qse_cmgr_t* dfl_cmgr = &builtin_cmgr[DEFAULT_CMGR];
|
||||
static qse_cmgr_finder_t cmgr_finder = QSE_NULL;
|
||||
|
@ -39,6 +39,7 @@
|
||||
#undef strxcajoinv
|
||||
#undef strcpy
|
||||
#undef strxcpy
|
||||
#undef strlen
|
||||
|
||||
#define char_t qse_mchar_t
|
||||
#define strjoin qse_mbsjoin
|
||||
@ -51,6 +52,7 @@
|
||||
#define strxcajoinv qse_mbsxcajoinv
|
||||
#define strcpy qse_mbscpy
|
||||
#define strxcpy qse_mbsxcpy
|
||||
#define strlen qse_mbslen
|
||||
#include "str-join.h"
|
||||
|
||||
/* ----------------------------------- */
|
||||
@ -66,6 +68,7 @@
|
||||
#undef strxcajoinv
|
||||
#undef strcpy
|
||||
#undef strxcpy
|
||||
#undef strlen
|
||||
|
||||
#define char_t qse_wchar_t
|
||||
#define strjoin qse_wcsjoin
|
||||
@ -78,4 +81,5 @@
|
||||
#define strxcajoinv qse_wcsxcajoinv
|
||||
#define strcpy qse_wcscpy
|
||||
#define strxcpy qse_wcsxcpy
|
||||
#define strlen qse_wcslen
|
||||
#include "str-join.h"
|
||||
|
@ -104,8 +104,8 @@ qse_size_t strxcajoinv (char_t* buf, qse_size_t size, va_list ap)
|
||||
|
||||
while (left > 0)
|
||||
{
|
||||
p = va_arg (ap, const char_t*);
|
||||
if (p == QSE_NULL) break;
|
||||
p = va_arg(ap, const char_t*);
|
||||
if (!p) break;
|
||||
|
||||
n = strxcpy(ptr, left, p);
|
||||
left -= n; ptr += n;
|
||||
|
@ -414,6 +414,12 @@
|
||||
# define QSE_ACCESS(path,mode) access(path,mode)
|
||||
#endif
|
||||
|
||||
#if defined(SYS_faccessat) && defined(QSE_USE_SYSCALL)
|
||||
# define QSE_FACCESSAT(dirfd,path,mode,flags) syscall(SYS_faccessat,dirfd,path,mode,flags)
|
||||
#elif defined(HAVE_FACCESSAT)
|
||||
# define QSE_FACCESSAT(dirfd,path,mode,flags) faccessat(dirfd,path,mode,flags)
|
||||
#endif
|
||||
|
||||
#if defined(SYS_rename) && defined(QSE_USE_SYSCALL)
|
||||
# define QSE_RENAME(oldpath,newpath) syscall(SYS_rename,oldpath,newpath)
|
||||
#else
|
||||
|
Reference in New Issue
Block a user