enhanced win32 utf8 console hack in sio

This commit is contained in:
2012-02-25 14:52:26 +00:00
parent b0bcf53b6f
commit ada60acf67
30 changed files with 296 additions and 233 deletions

View File

@ -239,7 +239,7 @@ const Sed::char_t* Sed::getErrorString (errnum_t num) const
return dflerrstr (sed, num);
}
const Sed::char_t* Sed::xerrstr (sed_t* s, errnum_t num)
const Sed::char_t* Sed::xerrstr (const sed_t* s, errnum_t num)
{
Sed* sed = *(Sed**)QSE_XTN(s);
try

View File

@ -65,7 +65,7 @@ const qse_char_t* qse_sed_dflerrstr (qse_sed_t* sed, qse_sed_errnum_t errnum)
errstr[errnum]: QSE_T("unknown error");
}
qse_sed_errstr_t qse_sed_geterrstr (qse_sed_t* sed)
qse_sed_errstr_t qse_sed_geterrstr (const qse_sed_t* sed)
{
return sed->errstr;
}
@ -75,24 +75,24 @@ void qse_sed_seterrstr (qse_sed_t* sed, qse_sed_errstr_t errstr)
sed->errstr = errstr;
}
qse_sed_errnum_t qse_sed_geterrnum (qse_sed_t* sed)
qse_sed_errnum_t qse_sed_geterrnum (const qse_sed_t* sed)
{
return sed->errnum;
}
const qse_sed_loc_t* qse_sed_geterrloc (qse_sed_t* sed)
const qse_sed_loc_t* qse_sed_geterrloc (const qse_sed_t* sed)
{
return &sed->errloc;
}
const qse_char_t* qse_sed_geterrmsg (qse_sed_t* sed)
const qse_char_t* qse_sed_geterrmsg (const qse_sed_t* sed)
{
return (sed->errmsg[0] == QSE_T('\0'))?
qse_sed_geterrstr(sed)(sed,sed->errnum): sed->errmsg;
}
void qse_sed_geterror (
qse_sed_t* sed, qse_sed_errnum_t* errnum,
const qse_sed_t* sed, qse_sed_errnum_t* errnum,
const qse_char_t** errmsg, qse_sed_loc_t* errloc)
{
if (errnum != QSE_NULL) *errnum = sed->errnum;

View File

@ -137,13 +137,13 @@ void qse_sed_setoption (qse_sed_t* sed, int option)
sed->option = option;
}
int qse_sed_getoption (qse_sed_t* sed)
int qse_sed_getoption (const qse_sed_t* sed)
{
return sed->option;
}
#if defined(USE_REX)
qse_size_t qse_sed_getmaxdepth (qse_sed_t* sed, qse_sed_depth_t id)
qse_size_t qse_sed_getmaxdepth (const qse_sed_t* sed, qse_sed_depth_t id)
{
return (id & QSE_SED_DEPTH_REX_BUILD)? sed->depth.rex.build:
(id & QSE_SED_DEPTH_REX_MATCH)? sed->depth.rex.match: 0;

View File

@ -243,8 +243,8 @@ const qse_char_t* qse_sed_dflerrstr (
* The qse_sed_getmaxdepth() gets the maximum processing depth.
*/
qse_size_t qse_sed_getmaxdepth (
qse_sed_t* sed, /**< stream editor */
qse_sed_depth_t id /**< one of qse_sed_depth_t values */
const qse_sed_t* sed, /**< stream editor */
qse_sed_depth_t id /**< one of qse_sed_depth_t values */
);
/**

View File

@ -208,6 +208,10 @@ static void close_main_stream (
* i close this in qse_awk_execstd()
*/
break;
default:
/* do nothing */
break;
}
}
@ -827,7 +831,7 @@ int qse_sed_compstdstr (qse_sed_t* sed, const qse_char_t* script)
qse_sed_iostd_t in[2];
in[0].type = QSE_SED_IOSTD_STR;
in[0].u.str.ptr = script;
in[0].u.str.ptr = (qse_char_t*)script;
in[0].u.str.len = qse_strlen(script);
in[1].type = QSE_SED_IOSTD_NULL;