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:
2019-03-14 08:01:04 +00:00
parent c794863aa6
commit 2ff8ee7c27
9 changed files with 241 additions and 106 deletions

View File

@ -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));

View File

@ -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;

View File

@ -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"

View File

@ -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;

View File

@ -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