From 988dc83bf4cc5f81ad62be922833bee2b0915dc9 Mon Sep 17 00:00:00 2001 From: hyung-hwan Date: Tue, 31 Dec 2019 15:52:28 +0000 Subject: [PATCH] changed hawk_rtx_seterrnum() to be consistent with hawk_gem_seterrnum() --- hawk/lib/err.c | 5 --- hawk/lib/fnc.c | 6 ++-- hawk/lib/hawk-gem.h | 31 ++++++++++++++++ hawk/lib/hawk-prv.h | 29 --------------- hawk/lib/hawk.h | 14 +++----- hawk/lib/misc.c | 7 ++-- hawk/lib/parse.c | 3 +- hawk/lib/rec.c | 40 ++++----------------- hawk/lib/rio.c | 77 +++++++++++++++++++-------------------- hawk/lib/run.c | 4 +-- hawk/lib/std.c | 26 +++++--------- hawk/lib/val.c | 88 +++++++++++++-------------------------------- 12 files changed, 125 insertions(+), 205 deletions(-) diff --git a/hawk/lib/err.c b/hawk/lib/err.c index 90274e39..5dbe3018 100644 --- a/hawk/lib/err.c +++ b/hawk/lib/err.c @@ -437,11 +437,6 @@ const hawk_ooch_t* hawk_rtx_backuperrmsg (hawk_rtx_t* rtx) return rtx->errmsg_backup; } -void hawk_rtx_seterrnum (hawk_rtx_t* rtx, hawk_errnum_t errnum, const hawk_oocs_t* errarg) -{ - hawk_rtx_seterror (rtx, errnum, errarg, HAWK_NULL); -} - void hawk_rtx_seterrinf (hawk_rtx_t* rtx, const hawk_errinf_t* errinf) { rtx->_gem.errnum = errinf->num; diff --git a/hawk/lib/fnc.c b/hawk/lib/fnc.c index bf383379..26d5893b 100644 --- a/hawk/lib/fnc.c +++ b/hawk/lib/fnc.c @@ -889,6 +889,7 @@ int hawk_fnc_split (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi) { int x; +// TODO: hawk_rtx_buildrex if (rtx->gbl.ignorecase) x = hawk_buildrex(hawk_rtx_gethawk(rtx), fs.ptr, fs.len, &errnum, HAWK_NULL, &fs_rex); else @@ -896,7 +897,7 @@ int hawk_fnc_split (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi) if (x <= -1) { - hawk_rtx_seterrnum (rtx, errnum, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, errnum); goto oops; } @@ -1143,6 +1144,7 @@ static int __substitute (hawk_rtx_t* rtx, hawk_int_t max_count) hawk_errnum_t errnum; int x; +// TODO: hawk_rtx_buildrex... if (rtx->gbl.ignorecase) x = hawk_buildrex(hawk_rtx_gethawk(rtx), s0.ptr, s0.len, &errnum, HAWK_NULL, &rex); else @@ -1150,7 +1152,7 @@ static int __substitute (hawk_rtx_t* rtx, hawk_int_t max_count) if (x <= -1) { - hawk_rtx_seterrnum (rtx, errnum, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, errnum); goto oops; } diff --git a/hawk/lib/hawk-gem.h b/hawk/lib/hawk-gem.h index 69778fcf..32ae256c 100644 --- a/hawk/lib/hawk-gem.h +++ b/hawk/lib/hawk-gem.h @@ -416,6 +416,37 @@ HAWK_EXPORT int hawk_gem_getifcfg ( hawk_ifcfg_t* cfg ); +/* ----------------------------------------------------------------------- */ + +#if defined(HAWK_HAVE_INLINE) +static HAWK_INLINE hawk_errnum_t hawk_gem_geterrnum (hawk_gem_t* gem) { return gem->errnum; } +#else +#define hawk_gem_geterrnum(gem) (((hawk_gem_t*)(gem))->errnum) +#endif + +HAWK_EXPORT void hawk_gem_seterrnum ( + hawk_gem_t* gem, + const hawk_loc_t* errloc, + hawk_errnum_t errnum +); + +HAWK_EXPORT void hawk_gem_seterrbfmt ( + hawk_gem_t* gem, + const hawk_loc_t* errloc, + hawk_errnum_t errnum, + const hawk_bch_t* errfmt, + ... +); + +HAWK_EXPORT void hawk_gem_seterrufmt ( + hawk_gem_t* gem, + const hawk_loc_t* errloc, + hawk_errnum_t errnum, + const hawk_uch_t* errfmt, + ... +); + + #if defined(__cplusplus) } #endif diff --git a/hawk/lib/hawk-prv.h b/hawk/lib/hawk-prv.h index 01cec8a6..3c7a8334 100644 --- a/hawk/lib/hawk-prv.h +++ b/hawk/lib/hawk-prv.h @@ -498,35 +498,6 @@ extern "C" { int hawk_init (hawk_t* awk, hawk_mmgr_t* mmgr, hawk_cmgr_t* cmgr, const hawk_prm_t* prm); void hawk_fini (hawk_t* awk); - -/* TODO: should i make these public? */ - -#if defined(HAWK_HAVE_INLINE) -static HAWK_INLINE hawk_errnum_t hawk_gem_geterrnum (hawk_gem_t* gem) { return gem->errnum; } -#else -#define hawk_gem_geterrnum(gem) (((hawk_gem_t*)(gem))->errnum) -#endif - -void hawk_gem_seterrnum (hawk_gem_t* gem, const hawk_loc_t* errloc, hawk_errnum_t errnum); - -void hawk_gem_seterrbfmt ( - hawk_gem_t* gem, - const hawk_loc_t* errloc, - hawk_errnum_t errnum, - const hawk_bch_t* errfmt, - ... -); - -void hawk_gem_seterrufmt ( - hawk_gem_t* gem, - const hawk_loc_t* errloc, - hawk_errnum_t errnum, - const hawk_uch_t* errfmt, - ... -); - - - #if defined(__cplusplus) } #endif diff --git a/hawk/lib/hawk.h b/hawk/lib/hawk.h index 7683dfd5..55c675ca 100644 --- a/hawk/lib/hawk.h +++ b/hawk/lib/hawk.h @@ -2428,15 +2428,11 @@ HAWK_EXPORT void hawk_rtx_geterror ( hawk_loc_t* errloc /**< error location */ ); -/** - * The hawk_rtx_seterrnum() function sets the error information omitting - * the error location. - */ -HAWK_EXPORT void hawk_rtx_seterrnum ( - hawk_rtx_t* rtx, /**< runtime context */ - hawk_errnum_t errnum, /**< error number */ - const hawk_oocs_t* errarg /**< arguments to format error message */ -); +#if defined(HAWK_HAVE_INLINE) +static HAWK_INLINE void hawk_rtx_seterrnum (hawk_rtx_t* rtx, hawk_loc_t* errloc, hawk_errnum_t errnum) { hawk_gem_seterrnum (hawk_rtx_getgem(rtx), errloc, errnum); } +#else +#define hawk_rtx_seterrnum(rtx, errloc, errnum) hawk_gem_seterrnum(hawk_rtx_getgem(rtx), errloc, errnum) +#endif /** * The hawk_rtx_seterrinf() function sets error information. diff --git a/hawk/lib/misc.c b/hawk/lib/misc.c index 37b03e8f..e4631d38 100644 --- a/hawk/lib/misc.c +++ b/hawk/lib/misc.c @@ -267,7 +267,7 @@ hawk_ooch_t* hawk_rtx_strxntokbyrex ( if (n == 0) { /* no match has been found. return the entire string as a token */ - hawk_rtx_seterrnum (rtx, HAWK_ENOERR, HAWK_NULL); /* reset HAWK_EREXNOMAT to no error */ + hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_ENOERR); /* reset HAWK_EREXNOMAT to no error */ tok->ptr = realsub.ptr; tok->len = realsub.len; return HAWK_NULL; @@ -307,7 +307,7 @@ hawk_ooch_t* hawk_rtx_strxntokbyrex ( } exit_loop: - hawk_rtx_seterrnum (rtx, HAWK_ENOERR, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_ENOERR); if (cursub.len <= 0) { @@ -548,12 +548,13 @@ int hawk_rtx_matchval (hawk_rtx_t* rtx, hawk_val_t* val, const hawk_oocs_t* str, tmp.ptr = hawk_rtx_getvaloocstr(rtx, val, &tmp.len); if (tmp.ptr == HAWK_NULL) return -1; +// TODO: create hawk_rtx_buildrex.... x = ignorecase? hawk_buildrex(rtx->awk, tmp.ptr, tmp.len, &awkerr, HAWK_NULL, &code): hawk_buildrex(rtx->awk, tmp.ptr, tmp.len, &awkerr, &code, HAWK_NULL); hawk_rtx_freevaloocstr (rtx, val, tmp.ptr); if (x <= -1) { - hawk_rtx_seterrnum (rtx, awkerr, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, awkerr); return -1; } } diff --git a/hawk/lib/parse.c b/hawk/lib/parse.c index 0683c1d5..2df2e178 100644 --- a/hawk/lib/parse.c +++ b/hawk/lib/parse.c @@ -414,8 +414,7 @@ static global_t gtab[] = #define ISNOERR(awk) ((awk)->_gem.errnum == HAWK_ENOERR) -#define CLRERR(awk) \ - hawk_seterror (awk, HAWK_ENOERR, HAWK_NULL, HAWK_NULL) +#define CLRERR(awk) hawk_seterror (awk, HAWK_ENOERR, HAWK_NULL, HAWK_NULL) #define SETERR_TOK(awk,code) \ hawk_seterror (awk, code, HAWK_OOECS_OOCS((awk)->tok.name), &(awk)->tok.loc) diff --git a/hawk/lib/rec.c b/hawk/lib/rec.c index a9e7443c..ca4f8a3b 100644 --- a/hawk/lib/rec.c +++ b/hawk/lib/rec.c @@ -47,7 +47,6 @@ int hawk_rtx_setrec (hawk_rtx_t* rtx, hawk_oow_t idx, const hawk_oocs_t* str) if (hawk_ooecs_ncpy(&rtx->inrec.line, str->ptr, str->len) == (hawk_oow_t)-1) { hawk_rtx_clrrec (rtx, 0); - hawk_rtx_seterrnum (rtx, HAWK_ENOMEM, HAWK_NULL); return -1; } } @@ -136,14 +135,9 @@ static int split_record (hawk_rtx_t* rtx) /* scan the input record to count the fields */ if (fs_len == 5 && fs_ptr[0] == HAWK_T('?')) { - if (hawk_ooecs_ncpy ( - &rtx->inrec.linew, - HAWK_OOECS_PTR(&rtx->inrec.line), - HAWK_OOECS_LEN(&rtx->inrec.line)) == (hawk_oow_t)-1) + if (hawk_ooecs_ncpy(&rtx->inrec.linew, HAWK_OOECS_PTR(&rtx->inrec.line), HAWK_OOECS_LEN(&rtx->inrec.line)) == (hawk_oow_t)-1) { - if (fs_free != HAWK_NULL) - hawk_rtx_freemem (rtx, fs_free); - hawk_rtx_seterrnum (rtx, HAWK_ENOMEM, HAWK_NULL); + if (fs_free) hawk_rtx_freemem (rtx, fs_free); return -1; } @@ -219,13 +213,9 @@ static int split_record (hawk_rtx_t* rtx) /* scan again and split it */ if (how == 1) { - if (hawk_ooecs_ncpy ( - &rtx->inrec.linew, - HAWK_OOECS_PTR(&rtx->inrec.line), - HAWK_OOECS_LEN(&rtx->inrec.line)) == (hawk_oow_t)-1) + if (hawk_ooecs_ncpy(&rtx->inrec.linew, HAWK_OOECS_PTR(&rtx->inrec.line), HAWK_OOECS_LEN(&rtx->inrec.line)) == (hawk_oow_t)-1) { if (fs_free) hawk_rtx_freemem (rtx, fs_free); - hawk_rtx_seterrnum (rtx, HAWK_ENOMEM, HAWK_NULL); return -1; } px = HAWK_OOECS_PTR(&rtx->inrec.linew): @@ -411,11 +401,7 @@ static int recomp_record_fields (hawk_rtx_t* rtx, hawk_oow_t lv, const hawk_oocs { if (i > 0) { - if (hawk_ooecs_ncat(&rtx->inrec.line, rtx->gbl.ofs.ptr, rtx->gbl.ofs.len) == (hawk_oow_t)-1) - { - hawk_rtx_seterrnum (rtx, HAWK_ENOMEM, HAWK_NULL); - return -1; - } + if (hawk_ooecs_ncat(&rtx->inrec.line, rtx->gbl.ofs.ptr, rtx->gbl.ofs.len) == (hawk_oow_t)-1) return -1; } if (i == lv) @@ -425,11 +411,7 @@ static int recomp_record_fields (hawk_rtx_t* rtx, hawk_oow_t lv, const hawk_oocs rtx->inrec.flds[i].ptr = HAWK_OOECS_PTR(&rtx->inrec.line) + HAWK_OOECS_LEN(&rtx->inrec.line); rtx->inrec.flds[i].len = str->len; - if (hawk_ooecs_ncat(&rtx->inrec.line, str->ptr, str->len) == (hawk_oow_t)-1) - { - hawk_rtx_seterrnum (rtx, HAWK_ENOMEM, HAWK_NULL); - return -1; - } + if (hawk_ooecs_ncat(&rtx->inrec.line, str->ptr, str->len) == (hawk_oow_t)-1) return -1; tmp = hawk_rtx_makestrvalwithoocs (rtx, str); if (tmp == HAWK_NULL) return -1; @@ -446,11 +428,7 @@ static int recomp_record_fields (hawk_rtx_t* rtx, hawk_oow_t lv, const hawk_oocs rtx->inrec.flds[i].ptr = HAWK_OOECS_PTR(&rtx->inrec.line) + HAWK_OOECS_LEN(&rtx->inrec.line); rtx->inrec.flds[i].len = 0; - if (hawk_ooecs_cat(&rtx->inrec.line, HAWK_T("")) == (hawk_oow_t)-1) - { - hawk_rtx_seterrnum (rtx, HAWK_ENOMEM, HAWK_NULL); - return -1; - } + if (hawk_ooecs_cat(&rtx->inrec.line, HAWK_T("")) == (hawk_oow_t)-1) return -1; /* hawk_rtx_refdownval should not be called over * rtx->inrec.flds[i].val as it is not initialized @@ -469,11 +447,7 @@ static int recomp_record_fields (hawk_rtx_t* rtx, hawk_oow_t lv, const hawk_oocs rtx->inrec.flds[i].ptr = HAWK_OOECS_PTR(&rtx->inrec.line) + HAWK_OOECS_LEN(&rtx->inrec.line); rtx->inrec.flds[i].len = tmp->val.len; - if (hawk_ooecs_ncat(&rtx->inrec.line, tmp->val.ptr, tmp->val.len) == (hawk_oow_t)-1) - { - hawk_rtx_seterrnum (rtx, HAWK_ENOMEM, HAWK_NULL); - return -1; - } + if (hawk_ooecs_ncat(&rtx->inrec.line, tmp->val.ptr, tmp->val.len) == (hawk_oow_t)-1) return -1; } } diff --git a/hawk/lib/rio.c b/hawk/lib/rio.c index 2bf59132..16efe1cb 100644 --- a/hawk/lib/rio.c +++ b/hawk/lib/rio.c @@ -115,7 +115,7 @@ static int find_rio_in ( if (handler == HAWK_NULL) { /* no I/O handler provided */ - hawk_rtx_seterrnum (rtx, HAWK_EIOUSER, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_EIOUSER); return -1; } @@ -160,7 +160,7 @@ static int find_rio_in ( p->in.eos = 0; */ - hawk_rtx_seterrnum (rtx, HAWK_ENOERR, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_ENOERR); /* request to open the stream */ x = handler(rtx, HAWK_RIO_CMD_OPEN, p, HAWK_NULL, 0); @@ -173,7 +173,7 @@ static int find_rio_in ( { /* if the error number has not been * set by the user handler */ - hawk_rtx_seterrnum (rtx, HAWK_EIOIMPL, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_EIOIMPL); } return -1; @@ -331,7 +331,7 @@ int hawk_rtx_readio (hawk_rtx_t* rtx, int in_type, const hawk_ooch_t* name, hawk break; } - hawk_rtx_seterrnum (rtx, HAWK_ENOERR, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_ENOERR); x = handler(rtx, HAWK_RIO_CMD_READ, p, p->in.buf, HAWK_COUNTOF(p->in.buf)); if (x <= -1) { @@ -340,7 +340,7 @@ int hawk_rtx_readio (hawk_rtx_t* rtx, int in_type, const hawk_ooch_t* name, hawk /* if the error number has not been * set by the user handler, we set * it here to HAWK_EIOIMPL. */ - hawk_rtx_seterrnum (rtx, HAWK_EIOIMPL, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_EIOIMPL); } ret = -1; @@ -442,7 +442,6 @@ int hawk_rtx_readio (hawk_rtx_t* rtx, int in_type, const hawk_ooch_t* name, hawk tmp = hawk_ooecs_ncat(buf, &p->in.buf[start_pos], end_pos - start_pos); if (tmp == (hawk_oow_t)-1) { - hawk_rtx_seterrnum (rtx, HAWK_ENOMEM, HAWK_NULL); ret = -1; break; } @@ -527,7 +526,7 @@ int hawk_rtx_readio (hawk_rtx_t* rtx, int in_type, const hawk_ooch_t* name, hawk if (hawk_ooecs_ccat(buf, c) == (hawk_oow_t)-1) { - hawk_rtx_seterrnum (rtx, HAWK_ENOMEM, HAWK_NULL); + ret = -1; done = 1; break; @@ -557,7 +556,6 @@ int hawk_rtx_readio (hawk_rtx_t* rtx, int in_type, const hawk_ooch_t* name, hawk tmp = hawk_ooecs_ncat(buf, &p->in.buf[start_pos], end_pos - start_pos); if (tmp == (hawk_oow_t)-1) { - hawk_rtx_seterrnum (rtx, HAWK_ENOMEM, HAWK_NULL); ret = -1; break; } @@ -580,7 +578,6 @@ int hawk_rtx_readio (hawk_rtx_t* rtx, int in_type, const hawk_ooch_t* name, hawk tmp = hawk_ooecs_ncat(buf, &p->in.buf[p->in.pos], p->in.len - p->in.pos); if (tmp == (hawk_oow_t)-1) { - hawk_rtx_seterrnum (rtx, HAWK_ENOMEM, HAWK_NULL); ret = -1; break; } @@ -655,7 +652,7 @@ static int prepare_for_write_io_data (hawk_rtx_t* rtx, int out_type, const hawk_ if (handler == HAWK_NULL) { /* no I/O handler provided */ - hawk_rtx_seterrnum (rtx, HAWK_EIOUSER, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_EIOUSER); return -1; } @@ -703,7 +700,7 @@ static int prepare_for_write_io_data (hawk_rtx_t* rtx, int out_type, const hawk_ p->out.eos = 0; */ - hawk_rtx_seterrnum (rtx, HAWK_ENOERR, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_ENOERR); n = handler(rtx, HAWK_RIO_CMD_OPEN, p, HAWK_NULL, 0); if (n <= -1) { @@ -711,7 +708,7 @@ static int prepare_for_write_io_data (hawk_rtx_t* rtx, int out_type, const hawk_ hawk_rtx_freemem (rtx, p); if (hawk_rtx_geterrnum(rtx) == HAWK_ENOERR) - hawk_rtx_seterrnum (rtx, HAWK_EIOIMPL, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_EIOIMPL); return -1; } @@ -740,12 +737,12 @@ int hawk_rtx_writeiostr (hawk_rtx_t* rtx, int out_type, const hawk_ooch_t* name, { hawk_ooi_t n; - hawk_rtx_seterrnum (rtx, HAWK_ENOERR, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_ENOERR); n = wid.handler(rtx, HAWK_RIO_CMD_WRITE, wid.p, str, len); if (n <= -1) { if (hawk_rtx_geterrnum(rtx) == HAWK_ENOERR) - hawk_rtx_seterrnum (rtx, HAWK_EIOIMPL, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_EIOIMPL); return -1; } @@ -773,12 +770,12 @@ int hawk_rtx_writeiobytes (hawk_rtx_t* rtx, int out_type, const hawk_ooch_t* nam { hawk_ooi_t n; - hawk_rtx_seterrnum (rtx, HAWK_ENOERR, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_ENOERR); n = wid.handler(rtx, HAWK_RIO_CMD_WRITE_BYTES, wid.p, str, len); if (n <= -1) { if (hawk_rtx_geterrnum(rtx) == HAWK_ENOERR) - hawk_rtx_seterrnum (rtx, HAWK_EIOIMPL, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_EIOIMPL); return -1; } @@ -816,7 +813,7 @@ int hawk_rtx_flushio (hawk_rtx_t* rtx, int out_type, const hawk_ooch_t* name) if (!handler) { /* no I/O handler provided */ - hawk_rtx_seterrnum (rtx, HAWK_EIOUSER, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_EIOUSER); return -1; } @@ -830,12 +827,12 @@ int hawk_rtx_flushio (hawk_rtx_t* rtx, int out_type, const hawk_ooch_t* name) if (p->type == (io_type | io_mask) && p->mode == io_mode && (name == HAWK_NULL || hawk_comp_oocstr(p->name, name, 0) == 0)) { - hawk_rtx_seterrnum (rtx, HAWK_ENOERR, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_ENOERR); n = handler(rtx, HAWK_RIO_CMD_FLUSH, p, HAWK_NULL, 0); if (n <= -1) { if (hawk_rtx_geterrnum(rtx) == HAWK_ENOERR) - hawk_rtx_seterrnum (rtx, HAWK_EIOIMPL, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_EIOIMPL); return -1; } @@ -848,7 +845,7 @@ int hawk_rtx_flushio (hawk_rtx_t* rtx, int out_type, const hawk_ooch_t* name) if (ok) return 0; /* there is no corresponding rio for name */ - hawk_rtx_seterrnum (rtx, HAWK_EIONMNF, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_EIONMNF); return -1; } @@ -872,7 +869,7 @@ int hawk_rtx_nextio_read (hawk_rtx_t* rtx, int in_type, const hawk_ooch_t* name) if (!handler) { /* no I/O handler provided */ - hawk_rtx_seterrnum (rtx, HAWK_EIOUSER, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_EIOUSER); return -1; } @@ -886,7 +883,7 @@ int hawk_rtx_nextio_read (hawk_rtx_t* rtx, int in_type, const hawk_ooch_t* name) { /* something is totally wrong */ HAWK_ASSERT (!"should never happen - cannot find the relevant rio entry"); - hawk_rtx_seterrnum (rtx, HAWK_EINTERN, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_EINTERN); return -1; } @@ -896,12 +893,12 @@ int hawk_rtx_nextio_read (hawk_rtx_t* rtx, int in_type, const hawk_ooch_t* name) return 0; } - hawk_rtx_seterrnum (rtx, HAWK_ENOERR, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_ENOERR); n = handler(rtx, HAWK_RIO_CMD_NEXT, p, HAWK_NULL, 0); if (n <= -1) { if (hawk_rtx_geterrnum(rtx) == HAWK_ENOERR) - hawk_rtx_seterrnum (rtx, HAWK_EIOIMPL, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_EIOIMPL); return -1; } @@ -947,7 +944,7 @@ int hawk_rtx_nextio_write (hawk_rtx_t* rtx, int out_type, const hawk_ooch_t* nam if (!handler) { /* no I/O handler provided */ - hawk_rtx_seterrnum (rtx, HAWK_EIOUSER, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_EIOUSER); return -1; } @@ -962,7 +959,7 @@ int hawk_rtx_nextio_write (hawk_rtx_t* rtx, int out_type, const hawk_ooch_t* nam /* something is totally wrong */ HAWK_ASSERT (!"should never happen - cannot find the relevant rio entry"); - hawk_rtx_seterrnum (rtx, HAWK_EINTERN, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_EINTERN); return -1; } @@ -972,12 +969,12 @@ int hawk_rtx_nextio_write (hawk_rtx_t* rtx, int out_type, const hawk_ooch_t* nam return 0; } - hawk_rtx_seterrnum (rtx, HAWK_ENOERR, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_ENOERR); n = handler(rtx, HAWK_RIO_CMD_NEXT, p, HAWK_NULL, 0); if (n <= -1) { if (hawk_rtx_geterrnum(rtx) == HAWK_ENOERR) - hawk_rtx_seterrnum (rtx, HAWK_EIOIMPL, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_EIOIMPL); return -1; } @@ -1017,7 +1014,7 @@ int hawk_rtx_closio_read (hawk_rtx_t* rtx, int in_type, const hawk_ooch_t* name) if (!handler) { /* no I/O handler provided */ - hawk_rtx_seterrnum (rtx, HAWK_EIOUSER, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_EIOUSER); return -1; } @@ -1033,7 +1030,7 @@ int hawk_rtx_closio_read (hawk_rtx_t* rtx, int in_type, const hawk_ooch_t* name) if (handler (rtx, HAWK_RIO_CMD_CLOSE, p, HAWK_NULL, 0) <= -1) { /* this is not a rtx-time error.*/ - hawk_rtx_seterrnum (rtx, HAWK_EIOIMPL, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_EIOIMPL); return -1; } } @@ -1051,7 +1048,7 @@ int hawk_rtx_closio_read (hawk_rtx_t* rtx, int in_type, const hawk_ooch_t* name) } /* the name given is not found */ - hawk_rtx_seterrnum (rtx, HAWK_EIONMNF, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_EIONMNF); return -1; } @@ -1074,7 +1071,7 @@ int hawk_rtx_closio_write (hawk_rtx_t* rtx, int out_type, const hawk_ooch_t* nam if (!handler) { /* no io handler provided */ - hawk_rtx_seterrnum (rtx, HAWK_EIOUSER, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_EIOUSER); return -1; } @@ -1087,11 +1084,11 @@ int hawk_rtx_closio_write (hawk_rtx_t* rtx, int out_type, const hawk_ooch_t* nam handler = rtx->rio.handler[p->type & IO_MASK_CLEAR]; if (handler) { - hawk_rtx_seterrnum (rtx, HAWK_ENOERR, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_ENOERR); if (handler (rtx, HAWK_RIO_CMD_CLOSE, p, HAWK_NULL, 0) <= -1) { if (hawk_rtx_geterrnum(rtx) == HAWK_ENOERR) - hawk_rtx_seterrnum (rtx, HAWK_EIOIMPL, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_EIOIMPL); return -1; } } @@ -1108,7 +1105,7 @@ int hawk_rtx_closio_write (hawk_rtx_t* rtx, int out_type, const hawk_ooch_t* nam p = p->next; } - hawk_rtx_seterrnum (rtx, HAWK_EIONMNF, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_EIONMNF); return -1; } @@ -1161,13 +1158,13 @@ int hawk_rtx_closeio (hawk_rtx_t* rtx, const hawk_ooch_t* name, const hawk_ooch_ handler = rtx->rio.handler[p->type & IO_MASK_CLEAR]; if (handler) { - hawk_rtx_seterrnum (rtx, HAWK_ENOERR, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_ENOERR); p->rwcmode = rwcmode; if (handler(rtx, HAWK_RIO_CMD_CLOSE, p, HAWK_NULL, 0) <= -1) { /* this is not a run-time error.*/ if (hawk_rtx_geterrnum(rtx) == HAWK_ENOERR) - hawk_rtx_seterrnum (rtx, HAWK_EIOIMPL, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_EIOIMPL); return -1; } } @@ -1200,7 +1197,7 @@ int hawk_rtx_closeio (hawk_rtx_t* rtx, const hawk_ooch_t* name, const hawk_ooch_ p = p->next; } - hawk_rtx_seterrnum (rtx, HAWK_EIONMNF, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_EIONMNF); return -1; } @@ -1217,13 +1214,13 @@ void hawk_rtx_cleario (hawk_rtx_t* rtx) if (handler) { - hawk_rtx_seterrnum (rtx, HAWK_ENOERR, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_ENOERR); rtx->rio.chain->rwcmode = 0; n = handler(rtx, HAWK_RIO_CMD_CLOSE, rtx->rio.chain, HAWK_NULL, 0); if (n <= -1) { if (hawk_rtx_geterrnum(rtx) == HAWK_ENOERR) - hawk_rtx_seterrnum (rtx, HAWK_EIOIMPL, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_EIOIMPL); /* TODO: some warnings need to be shown??? */ } } diff --git a/hawk/lib/run.c b/hawk/lib/run.c index 575007d9..48793a05 100644 --- a/hawk/lib/run.c +++ b/hawk/lib/run.c @@ -3310,7 +3310,7 @@ static hawk_val_t* eval_expression0 (hawk_rtx_t* rtx, hawk_nde_t* nde) * clears the error number. run_main will * detect this condition and treat it as a * non-error condition.*/ - hawk_rtx_seterrnum (rtx, HAWK_ENOERR, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_ENOERR); return HAWK_NULL; } @@ -5986,7 +5986,7 @@ static hawk_val_t* __eval_call ( if (call->u.fnc.spec.impl) { - hawk_rtx_seterrnum (rtx, HAWK_ENOERR, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_ENOERR); n = call->u.fnc.spec.impl(rtx, &call->u.fnc.info); diff --git a/hawk/lib/std.c b/hawk/lib/std.c index 0715f68d..d8b0b50f 100644 --- a/hawk/lib/std.c +++ b/hawk/lib/std.c @@ -1706,7 +1706,7 @@ static hawk_ooi_t nwio_handler_rest (hawk_rtx_t* rtx, hawk_rio_cmd_t cmd, hawk_r switch (cmd) { case HAWK_RIO_CMD_OPEN: - hawk_rtx_seterrnum (rtx, HAWK_EINTERN, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_EINTERN); return -1; case HAWK_RIO_CMD_CLOSE: @@ -1730,7 +1730,7 @@ static hawk_ooi_t nwio_handler_rest (hawk_rtx_t* rtx, hawk_rio_cmd_t cmd, hawk_r break; } - hawk_rtx_seterrnum (rtx, HAWK_EINTERN, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_EINTERN); return -1; } @@ -1786,7 +1786,7 @@ static hawk_ooi_t pio_handler_open (hawk_rtx_t* rtx, hawk_rio_arg_t* riod) else { /* this must not happen */ - hawk_rtx_seterrnum (rtx, HAWK_EINTERN, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_EINTERN); return -1; } @@ -1820,7 +1820,7 @@ static hawk_ooi_t pio_handler_rest (hawk_rtx_t* rtx, hawk_rio_cmd_t cmd, hawk_ri switch (cmd) { case HAWK_RIO_CMD_OPEN: - hawk_rtx_seterrnum (rtx, HAWK_EINTERN, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_EINTERN); return -1; case HAWK_RIO_CMD_CLOSE: @@ -1864,7 +1864,7 @@ static hawk_ooi_t pio_handler_rest (hawk_rtx_t* rtx, hawk_rio_cmd_t cmd, hawk_ri break; } - hawk_rtx_seterrnum (rtx, HAWK_EINTERN, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_EINTERN); return -1; } @@ -1936,7 +1936,7 @@ static hawk_ooi_t awk_rio_file (hawk_rtx_t* rtx, hawk_rio_cmd_t cmd, hawk_rio_ar break; default: /* this must not happen */ - hawk_rtx_seterrnum (rtx, HAWK_EINTERN, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_EINTERN); return -1; } @@ -2093,15 +2093,7 @@ static int open_rio_console (hawk_rtx_t* rtx, hawk_rio_arg_t* riod) if (hawk_count_oocstr(as.ptr) < as.len) { /* the name contains one or more '\0' */ - hawk_oocs_t errarg; - - errarg.ptr = as.ptr; - /* use this length not to contains '\0' - * in an error message */ - errarg.len = hawk_count_oocstr(as.ptr); - - hawk_rtx_seterrnum (rtx, HAWK_EIONMNL, &errarg); - + hawk_rtx_seterrfmt (rtx, HAWK_NULL, HAWK_EIONMNL, HAWK_T("I/O name beginning with '%js' of length %zu containing '\\0'"), as.ptr, as.len); hawk_rtx_freevaloocstr (rtx, v, as.ptr); return -1; } @@ -2117,7 +2109,7 @@ static int open_rio_console (hawk_rtx_t* rtx, hawk_rio_arg_t* riod) return -1; } - if (rxtn->c.cmgr) hawk_sio_setcmgr (sio, rxtn->c.cmgr); + if (rxtn->c.cmgr) hawk_sio_setcmgr (sio, rxtn->c.cmgr); if (hawk_rtx_setfilename ( rtx, file, hawk_count_oocstr(file)) <= -1) @@ -2263,7 +2255,7 @@ static hawk_ooi_t awk_rio_console (hawk_rtx_t* rtx, hawk_rio_cmd_t cmd, hawk_rio } - hawk_rtx_seterrnum (rtx, HAWK_EINTERN, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_EINTERN); return -1; } diff --git a/hawk/lib/val.c b/hawk/lib/val.c index f6a2027c..f242ca35 100644 --- a/hawk/lib/val.c +++ b/hawk/lib/val.c @@ -487,7 +487,6 @@ hawk_val_t* hawk_rtx_makemapval (hawk_rtx_t* rtx) if (val->map == HAWK_NULL) { hawk_rtx_freemem (rtx, val); - hawk_rtx_seterrnum (run, HAWK_ENOMEM, HAWK_NULL); return HAWK_NULL; } */ @@ -563,7 +562,7 @@ hawk_val_t* hawk_rtx_makemapvalwithdata (hawk_rtx_t* rtx, hawk_val_map_data_t da default: tmp = HAWK_NULL; - hawk_rtx_seterrnum (rtx, HAWK_EINVAL, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_EINVAL); break; } @@ -963,7 +962,7 @@ static int str_to_str (hawk_rtx_t* rtx, const hawk_ooch_t* str, hawk_oow_t str_l { if (str_len >= out->u.cplcpy.len) { - hawk_rtx_seterrnum (rtx, HAWK_EINVAL, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_EINVAL); /*out->u.cplcpy.len = str_len + 1;*/ /* set the required length */ return -1; } @@ -987,32 +986,22 @@ static int str_to_str (hawk_rtx_t* rtx, const hawk_ooch_t* str, hawk_oow_t str_l case HAWK_RTX_VALTOSTR_STRP: { hawk_oow_t n; - hawk_ooecs_clear (out->u.strp); n = hawk_ooecs_ncat(out->u.strp, str, str_len); - if (n == (hawk_oow_t)-1) - { - hawk_rtx_seterrnum (rtx, HAWK_ENOMEM, HAWK_NULL); - return -1; - } + if (n == (hawk_oow_t)-1) return -1; return 0; } case HAWK_RTX_VALTOSTR_STRPCAT: { hawk_oow_t n; - n = hawk_ooecs_ncat(out->u.strpcat, str, str_len); - if (n == (hawk_oow_t)-1) - { - hawk_rtx_seterrnum (rtx, HAWK_ENOMEM, HAWK_NULL); - return -1; - } + if (n == (hawk_oow_t)-1) return -1; return 0; } } - hawk_rtx_seterrnum (rtx, HAWK_EINVAL, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_EINVAL); return -1; } @@ -1033,7 +1022,7 @@ static int mbs_to_str (hawk_rtx_t* rtx, const hawk_bch_t* str, hawk_oow_t str_le hawk_oow_t ucslen; if (HAWK_UNLIKELY(out->u.cplcpy.len <= 0)) { - hawk_rtx_seterrnum (rtx, HAWK_EBUFFULL, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_EBUFFULL); return -1; } /* hawk_rtx_convbtouchars() doesn't null terminate the result. -1 to secure space for '\0' */ @@ -1061,23 +1050,15 @@ static int mbs_to_str (hawk_rtx_t* rtx, const hawk_bch_t* str, hawk_oow_t str_le case HAWK_RTX_VALTOSTR_STRP: hawk_ooecs_clear (out->u.strp); - if (hawk_uecs_ncatbchars(out->u.strp, str, str_len, hawk_rtx_getcmgr(rtx), 1) == (hawk_oow_t)-1) - { - hawk_rtx_seterrnum (rtx, HAWK_ENOMEM, HAWK_NULL); - return -1; - } + if (hawk_uecs_ncatbchars(out->u.strp, str, str_len, hawk_rtx_getcmgr(rtx), 1) == (hawk_oow_t)-1) return -1; return 0; case HAWK_RTX_VALTOSTR_STRPCAT: - if (hawk_uecs_ncatbchars(out->u.strpcat, str, str_len, hawk_rtx_getcmgr(rtx), 1) == (hawk_oow_t)-1) - { - hawk_rtx_seterrnum (rtx, HAWK_ENOMEM, HAWK_NULL); - return -1; - } + if (hawk_uecs_ncatbchars(out->u.strpcat, str, str_len, hawk_rtx_getcmgr(rtx), 1) == (hawk_oow_t)-1) return -1; return 0; } - hawk_rtx_seterrnum (rtx, HAWK_EINVAL, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_EINVAL); return -1; } #endif @@ -1116,7 +1097,7 @@ static int val_int_to_str (hawk_rtx_t* rtx, const hawk_val_int_t* v, hawk_rtx_va case HAWK_RTX_VALTOSTR_CPLCPY: if (rlen >= out->u.cplcpy.len) { - hawk_rtx_seterrnum (rtx, HAWK_EINVAL, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_EINVAL); /* store the buffer size needed */ out->u.cplcpy.len = rlen + 1; return -1; @@ -1148,11 +1129,7 @@ static int val_int_to_str (hawk_rtx_t* rtx, const hawk_val_int_t* v, hawk_rtx_va /* extend the buffer */ n = hawk_ooecs_nccat(out->u.strp, HAWK_T(' '), rlen); - if (n == (hawk_oow_t)-1) - { - hawk_rtx_seterrnum (rtx, HAWK_ENOMEM, HAWK_NULL); - return -1; - } + if (n == (hawk_oow_t)-1) return -1; break; } @@ -1165,17 +1142,13 @@ static int val_int_to_str (hawk_rtx_t* rtx, const hawk_val_int_t* v, hawk_rtx_va /* extend the buffer */ n = hawk_ooecs_nccat(out->u.strpcat, HAWK_T(' '), rlen); - if (n == (hawk_oow_t)-1) - { - hawk_rtx_seterrnum (rtx, HAWK_ENOMEM, HAWK_NULL); - return -1; - } + if (n == (hawk_oow_t)-1) return -1; break; } default: { - hawk_rtx_seterrnum (rtx, HAWK_EINVAL, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_EINVAL); return -1; } } @@ -1244,7 +1217,7 @@ static int val_flt_to_str (hawk_rtx_t* rtx, const hawk_val_flt_t* v, hawk_rtx_va case HAWK_RTX_VALTOSTR_CPLCPY: if (out->u.cplcpy.len <= tmp_len) { - hawk_rtx_seterrnum (rtx, HAWK_EINVAL, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_EINVAL); /* store the buffer size required */ out->u.cplcpy.len = tmp_len + 1; goto oops; @@ -1265,34 +1238,23 @@ static int val_flt_to_str (hawk_rtx_t* rtx, const hawk_val_flt_t* v, hawk_rtx_va case HAWK_RTX_VALTOSTR_STRP: { hawk_oow_t n; - hawk_ooecs_clear (out->u.strp); - n = hawk_ooecs_ncat(out->u.strp, tmp, tmp_len); - if (n == (hawk_oow_t)-1) - { - hawk_rtx_seterrnum (rtx, HAWK_ENOMEM, HAWK_NULL); - goto oops; - } + if (n == (hawk_oow_t)-1) goto oops; break; } case HAWK_RTX_VALTOSTR_STRPCAT: { hawk_oow_t n; - n = hawk_ooecs_ncat(out->u.strpcat, tmp, tmp_len); - if (n == (hawk_oow_t)-1) - { - hawk_rtx_seterrnum (rtx, HAWK_ENOMEM, HAWK_NULL); - goto oops; - } + if (n == (hawk_oow_t)-1) goto oops; break; } default: { - hawk_rtx_seterrnum (rtx, HAWK_EINVAL, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_EINVAL); goto oops; } } @@ -1414,7 +1376,7 @@ int hawk_rtx_valtostr (hawk_rtx_t* rtx, const hawk_val_t* v, hawk_rtx_valtostr_o #if defined(DEBUG_VAL) hawk_logfmt (hawk_rtx_gethawk(rtx), HAWK_T(">>WRONG VALUE TYPE [%d] in hawk_rtx_valtostr\n"), v->type); #endif - hawk_rtx_seterrnum (rtx, HAWK_EVALTOSTR, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_EVALTOSTR); return -1; } } @@ -1702,7 +1664,7 @@ int hawk_rtx_valtonum (hawk_rtx_t* rtx, const hawk_val_t* v, hawk_int_t* l, hawk #if defined(DEBUG_VAL) hawk_logfmt (hawk, HAWK_T(">>WRONG VALUE TYPE [%d] in hawk_rtx_valtonum()\n"), v->type); #endif - hawk_rtx_seterrnum (rtx, HAWK_EVALTONUM, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_EVALTONUM); return -1; /* error */ } } @@ -1788,7 +1750,7 @@ hawk_int_t hawk_rtx_hashval (hawk_rtx_t* rtx, hawk_val_t* v) #if defined(DEBUG_VAL) hawk_logfmt (hawk_rtx_gethawk(rtx), HAWK_T(">>WRONG VALUE TYPE [%d] in hawk_rtx_hashval()\n"), v->type); #endif - hawk_rtx_seterrnum (rtx, HAWK_EHASHVAL, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_EHASHVAL); return -1; } @@ -1872,7 +1834,7 @@ int hawk_rtx_setrefval (hawk_rtx_t* rtx, hawk_val_ref_t* ref, hawk_val_t* val) * avoid potential chaos. the nature of performing '/rex/ ~ $0' * for a regular expression without the match operator * makes it difficult to be implemented. */ - hawk_rtx_seterrnum (rtx, HAWK_EINVAL, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_EINVAL); return -1; } @@ -1884,7 +1846,7 @@ int hawk_rtx_setrefval (hawk_rtx_t* rtx, hawk_val_ref_t* ref, hawk_val_t* val) { case HAWK_VAL_MAP: /* a map is assigned to a positional. this is disallowed. */ - hawk_rtx_seterrnum (rtx, HAWK_EMAPTOPOS, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_EMAPTOPOS); return -1; case HAWK_VAL_STR: @@ -1939,7 +1901,7 @@ int hawk_rtx_setrefval (hawk_rtx_t* rtx, hawk_val_ref_t* ref, hawk_val_t* val) { /* an indexed variable cannot be assigned a map. * in other cases, it falls down to the default case. */ - hawk_rtx_seterrnum (rtx, HAWK_EMAPTOIDX, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_EMAPTOIDX); return -1; } /* fall through */ @@ -1959,7 +1921,7 @@ int hawk_rtx_setrefval (hawk_rtx_t* rtx, hawk_val_ref_t* ref, hawk_val_t* val) if (!(rtx->awk->opt.trait & HAWK_FLEXMAP)) { /* cannot change a scalar value to a map */ - hawk_rtx_seterrnum (rtx, HAWK_ESCALARTOMAP, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_ESCALARTOMAP); return -1; } } @@ -1971,7 +1933,7 @@ int hawk_rtx_setrefval (hawk_rtx_t* rtx, hawk_val_ref_t* ref, hawk_val_t* val) { if (!(rtx->awk->opt.trait & HAWK_FLEXMAP)) { - hawk_rtx_seterrnum (rtx, HAWK_EMAPTOSCALAR, HAWK_NULL); + hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_EMAPTOSCALAR); return -1; } }