minor touch-up

This commit is contained in:
hyung-hwan 2025-06-09 15:36:46 +09:00
parent 63eb61c5c0
commit 24c48fab9a
4 changed files with 108 additions and 103 deletions

View File

@ -143,9 +143,9 @@ static int fnc_call (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
/* TODO: this mutex protection is wrong in that if a call to hawk_querymodulewithname()
* is made outside this hawk module, the call is not protected under
* the same mutex. FIX THIS */
hawk_mtx_lock (&md->mq_mtx, HAWK_NULL);
hawk_mtx_lock(&md->mq_mtx, HAWK_NULL);
fncp = hawk_rtx_valtofnc(rtx, hawk_rtx_getarg(rtx, 0), &fnc);
hawk_mtx_unlock (&md->mq_mtx);
hawk_mtx_unlock(&md->mq_mtx);
if (!fncp) return -1; /* hard failure */
if (f_nargs < fnc.spec.arg.min || f_nargs > fnc.spec.arg.max)
@ -176,7 +176,7 @@ static int fnc_call (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
v = hawk_rtx_evalcall(rtx, &call, fun, push_args_from_stack, (void*)&pafs, HAWK_NULL, HAWK_NULL);
if (HAWK_UNLIKELY(!v)) return -1; /* hard failure */
hawk_rtx_setretval (rtx, v);
hawk_rtx_setretval(rtx, v);
return 0;
}
@ -211,16 +211,16 @@ static int fnc_function_exists (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
md = (mod_data_t*)fi->mod->ctx;
/* hawk_query_module_with_name() may update some shared data under
* the hawk object. use a mutex for shared data safety */
hawk_mtx_lock (&md->mq_mtx, HAWK_NULL);
hawk_mtx_lock(&md->mq_mtx, HAWK_NULL);
rx = (hawk_querymodulewithname(hawk_rtx_gethawk(rtx), name.ptr, &sym) != HAWK_NULL);
hawk_mtx_unlock (&md->mq_mtx);
hawk_mtx_unlock(&md->mq_mtx);
}
}
}
hawk_rtx_freevaloocstr (rtx, a0, name.ptr);
hawk_rtx_freevaloocstr(rtx, a0, name.ptr);
}
hawk_rtx_setretval (rtx, hawk_rtx_makeintval(rtx, rx));
hawk_rtx_setretval(rtx, hawk_rtx_makeintval(rtx, rx));
return 0;
}
/* -------------------------------------------------------------------------- */
@ -241,10 +241,10 @@ static int fnc_cmgr_exists (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
else
{
rx = (hawk_get_cmgr_by_name(str) != HAWK_NULL);
hawk_rtx_freevaloocstr (rtx, a0, str);
hawk_rtx_freevaloocstr(rtx, a0, str);
}
hawk_rtx_setretval (rtx, hawk_rtx_makeintval(rtx, rx));
hawk_rtx_setretval(rtx, hawk_rtx_makeintval(rtx, rx));
return 0;
}
@ -266,8 +266,8 @@ static int fnc_gc (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
gen = hawk_rtx_gc(rtx, gen);
#endif
HAWK_ASSERT (HAWK_IN_INT_RANGE(gen));
hawk_rtx_setretval (rtx, hawk_rtx_makeintval(rtx, gen));
HAWK_ASSERT(HAWK_IN_INT_RANGE(gen));
hawk_rtx_setretval(rtx, hawk_rtx_makeintval(rtx, gen));
return 0;
}
@ -282,8 +282,8 @@ static int fnc_gc_get_pressure (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
pressure = rtx->gc.pressure[gen];
HAWK_ASSERT (HAWK_IN_INT_RANGE(pressure));
hawk_rtx_setretval (rtx, hawk_rtx_makeintval(rtx, pressure));
HAWK_ASSERT(HAWK_IN_INT_RANGE(pressure));
hawk_rtx_setretval(rtx, hawk_rtx_makeintval(rtx, pressure));
return 0;
}
@ -298,8 +298,8 @@ static int fnc_gc_get_threshold (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
threshold = rtx->gc.threshold[gen];
HAWK_ASSERT (HAWK_IN_INT_RANGE(threshold));
hawk_rtx_setretval (rtx, hawk_rtx_makeintval(rtx, threshold));
HAWK_ASSERT(HAWK_IN_INT_RANGE(threshold));
hawk_rtx_setretval(rtx, hawk_rtx_makeintval(rtx, threshold));
return 0;
}
@ -324,8 +324,8 @@ static int fnc_gc_set_threshold (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
threshold = rtx->gc.threshold[gen]; /* no update. but retrieve the existing value */
}
HAWK_ASSERT (HAWK_IN_INT_RANGE(threshold));
hawk_rtx_setretval (rtx, hawk_rtx_makeintval(rtx, threshold));
HAWK_ASSERT(HAWK_IN_INT_RANGE(threshold));
hawk_rtx_setretval(rtx, hawk_rtx_makeintval(rtx, threshold));
return 0;
}
@ -333,7 +333,7 @@ static int fnc_gcrefs (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
{
hawk_val_t* a0;
a0 = hawk_rtx_getarg(rtx, 0);
hawk_rtx_setretval (rtx, hawk_rtx_makeintval(rtx, HAWK_VTR_IS_POINTER(a0)? a0->v_refs: 0));
hawk_rtx_setretval(rtx, hawk_rtx_makeintval(rtx, HAWK_VTR_IS_POINTER(a0)? a0->v_refs: 0));
return 0;
}
@ -353,12 +353,12 @@ static int fnc_array (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
{
if (HAWK_UNLIKELY(hawk_rtx_setarrvalfld(rtx, tmp, i + 1, hawk_rtx_getarg(rtx, i)) == HAWK_NULL))
{
hawk_rtx_freeval (rtx, tmp, 0);
hawk_rtx_freeval(rtx, tmp, 0);
return -1;
}
}
hawk_rtx_setretval (rtx, tmp);
hawk_rtx_setretval(rtx, tmp);
return 0;
}
@ -387,25 +387,25 @@ static int fnc_map (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
out.type = HAWK_RTX_VALTOSTR_CPLDUP;
if (hawk_rtx_valtostr(rtx, v, &out) <= -1)
{
hawk_rtx_freeval (rtx, tmp, 0);
hawk_rtx_freeval(rtx, tmp, 0);
return -1;
}
}
v = (++i >= nargs)? hawk_val_nil: hawk_rtx_getarg(rtx, i);
v = hawk_rtx_setmapvalfld(rtx, tmp, out.u.cpldup.ptr, out.u.cpldup.len, v);
if (out.u.cpldup.ptr != idxbuf) hawk_rtx_freemem (rtx, out.u.cpldup.ptr);
if (out.u.cpldup.ptr != idxbuf) hawk_rtx_freemem(rtx, out.u.cpldup.ptr);
if (HAWK_UNLIKELY(!v))
{
hawk_rtx_freeval (rtx, tmp, 0);
hawk_rtx_freeval(rtx, tmp, 0);
return -1;
}
/* if (i >= nargs) break; this check is probably not needed. another i++ in the 3rd segment of the for statement should be mostly harmless. potential overflow issue is not a real issue as the number of arguments can be so high. */
}
hawk_rtx_setretval (rtx, tmp);
hawk_rtx_setretval(rtx, tmp);
return 0;
}
@ -421,7 +421,7 @@ static int fnc_isnil (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
r = hawk_rtx_makeintval(rtx, HAWK_RTX_GETVALTYPE(rtx, a0) == HAWK_VAL_NIL);
if (HAWK_UNLIKELY(!r)) return -1;
hawk_rtx_setretval (rtx, r);
hawk_rtx_setretval(rtx, r);
return 0;
}
@ -435,7 +435,7 @@ static int fnc_ismap (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
r = hawk_rtx_makeintval(rtx, HAWK_RTX_GETVALTYPE(rtx, a0) == HAWK_VAL_MAP);
if (HAWK_UNLIKELY(!r)) return -1;
hawk_rtx_setretval (rtx, r);
hawk_rtx_setretval(rtx, r);
return 0;
}
@ -449,7 +449,7 @@ static int fnc_isarr (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
r = hawk_rtx_makeintval(rtx, HAWK_RTX_GETVALTYPE(rtx, a0) == HAWK_VAL_ARR);
if (HAWK_UNLIKELY(!r)) return -1;
hawk_rtx_setretval (rtx, r);
hawk_rtx_setretval(rtx, r);
return 0;
}
@ -461,7 +461,7 @@ static int fnc_modlibdirs (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
r = hawk_rtx_makestrvalwithoocstr(rtx, (hawk->opt.mod[0].len > 0)? (const hawk_ooch_t*)hawk->opt.mod[0].ptr: (const hawk_ooch_t*)HAWK_T(HAWK_DEFAULT_MODLIBDIRS));
if (HAWK_UNLIKELY(!r)) return -1;
hawk_rtx_setretval (rtx, r);
hawk_rtx_setretval(rtx, r);
return 0;
}
@ -477,7 +477,7 @@ static int fnc_type (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
r = hawk_rtx_makeintval(rtx, _type);
if (HAWK_UNLIKELY(!r)) return -1;
hawk_rtx_setretval (rtx, r);
hawk_rtx_setretval(rtx, r);
return 0;
}
@ -493,7 +493,7 @@ static int fnc_typename (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
r = hawk_rtx_makestrvalwithoocstr(rtx, name);
if (HAWK_UNLIKELY(!r)) return -1;
hawk_rtx_setretval (rtx, r);
hawk_rtx_setretval(rtx, r);
return 0;
}
@ -508,7 +508,7 @@ static int fnc_hash (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
a0 = hawk_rtx_getarg(rtx, 0);
v = hawk_rtx_hashval(rtx, a0); /* ignore v <= -1 which is an error */
hawk_rtx_setretval (rtx, hawk_rtx_makeintval(rtx, v));
hawk_rtx_setretval(rtx, hawk_rtx_makeintval(rtx, v));
return 0;
}
@ -581,8 +581,8 @@ static void unload (hawk_mod_t* mod, hawk_t* hawk)
{
mod_data_t* md = (mod_data_t*)mod->ctx;
hawk_mtx_fini (&md->mq_mtx);
hawk_freemem (hawk, md);
hawk_mtx_fini(&md->mq_mtx);
hawk_freemem(hawk, md);
}
int hawk_mod_hawk (hawk_mod_t* mod, hawk_t* hawk)
@ -592,7 +592,7 @@ int hawk_mod_hawk (hawk_mod_t* mod, hawk_t* hawk)
md = hawk_allocmem(hawk, HAWK_SIZEOF(*md));
if (HAWK_UNLIKELY(!md)) return -1;
hawk_mtx_init (&md->mq_mtx, hawk_getgem(hawk));
hawk_mtx_init(&md->mq_mtx, hawk_getgem(hawk));
mod->query = query;
mod->unload = unload;

