added qse_awk_rtx_pushrcb() and qse_awk_rtx_poprcb().

deleted qse_awk_rtx_setrcb() and qse_awk_rtx_getrcb().
added 'close' to qse_awk_rcb_t
added builtin functions 'setenc' and 'unsetenc' to awk/std.c
added qse_getcmgrbyname()
added builtin functions 'setenc' and 'unsetenc' to awk/StdAwk.cpp
This commit is contained in:
2012-01-17 16:45:01 +00:00
parent fa850168ee
commit b903f8ebb5
25 changed files with 527 additions and 153 deletions

View File

@ -21,6 +21,7 @@
#include "fs.h"
#include <qse/cmn/mbwc.h>
#include <qse/cmn/path.h>
#include <qse/cmn/str.h>
#include "mem.h"

View File

@ -250,7 +250,7 @@ static mancbs_t mancbs[] =
}
};
const mancbs_t* qse_htb_mancbs (mancbs_kind_t kind)
const mancbs_t* qse_gethtbmancbs (mancbs_kind_t kind)
{
return &mancbs[kind];
};

View File

@ -21,6 +21,7 @@
#include <qse/cmn/mbwc.h>
#include <qse/cmn/slmb.h>
#include <qse/cmn/utf8.h>
#include <qse/cmn/str.h>
/* TODO: there is no guarantee that slwc is a unicode charater or vice versa.
* the ctype handling functions should be made wide-character
@ -57,6 +58,19 @@ void qse_setdflcmgr (qse_cmgr_t* cmgr)
dfl_cmgr = (cmgr? cmgr: &builtin_cmgr[0]);
}
qse_cmgr_t* qse_getcmgrbyname (const qse_char_t* name)
{
if (name)
{
/* TODO: binary search */
if (qse_strcmp(name, QSE_T("")) == 0) return dfl_cmgr;
if (qse_strcmp(name, QSE_T("utf8")) == 0) return qse_utf8cmgr;
if (qse_strcmp(name, QSE_T("slmb")) == 0) return qse_slmbcmgr;
/* TODO: add more */
}
return QSE_NULL;
}
/* string conversion function using default character conversion manager */
int qse_mbstowcs (

View File

@ -192,7 +192,7 @@ static mancbs_t mancbs[] =
}
};
const mancbs_t* qse_rbt_mancbs (mancbs_kind_t kind)
const mancbs_t* qse_getrbtmancbs (mancbs_kind_t kind)
{
return &mancbs[kind];
};