enhanced win32 utf8 console hack in sio
This commit is contained in:
@ -979,7 +979,7 @@ const Awk::char_t* Awk::getErrorString (errnum_t num) const
|
||||
return dflerrstr (awk, num);
|
||||
}
|
||||
|
||||
const Awk::char_t* Awk::xerrstr (awk_t* a, errnum_t num)
|
||||
const Awk::char_t* Awk::xerrstr (const awk_t* a, errnum_t num)
|
||||
{
|
||||
Awk* awk = *(Awk**)QSE_XTN(a);
|
||||
return awk->getErrorString (num);
|
||||
|
@ -376,7 +376,7 @@ qse_awk_prm_t* qse_awk_getprm (qse_awk_t* awk)
|
||||
return &awk->prm;
|
||||
}
|
||||
|
||||
int qse_awk_getoption (qse_awk_t* awk)
|
||||
int qse_awk_getoption (const qse_awk_t* awk)
|
||||
{
|
||||
return awk->option;
|
||||
}
|
||||
@ -391,7 +391,7 @@ void qse_awk_stopall (qse_awk_t* awk)
|
||||
awk->stopall = QSE_TRUE;
|
||||
}
|
||||
|
||||
qse_size_t qse_awk_getmaxdepth (qse_awk_t* awk, qse_awk_depth_t type)
|
||||
qse_size_t qse_awk_getmaxdepth (const qse_awk_t* awk, qse_awk_depth_t type)
|
||||
{
|
||||
return (type == QSE_AWK_DEPTH_BLOCK_PARSE)? awk->parse.depth.max.block:
|
||||
(type == QSE_AWK_DEPTH_BLOCK_RUN)? awk->run.depth.max.block:
|
||||
|
@ -154,7 +154,7 @@ const qse_char_t* qse_awk_dflerrstr (qse_awk_t* awk, qse_awk_errnum_t errnum)
|
||||
errstr[errnum]: QSE_T("unknown error");
|
||||
}
|
||||
|
||||
qse_awk_errstr_t qse_awk_geterrstr (qse_awk_t* awk)
|
||||
qse_awk_errstr_t qse_awk_geterrstr (const qse_awk_t* awk)
|
||||
{
|
||||
return awk->errstr;
|
||||
}
|
||||
@ -164,23 +164,23 @@ void qse_awk_seterrstr (qse_awk_t* awk, qse_awk_errstr_t errstr)
|
||||
awk->errstr = errstr;
|
||||
}
|
||||
|
||||
qse_awk_errnum_t qse_awk_geterrnum (qse_awk_t* awk)
|
||||
qse_awk_errnum_t qse_awk_geterrnum (const qse_awk_t* awk)
|
||||
{
|
||||
return awk->errinf.num;
|
||||
}
|
||||
|
||||
const qse_awk_loc_t* qse_awk_geterrloc (qse_awk_t* awk)
|
||||
const qse_awk_loc_t* qse_awk_geterrloc (const qse_awk_t* awk)
|
||||
{
|
||||
return &awk->errinf.loc;
|
||||
}
|
||||
|
||||
const qse_char_t* qse_awk_geterrmsg (qse_awk_t* awk)
|
||||
const qse_char_t* qse_awk_geterrmsg (const qse_awk_t* awk)
|
||||
{
|
||||
return (awk->errinf.msg[0] == QSE_T('\0'))?
|
||||
qse_awk_geterrstr(awk)(awk,awk->errinf.num): awk->errinf.msg;
|
||||
}
|
||||
|
||||
void qse_awk_geterrinf (qse_awk_t* awk, qse_awk_errinf_t* errinf)
|
||||
void qse_awk_geterrinf (const qse_awk_t* awk, qse_awk_errinf_t* errinf)
|
||||
{
|
||||
QSE_MEMCPY (errinf, &awk->errinf, QSE_SIZEOF(*errinf));
|
||||
if (errinf->msg[0] == QSE_T('\0'))
|
||||
@ -191,7 +191,7 @@ void qse_awk_geterrinf (qse_awk_t* awk, qse_awk_errinf_t* errinf)
|
||||
}
|
||||
|
||||
void qse_awk_geterror (
|
||||
qse_awk_t* awk, qse_awk_errnum_t* errnum,
|
||||
const qse_awk_t* awk, qse_awk_errnum_t* errnum,
|
||||
const qse_char_t** errmsg, qse_awk_loc_t* errloc)
|
||||
{
|
||||
if (errnum != QSE_NULL) *errnum = awk->errinf.num;
|
||||
@ -234,23 +234,23 @@ void qse_awk_seterror (
|
||||
if (errloc != QSE_NULL) awk->errinf.loc = *errloc;
|
||||
}
|
||||
|
||||
qse_awk_errnum_t qse_awk_rtx_geterrnum (qse_awk_rtx_t* rtx)
|
||||
qse_awk_errnum_t qse_awk_rtx_geterrnum (const qse_awk_rtx_t* rtx)
|
||||
{
|
||||
return rtx->errinf.num;
|
||||
}
|
||||
|
||||
const qse_awk_loc_t* qse_awk_rtx_geterrloc (qse_awk_rtx_t* rtx)
|
||||
const qse_awk_loc_t* qse_awk_rtx_geterrloc (const qse_awk_rtx_t* rtx)
|
||||
{
|
||||
return &rtx->errinf.loc;
|
||||
}
|
||||
|
||||
const qse_char_t* qse_awk_rtx_geterrmsg (qse_awk_rtx_t* rtx)
|
||||
const qse_char_t* qse_awk_rtx_geterrmsg (const qse_awk_rtx_t* rtx)
|
||||
{
|
||||
return (rtx->errinf.msg[0] == QSE_T('\0')) ?
|
||||
qse_awk_geterrstr(rtx->awk)(rtx->awk,rtx->errinf.num): rtx->errinf.msg;
|
||||
}
|
||||
|
||||
void qse_awk_rtx_geterrinf (qse_awk_rtx_t* rtx, qse_awk_errinf_t* errinf)
|
||||
void qse_awk_rtx_geterrinf (const qse_awk_rtx_t* rtx, qse_awk_errinf_t* errinf)
|
||||
{
|
||||
QSE_MEMCPY (errinf, &rtx->errinf, QSE_SIZEOF(*errinf));
|
||||
if (errinf->msg[0] == QSE_T('\0'))
|
||||
@ -261,7 +261,7 @@ void qse_awk_rtx_geterrinf (qse_awk_rtx_t* rtx, qse_awk_errinf_t* errinf)
|
||||
}
|
||||
|
||||
void qse_awk_rtx_geterror (
|
||||
qse_awk_rtx_t* rtx, qse_awk_errnum_t* errnum,
|
||||
const qse_awk_rtx_t* rtx, qse_awk_errnum_t* errnum,
|
||||
const qse_char_t** errmsg, qse_awk_loc_t* errloc)
|
||||
{
|
||||
if (errnum != QSE_NULL) *errnum = rtx->errinf.num;
|
||||
|
@ -449,11 +449,13 @@ static qse_ssize_t sf_in_open (
|
||||
xtn->s.in.u.str.ptr = xtn->s.in.x->u.str.ptr;
|
||||
xtn->s.in.u.str.end = xtn->s.in.x->u.str.ptr + xtn->s.in.x->u.str.len;
|
||||
return 1;
|
||||
|
||||
default:
|
||||
/* this should never happen */
|
||||
qse_awk_seterrnum (awk, QSE_AWK_EINTERN, QSE_NULL);
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* this should never happen */
|
||||
qse_awk_seterrnum (awk, QSE_AWK_EINTERN, QSE_NULL);
|
||||
return -1;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -522,6 +524,10 @@ static qse_ssize_t sf_in_close (
|
||||
case QSE_AWK_PARSESTD_STR:
|
||||
/* nothing to close */
|
||||
break;
|
||||
|
||||
default:
|
||||
/* nothing to close */
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -574,10 +580,13 @@ static qse_ssize_t sf_in_read (
|
||||
}
|
||||
return n;
|
||||
}
|
||||
|
||||
default:
|
||||
/* this should never happen */
|
||||
qse_awk_seterrnum (awk, QSE_AWK_EINTERN, QSE_NULL);
|
||||
return -1;
|
||||
}
|
||||
|
||||
qse_awk_seterrnum (awk, QSE_AWK_EINTERN, QSE_NULL);
|
||||
return -1;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -613,10 +622,10 @@ static qse_ssize_t sf_in (
|
||||
case QSE_AWK_SIO_READ:
|
||||
return sf_in_read (awk, arg, data, size, xtn);
|
||||
|
||||
default:
|
||||
qse_awk_seterrnum (awk, QSE_AWK_EINTERN, QSE_NULL);
|
||||
return -1;
|
||||
}
|
||||
|
||||
qse_awk_seterrnum (awk, QSE_AWK_EINTERN, QSE_NULL);
|
||||
return -1;
|
||||
}
|
||||
|
||||
static qse_ssize_t sf_out (
|
||||
|
Reference in New Issue
Block a user