View File

@ -7714,7 +7714,6 @@ done:
return &mdp->mod;
}
hawk_mod_t* hawk_querymodulewithname (hawk_t* hawk, hawk_ooch_t* name, hawk_mod_sym_t* sym)
{
const hawk_ooch_t* dc;
@ -7724,7 +7723,6 @@ hawk_mod_t* hawk_querymodulewithname (hawk_t* hawk, hawk_ooch_t* name, hawk_mod_
hawk_ooch_t tmp;
/*TOOD: non-module builtin function? fnc? */
name_len = hawk_count_oocstr(name);
dc = hawk_find_oochars_in_oochars(name, name_len, HAWK_T("::"), 2, 0);
if (!dc)

112
lib/run.c
View File

@ -338,13 +338,13 @@ static int set_global (hawk_rtx_t* rtx, int idx, hawk_nde_var_t* var, hawk_val_t
if (str.ptr[i] == '\0')
{
/* '\0' is included in the value */
hawk_rtx_freemem (rtx, str.ptr);
hawk_rtx_freemem(rtx, str.ptr);
hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_ECONVFMTCHR);
return -1;
}
}
if (rtx->gbl.convfmt.ptr) hawk_rtx_freemem (rtx, rtx->gbl.convfmt.ptr);
if (rtx->gbl.convfmt.ptr) hawk_rtx_freemem(rtx, rtx->gbl.convfmt.ptr);
rtx->gbl.convfmt.ptr = str.ptr;
rtx->gbl.convfmt.len = str.len;
break;
@ -503,13 +503,13 @@ static int set_global (hawk_rtx_t* rtx, int idx, hawk_nde_var_t* var, hawk_val_t
if (str.ptr[i] == '\0')
{
/* '\0' is included in the value */
hawk_rtx_freemem (rtx, str.ptr);
hawk_rtx_freemem(rtx, str.ptr);
hawk_rtx_seterrnum (rtx, HAWK_NULL, HAWK_ECONVFMTCHR);
return -1;
}
}
if (rtx->gbl.ofmt.ptr) hawk_rtx_freemem (rtx, rtx->gbl.ofmt.ptr);
if (rtx->gbl.ofmt.ptr) hawk_rtx_freemem(rtx, rtx->gbl.ofmt.ptr);
rtx->gbl.ofmt.ptr = str.ptr;
rtx->gbl.ofmt.len = str.len;
}
@ -521,7 +521,7 @@ static int set_global (hawk_rtx_t* rtx, int idx, hawk_nde_var_t* var, hawk_val_t
str.ptr = hawk_rtx_valtooocstrdup(rtx, val, &str.len);
if (HAWK_UNLIKELY(!str.ptr)) return -1;
if (rtx->gbl.ofs.ptr) hawk_rtx_freemem (rtx, rtx->gbl.ofs.ptr);
if (rtx->gbl.ofs.ptr) hawk_rtx_freemem(rtx, rtx->gbl.ofs.ptr);
rtx->gbl.ofs.ptr = str.ptr;
rtx->gbl.ofs.len = str.len;
@ -535,7 +535,7 @@ static int set_global (hawk_rtx_t* rtx, int idx, hawk_nde_var_t* var, hawk_val_t
str.ptr = hawk_rtx_valtooocstrdup(rtx, val, &str.len);
if (HAWK_UNLIKELY(!str.ptr)) return -1;
if (rtx->gbl.ors.ptr) hawk_rtx_freemem (rtx, rtx->gbl.ors.ptr);
if (rtx->gbl.ors.ptr) hawk_rtx_freemem(rtx, rtx->gbl.ors.ptr);
rtx->gbl.ors.ptr = str.ptr;
rtx->gbl.ors.len = str.len;
@ -619,7 +619,7 @@ static int set_global (hawk_rtx_t* rtx, int idx, hawk_nde_var_t* var, hawk_val_t
str.ptr = hawk_rtx_valtooocstrdup(rtx, val, &str.len);
if (HAWK_UNLIKELY(!str.ptr)) return -1;
if (rtx->gbl.subsep.ptr) hawk_rtx_freemem (rtx, rtx->gbl.subsep.ptr);
if (rtx->gbl.subsep.ptr) hawk_rtx_freemem(rtx, rtx->gbl.subsep.ptr);
rtx->gbl.subsep.ptr = str.ptr;
rtx->gbl.subsep.len = str.len;
@ -1142,9 +1142,9 @@ static int init_rtx (hawk_rtx_t* rtx, hawk_t* hawk, hawk_rio_cbs_t* rio)
return 0;
oops_14:
hawk_rtx_freemem (rtx, rtx->formatmbs.tmp.ptr);
hawk_rtx_freemem(rtx, rtx->formatmbs.tmp.ptr);
oops_13:
hawk_rtx_freemem (rtx, rtx->format.tmp.ptr);
hawk_rtx_freemem(rtx, rtx->format.tmp.ptr);
oops_12:
hawk_htb_close (rtx->named);
oops_11:
@ -1168,7 +1168,7 @@ oops_3:
oops_2:
hawk_ooecs_fini (&rtx->inrec.line);
oops_1:
hawk_rtx_freemem (rtx, rtx->stack);
hawk_rtx_freemem(rtx, rtx->stack);
oops_0:
return -1;
}
@ -1181,13 +1181,13 @@ static void fini_rtx (hawk_rtx_t* rtx, int fini_globals)
{
hawk_rtx_refdownval(rtx, rtx->forin.ptr[--rtx->forin.size]);
}
hawk_rtx_freemem (rtx, rtx->forin.ptr);
hawk_rtx_freemem(rtx, rtx->forin.ptr);
rtx->forin.ptr = HAWK_NULL;
rtx->forin.capa = 0;
}
if (rtx->pattern_range_state)
hawk_rtx_freemem (rtx, rtx->pattern_range_state);
hawk_rtx_freemem(rtx, rtx->pattern_range_state);
/* close all pending io's */
/* TODO: what if this operation fails? */
@ -1210,7 +1210,7 @@ static void fini_rtx (hawk_rtx_t* rtx, int fini_globals)
if (rtx->gbl.convfmt.ptr != HAWK_NULL &&
rtx->gbl.convfmt.ptr != DEFAULT_CONVFMT)
{
hawk_rtx_freemem (rtx, rtx->gbl.convfmt.ptr);
hawk_rtx_freemem(rtx, rtx->gbl.convfmt.ptr);
rtx->gbl.convfmt.ptr = HAWK_NULL;
rtx->gbl.convfmt.len = 0;
}
@ -1218,7 +1218,7 @@ static void fini_rtx (hawk_rtx_t* rtx, int fini_globals)
if (rtx->gbl.ofmt.ptr != HAWK_NULL &&
rtx->gbl.ofmt.ptr != DEFAULT_OFMT)
{
hawk_rtx_freemem (rtx, rtx->gbl.ofmt.ptr);
hawk_rtx_freemem(rtx, rtx->gbl.ofmt.ptr);
rtx->gbl.ofmt.ptr = HAWK_NULL;
rtx->gbl.ofmt.len = 0;
}
@ -1226,7 +1226,7 @@ static void fini_rtx (hawk_rtx_t* rtx, int fini_globals)
if (rtx->gbl.ofs.ptr != HAWK_NULL &&
rtx->gbl.ofs.ptr != DEFAULT_OFS)
{
hawk_rtx_freemem (rtx, rtx->gbl.ofs.ptr);
hawk_rtx_freemem(rtx, rtx->gbl.ofs.ptr);
rtx->gbl.ofs.ptr = HAWK_NULL;
rtx->gbl.ofs.len = 0;
}
@ -1235,7 +1235,7 @@ static void fini_rtx (hawk_rtx_t* rtx, int fini_globals)
rtx->gbl.ors.ptr != DEFAULT_ORS &&
rtx->gbl.ors.ptr != DEFAULT_ORS_CRLF)
{
hawk_rtx_freemem (rtx, rtx->gbl.ors.ptr);
hawk_rtx_freemem(rtx, rtx->gbl.ors.ptr);
rtx->gbl.ors.ptr = HAWK_NULL;
rtx->gbl.ors.len = 0;
}
@ -1243,7 +1243,7 @@ static void fini_rtx (hawk_rtx_t* rtx, int fini_globals)
if (rtx->gbl.subsep.ptr != HAWK_NULL &&
rtx->gbl.subsep.ptr != DEFAULT_SUBSEP)
{
hawk_rtx_freemem (rtx, rtx->gbl.subsep.ptr);
hawk_rtx_freemem(rtx, rtx->gbl.subsep.ptr);
rtx->gbl.subsep.ptr = HAWK_NULL;
rtx->gbl.subsep.len = 0;
}
@ -1251,13 +1251,13 @@ static void fini_rtx (hawk_rtx_t* rtx, int fini_globals)
hawk_ooecs_fini (&rtx->fnc.oout);
hawk_becs_fini (&rtx->fnc.bout);
hawk_rtx_freemem (rtx, rtx->formatmbs.tmp.ptr);
hawk_rtx_freemem(rtx, rtx->formatmbs.tmp.ptr);
rtx->formatmbs.tmp.ptr = HAWK_NULL;
rtx->formatmbs.tmp.len = 0;
hawk_becs_fini (&rtx->formatmbs.fmt);
hawk_becs_fini (&rtx->formatmbs.out);
hawk_rtx_freemem (rtx, rtx->format.tmp.ptr);
hawk_rtx_freemem(rtx, rtx->format.tmp.ptr);
rtx->format.tmp.ptr = HAWK_NULL;
rtx->format.tmp.len = 0;
hawk_ooecs_fini (&rtx->format.fmt);
@ -1269,7 +1269,7 @@ static void fini_rtx (hawk_rtx_t* rtx, int fini_globals)
hawk_rtx_clrrec (rtx, 0);
if (rtx->inrec.flds)
{
hawk_rtx_freemem (rtx, rtx->inrec.flds);
hawk_rtx_freemem(rtx, rtx->inrec.flds);
rtx->inrec.flds = HAWK_NULL;
rtx->inrec.maxflds = 0;
}
@ -1285,7 +1285,7 @@ static void fini_rtx (hawk_rtx_t* rtx, int fini_globals)
{
HAWK_ASSERT (rtx->stack_top == 0);
hawk_rtx_freemem (rtx, rtx->stack);
hawk_rtx_freemem(rtx, rtx->stack);
rtx->stack = HAWK_NULL;
rtx->stack_top = 0;
rtx->stack_base = 0;
@ -1729,7 +1729,7 @@ hawk_fun_t* hawk_rtx_findfunwithbcstr (hawk_rtx_t* rtx, const hawk_bch_t* name)
wcs.ptr = hawk_rtx_dupbtoucstr(rtx, name, &wcs.len, 0);
if (!wcs.ptr) return HAWK_NULL;
fun = find_fun(rtx, wcs.ptr);
hawk_rtx_freemem (rtx, wcs.ptr);
hawk_rtx_freemem(rtx, wcs.ptr);
return fun;
#endif
}
@ -1742,7 +1742,7 @@ hawk_fun_t* hawk_rtx_findfunwithucstr (hawk_rtx_t* rtx, const hawk_uch_t* name)
mbs.ptr = hawk_rtx_duputobcstr(rtx, name, &mbs.len);
if (!mbs.ptr) return HAWK_NULL;
fun = find_fun(rtx, mbs.ptr);
hawk_rtx_freemem (rtx, mbs.ptr);
hawk_rtx_freemem(rtx, mbs.ptr);
return fun;
#else
return find_fun(rtx, name);
@ -1878,7 +1878,7 @@ oops:
{
hawk_rtx_refdownval(rtx, v[--i]);
}
hawk_rtx_freemem (rtx, v);
hawk_rtx_freemem(rtx, v);
return ret;
}
@ -1909,7 +1909,7 @@ oops:
{
hawk_rtx_refdownval(rtx, v[--i]);
}
hawk_rtx_freemem (rtx, v);
hawk_rtx_freemem(rtx, v);
return ret;
}
@ -1940,7 +1940,7 @@ oops:
{
hawk_rtx_refdownval(rtx, v[--i]);
}
hawk_rtx_freemem (rtx, v);
hawk_rtx_freemem(rtx, v);
return ret;
}
@ -1971,7 +1971,7 @@ oops:
{
hawk_rtx_refdownval(rtx, v[--i]);
}
hawk_rtx_freemem (rtx, v);
hawk_rtx_freemem(rtx, v);
return ret;
}
@ -3123,7 +3123,7 @@ static HAWK_INLINE int delete_indexed (hawk_rtx_t* rtx, hawk_val_t* vv, hawk_nde
{
case HAWK_VAL_MAP:
val_map:
if (str && str != idxbuf) hawk_rtx_freemem (rtx, str);
if (str && str != idxbuf) hawk_rtx_freemem(rtx, str);
len = HAWK_COUNTOF(idxbuf);
str = idxnde_to_str(rtx, remidx, idxbuf, &len, &remidx, HAWK_NULL);
if (HAWK_UNLIKELY(!str)) goto oops;
@ -3169,11 +3169,11 @@ static HAWK_INLINE int delete_indexed (hawk_rtx_t* rtx, hawk_val_t* vv, hawk_nde
else
hawk_arr_uplete (arr, idx, 1); /* no reindexing by compaction. keep the place unset */
if (str && str != idxbuf) hawk_rtx_freemem (rtx, str);
if (str && str != idxbuf) hawk_rtx_freemem(rtx, str);
return 0;
oops:
if (str && str != idxbuf) hawk_rtx_freemem (rtx, str);
if (str && str != idxbuf) hawk_rtx_freemem(rtx, str);
return -1;
}
@ -4128,7 +4128,7 @@ static hawk_val_t* do_assignment_indexed (hawk_rtx_t* rtx, hawk_nde_var_t* var,
{
case HAWK_VAL_MAP:
val_map:
if (str != idxbuf) hawk_rtx_freemem (rtx, str);
if (str != idxbuf) hawk_rtx_freemem(rtx, str);
len = HAWK_COUNTOF(idxbuf);
str = idxnde_to_str(rtx, remidx, idxbuf, &len, &remidx, HAWK_NULL);
if (HAWK_UNLIKELY(!str)) goto oops;
@ -4198,7 +4198,7 @@ static hawk_val_t* do_assignment_indexed (hawk_rtx_t* rtx, hawk_nde_var_t* var,
}
hawk_rtx_refupval(rtx, val);
if (str && str != idxbuf) hawk_rtx_freemem (rtx, str);
if (str && str != idxbuf) hawk_rtx_freemem(rtx, str);
return val;
}
@ -4222,7 +4222,7 @@ static hawk_val_t* do_assignment_indexed (hawk_rtx_t* rtx, hawk_nde_var_t* var,
}
oops:
if (str && str != idxbuf) hawk_rtx_freemem (rtx, str);
if (str && str != idxbuf) hawk_rtx_freemem(rtx, str);
return HAWK_NULL;
}
@ -4280,7 +4280,7 @@ static hawk_val_t* do_assignment_positional (hawk_rtx_t* rtx, hawk_nde_pos_t* po
}
else
{
hawk_rtx_freemem (rtx, str.ptr);
hawk_rtx_freemem(rtx, str.ptr);
}
if (n <= -1) return HAWK_NULL;
@ -4536,7 +4536,7 @@ rvalue_ok:
ropv = eval_expression(rtx, right);
if (HAWK_UNLIKELY(!ropv))
{
if (str != idxbuf) hawk_rtx_freemem (rtx, str);
if (str != idxbuf) hawk_rtx_freemem(rtx, str);
return HAWK_NULL;
}
@ -4579,12 +4579,12 @@ rvalue_ok:
goto oops;
}
if (str != idxbuf) hawk_rtx_freemem (rtx, str);
if (str != idxbuf) hawk_rtx_freemem(rtx, str);
hawk_rtx_refdownval(rtx, ropv);
return res;
oops:
if (str != idxbuf) hawk_rtx_freemem (rtx, str);
if (str != idxbuf) hawk_rtx_freemem(rtx, str);
hawk_rtx_refdownval(rtx, ropv);
return HAWK_NULL;
@ -5295,7 +5295,7 @@ static HAWK_INLINE int __cmp_str_mbs (hawk_rtx_t* rtx, hawk_val_t* left, hawk_va
mbsptr = hawk_rtx_duputobchars(rtx, ls->val.ptr, ls->val.len, &mbslen);
if (!mbsptr) return CMP_ERROR;
n = hawk_comp_bchars(mbsptr, mbslen, (const hawk_bch_t*)rs->val.ptr, rs->val.len, rtx->gbl.ignorecase);
hawk_rtx_freemem (rtx, mbsptr);
hawk_rtx_freemem(rtx, mbsptr);
return n;
#endif
}
@ -7332,7 +7332,7 @@ static hawk_val_t** get_reference_indexed (hawk_rtx_t* rtx, hawk_nde_var_t* var)
{
case HAWK_VAL_MAP:
val_map:
if (str && str != idxbuf) hawk_rtx_freemem (rtx, str);
if (str && str != idxbuf) hawk_rtx_freemem(rtx, str);
len = HAWK_COUNTOF(idxbuf);
str = idxnde_to_str(rtx, remidx, idxbuf, &len, &remidx, HAWK_NULL);
if (HAWK_UNLIKELY(!str)) goto oops;
@ -7385,12 +7385,12 @@ static hawk_val_t** get_reference_indexed (hawk_rtx_t* rtx, hawk_nde_var_t* var)
hawk_rtx_refupval(rtx, HAWK_MAP_VPTR(pair)); */
}
if (str && str != idxbuf) hawk_rtx_freemem (rtx, str);
if (str && str != idxbuf) hawk_rtx_freemem(rtx, str);
return (hawk_val_t**)&HAWK_MAP_VPTR(pair);
}
else
{
if (str && str != idxbuf) hawk_rtx_freemem (rtx, str);
if (str && str != idxbuf) hawk_rtx_freemem(rtx, str);
if (idx >= HAWK_ARR_SIZE(arr) || !HAWK_ARR_SLOT(arr, idx))
{
/* if the value doesn't exist for the given index, insert a nil at that position to create a placeholder for the reference */
@ -7400,7 +7400,7 @@ static hawk_val_t** get_reference_indexed (hawk_rtx_t* rtx, hawk_nde_var_t* var)
}
oops:
if (str && str != idxbuf) hawk_rtx_freemem (rtx, str);
if (str && str != idxbuf) hawk_rtx_freemem(rtx, str);
return HAWK_NULL;
}
@ -7645,7 +7645,7 @@ static hawk_val_t* eval_indexed (hawk_rtx_t* rtx, hawk_nde_var_t* var)
{
case HAWK_VAL_MAP:
val_map:
if (str && str != idxbuf) hawk_rtx_freemem (rtx, str);
if (str && str != idxbuf) hawk_rtx_freemem(rtx, str);
len = HAWK_COUNTOF(idxbuf);
str = idxnde_to_str(rtx, remidx, idxbuf, &len, &remidx, HAWK_NULL);
if (HAWK_UNLIKELY(!str)) goto oops;
@ -7688,19 +7688,19 @@ static hawk_val_t* eval_indexed (hawk_rtx_t* rtx, hawk_nde_var_t* var)
{
hawk_map_pair_t* pair;
pair = hawk_map_search(map, str, len);
if (str && str != idxbuf) hawk_rtx_freemem (rtx, str);
if (str && str != idxbuf) hawk_rtx_freemem(rtx, str);
return pair? (hawk_val_t*)HAWK_MAP_VPTR(pair): hawk_val_nil;
}
else
{
/* return nil if the index is out of range or the element at the index is not set.
* no check for a negative index as it's guaranteed to be positive by idxnde_to_int() */
if (str && str != idxbuf) hawk_rtx_freemem (rtx, str);
if (str && str != idxbuf) hawk_rtx_freemem(rtx, str);
return (idx < HAWK_ARR_SIZE(arr) && HAWK_ARR_SLOT(arr, idx))? ((hawk_val_t*)HAWK_ARR_DPTR(arr, idx)): hawk_val_nil;
}
oops:
if (str && str != idxbuf) hawk_rtx_freemem (rtx, str);
if (str && str != idxbuf) hawk_rtx_freemem(rtx, str);
return HAWK_NULL;
@ -8243,7 +8243,7 @@ hawk_ooch_t* hawk_rtx_format (
#define GROW(buf) do { \
if ((buf)->ptr) \
{ \
hawk_rtx_freemem (rtx, (buf)->ptr); \
hawk_rtx_freemem(rtx, (buf)->ptr); \
(buf)->ptr = HAWK_NULL; \
} \
(buf)->len += (buf)->inc; \
@ -8258,7 +8258,7 @@ hawk_ooch_t* hawk_rtx_format (
#define GROW_WITH_INC(buf,incv) do { \
if ((buf)->ptr) \
{ \
hawk_rtx_freemem (rtx, (buf)->ptr); \
hawk_rtx_freemem(rtx, (buf)->ptr); \
(buf)->ptr = HAWK_NULL; \
} \
(buf)->len += ((incv) > (buf)->inc)? (incv): (buf)->inc; \
@ -8992,7 +8992,7 @@ wp_mod_main:
{
if (hawk_ooecs_ccat(out, HAWK_T(' ')) == (hawk_oow_t)-1)
{
if (str_free) hawk_rtx_freemem (rtx, str_free);
if (str_free) hawk_rtx_freemem(rtx, str_free);
hawk_rtx_refdownval(rtx, v);
return HAWK_NULL;
}
@ -9051,14 +9051,14 @@ wp_mod_main:
if (hawk_ooecs_ccat(out, curc) == (hawk_oow_t)-1)
{
s_fail:
if (str_free) hawk_rtx_freemem (rtx, str_free);
if (str_free) hawk_rtx_freemem(rtx, str_free);
hawk_rtx_refdownval(rtx, v);
return HAWK_NULL;
}
}
}
if (str_free) hawk_rtx_freemem (rtx, str_free);
if (str_free) hawk_rtx_freemem(rtx, str_free);
if (flags & FLAG_MINUS)
{
@ -9119,7 +9119,7 @@ hawk_bch_t* hawk_rtx_formatmbs (
#define GROW_MBSBUF(buf) do { \
if ((buf)->ptr) \
{ \
hawk_rtx_freemem (rtx, (buf)->ptr); \
hawk_rtx_freemem(rtx, (buf)->ptr); \
(buf)->ptr = HAWK_NULL; \
} \
(buf)->len += (buf)->inc; \
@ -9134,7 +9134,7 @@ hawk_bch_t* hawk_rtx_formatmbs (
#define GROW_MBSBUF_WITH_INC(buf,incv) do { \
if ((buf)->ptr) \
{ \
hawk_rtx_freemem (rtx, (buf)->ptr); \
hawk_rtx_freemem(rtx, (buf)->ptr); \
(buf)->ptr = HAWK_NULL; \
} \
(buf)->len += ((incv) > (buf)->inc)? (incv): (buf)->inc; \
@ -9876,7 +9876,7 @@ wp_mod_main:
{
if (hawk_becs_ccat(out, HAWK_BT(' ')) == (hawk_oow_t)-1)
{
if (str_free) hawk_rtx_freemem (rtx, str_free);
if (str_free) hawk_rtx_freemem(rtx, str_free);
hawk_rtx_refdownval(rtx, v);
return HAWK_NULL;
}
@ -9934,14 +9934,14 @@ wp_mod_main:
if (hawk_becs_ccat(out, curc) == (hawk_oow_t)-1)
{
s_fail:
if (str_free) hawk_rtx_freemem (rtx, str_free);
if (str_free) hawk_rtx_freemem(rtx, str_free);
hawk_rtx_refdownval(rtx, v);
return HAWK_NULL;
}
}
}
if (str_free) hawk_rtx_freemem (rtx, str_free);
if (str_free) hawk_rtx_freemem(rtx, str_free);
if (flags & FLAG_MINUS)
{

View File

@ -38,7 +38,7 @@ static int fnc_errno (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
retv = hawk_rtx_makeintval (rtx, list->errnum);
if (retv == HAWK_NULL) return -1;
hawk_rtx_setretval (rtx, retv);
hawk_rtx_setretval(rtx, retv);
return 0;
}
@ -78,11 +78,14 @@ static int fnc_errstr (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
retv = hawk_rtx_makestrvalwithstr (rtx, errmsg[errnum]);
if (retv == HAWK_NULL) return -1;
hawk_rtx_setretval (rtx, retv);
hawk_rtx_setretval(rtx, retv);
return 0;
}
#endif
/*
* sed::file_to_file("s|root|ROOT|g", "/etc/passwd", "/tmp/x");
*/
static int fnc_file_to_file (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
{
hawk_sed_t* sed = HAWK_NULL;
@ -132,14 +135,18 @@ oops:
while (i > 0)
{
--i;
hawk_rtx_freevaloocstr (rtx, a[i], xstr[i].ptr);
hawk_rtx_freevaloocstr(rtx, a[i], xstr[i].ptr);
}
if (sed) hawk_sed_close (sed);
hawk_rtx_setretval (rtx, retv);
hawk_rtx_setretval(rtx, retv);
return 0;
}
/*
* sed::str_to_str("s|ab|cd|g", "abcdefg", k);
* print k;
*/
static int fnc_str_to_str (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
{
hawk_sed_t* sed = HAWK_NULL;
@ -149,7 +156,7 @@ static int fnc_str_to_str (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
hawk_oocs_t outstr;
int i = 0, ret = 0, n;
sed = hawk_sed_openstdwithmmgr (hawk_rtx_getmmgr(rtx), 0, hawk_rtx_getcmgr(rtx), HAWK_NULL);
sed = hawk_sed_openstdwithmmgr(hawk_rtx_getmmgr(rtx), 0, hawk_rtx_getcmgr(rtx), HAWK_NULL);
if (sed == HAWK_NULL)
{
ret = -2;
@ -174,14 +181,14 @@ static int fnc_str_to_str (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
goto oops;
}
if (hawk_sed_execstdxstr (sed, &xstr[1], &outstr, HAWK_NULL) <= -1)
if (hawk_sed_execstdxstr(sed, &xstr[1], &outstr, HAWK_NULL) <= -1)
{
ret = -4;
goto oops;
}
tmp = hawk_rtx_makestrvalwithoocs(rtx, &outstr);
hawk_sed_freemem (sed, outstr.ptr);
hawk_sed_freemem(sed, outstr.ptr);
if (!tmp)
{
@ -189,9 +196,9 @@ static int fnc_str_to_str (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
goto oops;
}
hawk_rtx_refupval (rtx, tmp);
hawk_rtx_refupval(rtx, tmp);
n = hawk_rtx_setrefval(rtx, (hawk_val_ref_t*)hawk_rtx_getarg(rtx, 2), tmp);
hawk_rtx_refdownval (rtx, tmp);
hawk_rtx_refdownval(rtx, tmp);
if (n <= -1)
{
ret = -5;
@ -205,11 +212,11 @@ oops:
while (i > 0)
{
--i;
hawk_rtx_freevaloocstr (rtx, a[i], xstr[i].ptr);
hawk_rtx_freevaloocstr(rtx, a[i], xstr[i].ptr);
}
if (sed) hawk_sed_close (sed);
hawk_rtx_setretval (rtx, retv);
hawk_rtx_setretval(rtx, retv);
return 0;
}