renamed hawk_dflerrstr() to hawk_dfl_errstr().
removed the hawk_t* argument from hawk_dfl_errstr(). added the _cmd field to Hawk
This commit is contained in:
parent
b7fecc3172
commit
27e0b5f4f7
@ -1338,13 +1338,15 @@ Hawk::Hawk (Mmgr* mmgr):
|
||||
{
|
||||
HAWK_MEMSET (&errinf, 0, HAWK_SIZEOF(errinf));
|
||||
errinf.num = HAWK_ENOERR;
|
||||
|
||||
this->_cmgr = hawk_get_cmgr_by_id(HAWK_CMGR_UTF8);
|
||||
}
|
||||
|
||||
const hawk_ooch_t* Hawk::getErrorString (hawk_errnum_t num) const
|
||||
{
|
||||
HAWK_ASSERT (awk != HAWK_NULL);
|
||||
HAWK_ASSERT (this->dflerrstr != HAWK_NULL);
|
||||
return this->dflerrstr(this->hawk, num);
|
||||
return this->dflerrstr(num);
|
||||
}
|
||||
|
||||
const hawk_ooch_t* Hawk::xerrstr (hawk_t* a, hawk_errnum_t num)
|
||||
@ -1376,7 +1378,7 @@ const hawk_uch_t* Hawk::getErrorLocationFileU () const
|
||||
if (!this->errinf.loc.file) return HAWK_NULL;
|
||||
hawk_oow_t wcslen, mbslen;
|
||||
wcslen = HAWK_COUNTOF(this->xerrlocfile);
|
||||
hawk_conv_bcstr_to_ucstr_with_cmgr (this->errinf.loc.file, &mbslen, hawk->xerrlocfile, &wcslen, hawk_getcmgr(this->hawk), 1);
|
||||
hawk_conv_bcstr_to_ucstr_with_cmgr (this->errinf.loc.file, &mbslen, hawk->xerrlocfile, &wcslen, this->getCmgr(), 1);
|
||||
return hawk->xerrlocfile;
|
||||
#endif
|
||||
}
|
||||
@ -1387,7 +1389,7 @@ const hawk_bch_t* Hawk::getErrorLocationFileB () const
|
||||
if (!this->errinf.loc.file) return HAWK_NULL;
|
||||
hawk_oow_t wcslen, mbslen;
|
||||
mbslen = HAWK_COUNTOF(this->xerrlocfile);
|
||||
hawk_conv_ucstr_to_bcstr_with_cmgr (this->errinf.loc.file, &wcslen, this->xerrlocfile, &mbslen, hawk_getcmgr(this->hawk));
|
||||
hawk_conv_ucstr_to_bcstr_with_cmgr (this->errinf.loc.file, &wcslen, this->xerrlocfile, &mbslen, this->getCmgr());
|
||||
return this->xerrlocfile;
|
||||
#else
|
||||
return this->errinf.loc.file;
|
||||
@ -1406,7 +1408,7 @@ const hawk_uch_t* Hawk::getErrorMessageU () const
|
||||
#else
|
||||
hawk_oow_t wcslen, mbslen;
|
||||
wcslen = HAWK_COUNTOF(this->xerrmsg);
|
||||
hawk_conv_bcstr_to_ucstr_with_cmgr (this->errinf.msg, &mbslen, this->xerrmsg, &wcslen, hawk_getcmgr(this->hawk), 1);
|
||||
hawk_conv_bcstr_to_ucstr_with_cmgr (this->errinf.msg, &mbslen, this->xerrmsg, &wcslen, this->getCmgr(), 1);
|
||||
return this->xerrmsg;
|
||||
#endif
|
||||
}
|
||||
@ -1416,7 +1418,7 @@ const hawk_bch_t* Hawk::getErrorMessageB () const
|
||||
#if defined(HAWK_OOCH_IS_UCH)
|
||||
hawk_oow_t wcslen, mbslen;
|
||||
mbslen = HAWK_COUNTOF(this->xerrmsg);
|
||||
hawk_conv_ucstr_to_bcstr_with_cmgr (this->errinf.msg, &wcslen, this->xerrmsg, &mbslen, hawk_getcmgr(this->hawk));
|
||||
hawk_conv_ucstr_to_bcstr_with_cmgr (this->errinf.msg, &wcslen, this->xerrmsg, &mbslen, this->getCmgr());
|
||||
return this->xerrmsg;
|
||||
#else
|
||||
return this->errinf.msg;
|
||||
@ -1435,7 +1437,7 @@ void Hawk::setError (hawk_errnum_t code, const hawk_loc_t* loc)
|
||||
HAWK_MEMSET (&this->errinf, 0, HAWK_SIZEOF(this->errinf));
|
||||
this->errinf.num = code;
|
||||
if (loc != HAWK_NULL) this->errinf.loc = *loc;
|
||||
hawk_copy_oocstr (this->errinf.msg, HAWK_COUNTOF(this->errinf.msg), HAWK_T("not ready to set an error message"));
|
||||
hawk_copy_oocstr (this->errinf.msg, HAWK_COUNTOF(this->errinf.msg), hawk_dfl_errstr(code));
|
||||
}
|
||||
}
|
||||
|
||||
@ -1454,7 +1456,7 @@ void Hawk::formatError (hawk_errnum_t code, const hawk_loc_t* loc, const hawk_bc
|
||||
HAWK_MEMSET (&this->errinf, 0, HAWK_SIZEOF(this->errinf));
|
||||
this->errinf.num = code;
|
||||
if (loc != HAWK_NULL) this->errinf.loc = *loc;
|
||||
hawk_copy_oocstr (this->errinf.msg, HAWK_COUNTOF(this->errinf.msg), HAWK_T("not ready to set an error message"));
|
||||
hawk_copy_oocstr (this->errinf.msg, HAWK_COUNTOF(this->errinf.msg), hawk_dfl_errstr(code));
|
||||
}
|
||||
}
|
||||
|
||||
@ -1531,7 +1533,7 @@ int Hawk::open ()
|
||||
prm.modgetsym = Hawk::modgetsym;
|
||||
|
||||
hawk_errnum_t errnum;
|
||||
this->hawk = hawk_open(this->getMmgr(), HAWK_SIZEOF(xtn_t), hawk_get_cmgr_by_id(HAWK_CMGR_UTF8), &prm, &errnum);
|
||||
this->hawk = hawk_open(this->getMmgr(), HAWK_SIZEOF(xtn_t), this->getCmgr(), &prm, &errnum);
|
||||
if (!this->hawk)
|
||||
{
|
||||
this->setError (errnum);
|
||||
@ -1616,7 +1618,7 @@ void Hawk::close ()
|
||||
|
||||
hawk_cmgr_t* Hawk::getCmgr () const
|
||||
{
|
||||
if (!this->hawk) return HAWK_NULL;
|
||||
if (!this->hawk) return this->_cmgr;
|
||||
return hawk_getcmgr(this->hawk);
|
||||
}
|
||||
|
||||
|
@ -1741,7 +1741,7 @@ protected:
|
||||
static void* modgetsym (hawk_t* awk, void* handle, const hawk_ooch_t* name);
|
||||
|
||||
public:
|
||||
// use this with care
|
||||
// use these with care
|
||||
hawk_t* getHandle() const { return this->hawk; }
|
||||
|
||||
protected:
|
||||
@ -1797,6 +1797,7 @@ protected:
|
||||
xstrs_t runarg;
|
||||
|
||||
private:
|
||||
hawk_cmgr_t* _cmgr;
|
||||
Run runctx;
|
||||
|
||||
int init_runctx ();
|
||||
|
@ -125,7 +125,7 @@ public:
|
||||
const hawk_ooch_t* ptr;
|
||||
};
|
||||
|
||||
HawkStd (Mmgr* mmgr = HAWK_NULL): Hawk(mmgr), stdmod_up(false), console_cmgr(HAWK_NULL)
|
||||
HawkStd (Mmgr* mmgr = HAWK_NULL): Hawk(mmgr), cmgrtab_inited(false), stdmod_up(false), console_cmgr(HAWK_NULL)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -31,7 +31,7 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
const hawk_ooch_t* hawk_dflerrstr (hawk_t* awk, hawk_errnum_t errnum);
|
||||
const hawk_ooch_t* hawk_dfl_errstr (hawk_errnum_t errnum);
|
||||
|
||||
hawk_errnum_t hawk_syserr_to_errnum (hawk_intptr_t e);
|
||||
|
||||
|
@ -28,7 +28,7 @@
|
||||
|
||||
static hawk_loc_t _nullloc = { 0, 0, HAWK_NULL };
|
||||
|
||||
const hawk_ooch_t* hawk_dflerrstr (hawk_t* awk, hawk_errnum_t errnum)
|
||||
const hawk_ooch_t* hawk_dfl_errstr (hawk_errnum_t errnum)
|
||||
{
|
||||
static const hawk_ooch_t* errstr[] =
|
||||
{
|
||||
@ -199,12 +199,12 @@ const hawk_loc_t* hawk_geterrloc (hawk_t* hawk)
|
||||
const hawk_bch_t* hawk_geterrbmsg (hawk_t* hawk)
|
||||
{
|
||||
#if defined(HAWK_OOCH_IS_BCH)
|
||||
return (hawk->_gem.errmsg[0] == '\0')? hawk_geterrstr(hawk)(hawk, hawk->_gem.errnum): hawk->_gem.errmsg;
|
||||
return (hawk->_gem.errmsg[0] == '\0')? hawk_geterrstr(hawk)(hawk->_gem.errnum): hawk->_gem.errmsg;
|
||||
#else
|
||||
const hawk_ooch_t* msg;
|
||||
hawk_oow_t wcslen, mbslen;
|
||||
|
||||
msg = (hawk->_gem.errmsg[0] == '\0')? hawk_geterrstr(hawk)(hawk, hawk->_gem.errnum): hawk->_gem.errmsg;
|
||||
msg = (hawk->_gem.errmsg[0] == '\0')? hawk_geterrstr(hawk)(hawk->_gem.errnum): hawk->_gem.errmsg;
|
||||
|
||||
mbslen = HAWK_COUNTOF(hawk->xerrmsg);
|
||||
hawk_conv_ucstr_to_bcstr_with_cmgr (msg, &wcslen, hawk->xerrmsg, &mbslen, hawk_getcmgr(hawk));
|
||||
@ -219,14 +219,14 @@ const hawk_uch_t* hawk_geterrumsg (hawk_t* hawk)
|
||||
const hawk_ooch_t* msg;
|
||||
hawk_oow_t wcslen, mbslen;
|
||||
|
||||
msg = (hawk->_gem.errmsg[0] == '\0')? hawk_geterrstr(hawk)(hawk, hawk->_gem.errnum): hawk->_gem.errmsg;
|
||||
msg = (hawk->_gem.errmsg[0] == '\0')? hawk_geterrstr(hawk)(hawk->_gem.errnum): hawk->_gem.errmsg;
|
||||
|
||||
wcslen = HAWK_COUNTOF(hawk->xerrmsg);
|
||||
hawk_conv_bcstr_to_ucstr_with_cmgr (msg, &mbslen, hawk->xerrmsg, &wcslen, hawk_getcmgr(hawk), 1);
|
||||
|
||||
return hawk->xerrmsg;
|
||||
#else
|
||||
return (hawk->_gem.errmsg[0] == '\0')? hawk_geterrstr(hawk)(hawk, hawk->_gem.errnum): hawk->_gem.errmsg;
|
||||
return (hawk->_gem.errmsg[0] == '\0')? hawk_geterrstr(hawk)(hawk->_gem.errnum): hawk->_gem.errmsg;
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -234,13 +234,13 @@ void hawk_geterrinf (hawk_t* hawk, hawk_errinf_t* errinf)
|
||||
{
|
||||
errinf->num = hawk->_gem.errnum;
|
||||
errinf->loc = hawk->_gem.errloc;
|
||||
hawk_copy_oocstr (errinf->msg, HAWK_COUNTOF(errinf->msg), (hawk->_gem.errmsg[0] == '\0'? hawk_geterrstr(hawk)(hawk, hawk->_gem.errnum): hawk->_gem.errmsg));
|
||||
hawk_copy_oocstr (errinf->msg, HAWK_COUNTOF(errinf->msg), (hawk->_gem.errmsg[0] == '\0'? hawk_geterrstr(hawk)(hawk->_gem.errnum): hawk->_gem.errmsg));
|
||||
}
|
||||
|
||||
void hawk_geterror (hawk_t* hawk, hawk_errnum_t* errnum, const hawk_ooch_t** errmsg, hawk_loc_t* errloc)
|
||||
{
|
||||
if (errnum) *errnum = hawk->_gem.errnum;
|
||||
if (errmsg) *errmsg = (hawk->_gem.errmsg[0] == '\0')? hawk_geterrstr(hawk)(hawk, hawk->_gem.errnum): hawk->_gem.errmsg;
|
||||
if (errmsg) *errmsg = (hawk->_gem.errmsg[0] == '\0')? hawk_geterrstr(hawk)(hawk->_gem.errnum): hawk->_gem.errmsg;
|
||||
if (errloc) *errloc = hawk->_gem.errloc;
|
||||
}
|
||||
|
||||
@ -398,12 +398,12 @@ const hawk_loc_t* hawk_rtx_geterrloc (hawk_rtx_t* rtx)
|
||||
const hawk_bch_t* hawk_rtx_geterrbmsg (hawk_rtx_t* rtx)
|
||||
{
|
||||
#if defined(HAWK_OOCH_IS_BCH)
|
||||
return (rtx->_gem.errmsg[0] == '\0')? hawk_geterrstr(hawk_rtx_gethawk(rtx))(hawk_rtx_gethawk(rtx), rtx->_gem.errnum): rtx->_gem.errmsg;
|
||||
return (rtx->_gem.errmsg[0] == '\0')? hawk_geterrstr(hawk_rtx_gethawk(rtx))(rtx->_gem.errnum): rtx->_gem.errmsg;
|
||||
#else
|
||||
const hawk_ooch_t* msg;
|
||||
hawk_oow_t wcslen, mbslen;
|
||||
|
||||
msg = (rtx->_gem.errmsg[0] == '\0')? hawk_geterrstr(hawk_rtx_gethawk(rtx))(hawk_rtx_gethawk(rtx), rtx->_gem.errnum): rtx->_gem.errmsg;
|
||||
msg = (rtx->_gem.errmsg[0] == '\0')? hawk_geterrstr(hawk_rtx_gethawk(rtx))(rtx->_gem.errnum): rtx->_gem.errmsg;
|
||||
|
||||
mbslen = HAWK_COUNTOF(rtx->xerrmsg);
|
||||
hawk_conv_ucstr_to_bcstr_with_cmgr (msg, &wcslen, rtx->xerrmsg, &mbslen, hawk_rtx_getcmgr(rtx));
|
||||
@ -418,14 +418,14 @@ const hawk_uch_t* hawk_rtx_geterrumsg (hawk_rtx_t* rtx)
|
||||
const hawk_ooch_t* msg;
|
||||
hawk_oow_t wcslen, mbslen;
|
||||
|
||||
msg = (rtx->_gem.errmsg[0] == '\0')? hawk_geterrstr(hawk_rtx_gethawk(rtx))(hawk_rtx_gethawk(rtx), rtx->_gem.errnum): rtx->_gem.errmsg;
|
||||
msg = (rtx->_gem.errmsg[0] == '\0')? hawk_geterrstr(hawk_rtx_gethawk(rtx))(rtx->_gem.errnum): rtx->_gem.errmsg;
|
||||
|
||||
wcslen = HAWK_COUNTOF(rtx->xerrmsg);
|
||||
hawk_conv_bcstr_to_ucstr_with_cmgr (msg, &mbslen, rtx->xerrmsg, &wcslen, hawk_rtx_getcmgr(rtx), 1);
|
||||
|
||||
return rtx->xerrmsg;
|
||||
#else
|
||||
return (rtx->_gem.errmsg[0] == '\0')? hawk_geterrstr(hawk_rtx_gethawk(rtx))(hawk_rtx_gethawk(rtx), rtx->_gem.errnum): rtx->_gem.errmsg;
|
||||
return (rtx->_gem.errmsg[0] == '\0')? hawk_geterrstr(hawk_rtx_gethawk(rtx))(rtx->_gem.errnum): rtx->_gem.errmsg;
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -433,13 +433,13 @@ void hawk_rtx_geterrinf (hawk_rtx_t* rtx, hawk_errinf_t* errinf)
|
||||
{
|
||||
errinf->num = rtx->_gem.errnum;
|
||||
errinf->loc = rtx->_gem.errloc;
|
||||
hawk_copy_oocstr (errinf->msg, HAWK_COUNTOF(errinf->msg), (rtx->_gem.errmsg[0] == '\0'? hawk_geterrstr(hawk_rtx_gethawk(rtx))(hawk_rtx_gethawk(rtx), rtx->_gem.errnum): rtx->_gem.errmsg));
|
||||
hawk_copy_oocstr (errinf->msg, HAWK_COUNTOF(errinf->msg), (rtx->_gem.errmsg[0] == '\0'? hawk_geterrstr(hawk_rtx_gethawk(rtx))(rtx->_gem.errnum): rtx->_gem.errmsg));
|
||||
}
|
||||
|
||||
void hawk_rtx_geterror (hawk_rtx_t* rtx, hawk_errnum_t* errnum, const hawk_ooch_t** errmsg, hawk_loc_t* errloc)
|
||||
{
|
||||
if (errnum) *errnum = rtx->_gem.errnum;
|
||||
if (errmsg) *errmsg = (rtx->_gem.errmsg[0] == '\0')? hawk_geterrstr(hawk_rtx_gethawk(rtx))(hawk_rtx_gethawk(rtx), rtx->_gem.errnum): rtx->_gem.errmsg;
|
||||
if (errmsg) *errmsg = (rtx->_gem.errmsg[0] == '\0')? hawk_geterrstr(hawk_rtx_gethawk(rtx))(rtx->_gem.errnum): rtx->_gem.errmsg;
|
||||
if (errloc) *errloc = rtx->_gem.errloc;
|
||||
}
|
||||
|
||||
|
@ -154,7 +154,7 @@ int hawk_init (hawk_t* awk, hawk_mmgr_t* mmgr, hawk_cmgr_t* cmgr, const hawk_prm
|
||||
awk->_gem.errloc.line = 0;
|
||||
awk->_gem.errloc.colm = 0;
|
||||
awk->_gem.errloc.file = HAWK_NULL;
|
||||
awk->errstr = hawk_dflerrstr;
|
||||
awk->errstr = hawk_dfl_errstr;
|
||||
awk->haltall = 0;
|
||||
|
||||
/* progagate the primitive functions */
|
||||
|
@ -1278,7 +1278,6 @@ typedef struct hawk_errinf_t hawk_errinf_t;
|
||||
* object with the hawk_seterrstr() function to customize an error string.
|
||||
*/
|
||||
typedef const hawk_ooch_t* (*hawk_errstr_t) (
|
||||
hawk_t* awk, /**< awk */
|
||||
hawk_errnum_t num /**< error number */
|
||||
);
|
||||
|
||||
|
@ -158,7 +158,7 @@ static hawk_int_t set_error_on_sys_list (hawk_rtx_t* rtx, sys_list_t* sys_list,
|
||||
}
|
||||
else
|
||||
{
|
||||
hawk_rtx_fmttooocstr (rtx, sys_list->ctx.errmsg, HAWK_COUNTOF(sys_list->ctx.errmsg), HAWK_T("%js"), hawk_geterrstr(hawk_rtx_gethawk(rtx))(hawk_rtx_gethawk(rtx), errnum));
|
||||
hawk_rtx_fmttooocstr (rtx, sys_list->ctx.errmsg, HAWK_COUNTOF(sys_list->ctx.errmsg), HAWK_T("%js"), hawk_geterrstr(hawk_rtx_gethawk(rtx))(errnum));
|
||||
}
|
||||
return ERRNUM_TO_RC(errnum);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user