some minor clean-up
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
hyung-hwan 2024-04-23 00:06:55 +09:00
parent 9fa26924c7
commit ebfdb71044
3 changed files with 22 additions and 14 deletions

View File

@ -2854,6 +2854,7 @@ done:
/* ------------------------------------------------------------ */ /* ------------------------------------------------------------ */
/* /*
BEGIN {
if (sys::getnwifcfg("eth0", sys::NWIFCFG_IN6, x) >= 0) if (sys::getnwifcfg("eth0", sys::NWIFCFG_IN6, x) >= 0)
{ {
for (i in x) print i, x[i]; for (i in x) print i, x[i];
@ -2862,6 +2863,7 @@ done:
{ {
print "Error:", sys::errmsg(); print "Error:", sys::errmsg();
} }
}
*/ */
static int fnc_getifcfg (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi) static int fnc_getifcfg (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
{ {

View File

@ -64,7 +64,7 @@ BEGIN {
for (i = 1; i < 10; i++) a[i] = i; for (i = 1; i < 10; i++) a[i] = i;
a[11] = a; a[11] = a;
a[12] = a; a[12] = a;
a = nil; a = @nil;
b[1] = a; b[1] = a;
c[1] = 0; c[1] = 0;
} }
@ -81,7 +81,7 @@ BEGIN {
a[13] = "hello"; a[13] = "hello";
j[3] = a; j[3] = a;
a[14] = j; a[14] = j;
a = nil; a = @nil;
b[1] = a; b[1] = a;
c[1] = 0; c[1] = 0;
} }
@ -98,7 +98,7 @@ BEGIN {
a[13] = "hello"; a[13] = "hello";
j[3] = a; j[3] = a;
a[14] = j; a[14] = j;
a = nil; a = @nil;
b[1] = a; b[1] = a;
c[1] = 0; c[1] = 0;
} }
@ -115,8 +115,8 @@ BEGIN {
a[13] = "hello"; a[13] = "hello";
j[3] = a; j[3] = a;
a[14] = j; a[14] = j;
a = nil; a = @nil;
j = nil; j = @nil; hawk::gc();
b[1] = a; b[1] = a;
c[1] = 0; c[1] = 0;
} }
@ -1135,7 +1135,7 @@ retry:
#if defined(HAWK_ENABLE_GC) #if defined(HAWK_ENABLE_GC)
gc_chain_val (&rtx->gc.g[0], (hawk_val_t*)val); gc_chain_val (&rtx->gc.g[0], (hawk_val_t*)val);
val->v_gc = 1; val->v_gc = 1; /* only array and map are to be garbaged collected as of now */
#if defined(DEBUG_GC) #if defined(DEBUG_GC)
hawk_logbfmt (hawk_rtx_gethawk(rtx), HAWK_LOG_STDERR, "[GC] MADE GCH %p VAL(ARR) %p\n", hawk_val_to_gch(val), val); hawk_logbfmt (hawk_rtx_gethawk(rtx), HAWK_LOG_STDERR, "[GC] MADE GCH %p VAL(ARR) %p\n", hawk_val_to_gch(val), val);
#endif #endif
@ -1242,7 +1242,7 @@ retry:
#if defined(HAWK_ENABLE_GC) #if defined(HAWK_ENABLE_GC)
gc_chain_val (&rtx->gc.g[0], (hawk_val_t*)val); gc_chain_val (&rtx->gc.g[0], (hawk_val_t*)val);
val->v_gc = 1; val->v_gc = 1; /* only array and map are to be garbaged collected as of now */
#if defined(DEBUG_GC) #if defined(DEBUG_GC)
hawk_logbfmt (hawk_rtx_gethawk(rtx), HAWK_LOG_STDERR, "[GC] MADE GCH %p VAL(MAP) %p\n", hawk_val_to_gch(val), val); hawk_logbfmt (hawk_rtx_gethawk(rtx), HAWK_LOG_STDERR, "[GC] MADE GCH %p VAL(MAP) %p\n", hawk_val_to_gch(val), val);
#endif #endif
@ -1260,6 +1260,8 @@ hawk_val_t* hawk_rtx_makemapvalwithdata (hawk_rtx_t* rtx, hawk_val_map_data_t da
map = hawk_rtx_makemapval(rtx); map = hawk_rtx_makemapval(rtx);
if (HAWK_UNLIKELY(!map)) return HAWK_NULL; if (HAWK_UNLIKELY(!map)) return HAWK_NULL;
hawk_rtx_refupval (rtx, map);
for (i = 0; i < count; i++) for (i = 0; i < count; i++)
{ {
hawk_val_map_data_t* p; hawk_val_map_data_t* p;
@ -1325,11 +1327,13 @@ hawk_val_t* hawk_rtx_makemapvalwithdata (hawk_rtx_t* rtx, hawk_val_map_data_t da
if (tmp == HAWK_NULL || hawk_rtx_setmapvalfld(rtx, map, p->key.ptr, p->key.len, tmp) == HAWK_NULL) if (tmp == HAWK_NULL || hawk_rtx_setmapvalfld(rtx, map, p->key.ptr, p->key.len, tmp) == HAWK_NULL)
{ {
if (tmp) hawk_rtx_freeval (rtx, tmp, HAWK_RTX_FREEVAL_CACHE); if (tmp) hawk_rtx_freeval (rtx, tmp, HAWK_RTX_FREEVAL_CACHE);
hawk_rtx_freeval (rtx, map, HAWK_RTX_FREEVAL_CACHE); hawk_rtx_refdownval (rtx, map);
return HAWK_NULL; return HAWK_NULL;
} }
} }
hawk_rtx_refdownval_nofree (rtx, map);
return map; return map;
} }

View File

@ -566,6 +566,8 @@ static int getoption_byid (hawk_rtx_t* rtx, uctx_list_t* list, hawk_int_t id, ha
if (map) if (map)
{ {
count = 1; count = 1;
hawk_rtx_refupval (rtx, map);
uci_foreach_element(&uo->v.list, tmp) uci_foreach_element(&uo->v.list, tmp)
{ {
const hawk_oocs_t* subsep; const hawk_oocs_t* subsep;
@ -577,13 +579,13 @@ static int getoption_byid (hawk_rtx_t* rtx, uctx_list_t* list, hawk_int_t id, ha
fld = hawk_rtx_makestrvalwithbcstr(rtx, tmp->name); fld = hawk_rtx_makestrvalwithbcstr(rtx, tmp->name);
if (!fld) if (!fld)
{ {
hawk_rtx_refupval (rtx, map);
hawk_rtx_refdownval (rtx, map); hawk_rtx_refdownval (rtx, map);
map = HAWK_NULL; map = HAWK_NULL;
x = UCI_ERR_MEM; x = UCI_ERR_MEM;
break; break;
} }
hawk_rtx_refupval (rtx, fld);
subsep = hawk_rtx_getsubsep(rtx); subsep = hawk_rtx_getsubsep(rtx);
k[0].ptr = HAWK_T("value"); k[0].ptr = HAWK_T("value");
@ -599,9 +601,7 @@ static int getoption_byid (hawk_rtx_t* rtx, uctx_list_t* list, hawk_int_t id, ha
if (!kp || hawk_rtx_setmapvalfld(rtx, map, kp, kl, fld) == HAWK_NULL) if (!kp || hawk_rtx_setmapvalfld(rtx, map, kp, kl, fld) == HAWK_NULL)
{ {
if (kp) hawk_rtx_freemem (rtx, kp); if (kp) hawk_rtx_freemem (rtx, kp);
hawk_rtx_refupval (rtx, fld);
hawk_rtx_refdownval (rtx, fld); hawk_rtx_refdownval (rtx, fld);
hawk_rtx_refupval (rtx, map);
hawk_rtx_refdownval (rtx, map); hawk_rtx_refdownval (rtx, map);
map = HAWK_NULL; map = HAWK_NULL;
x = UCI_ERR_MEM; x = UCI_ERR_MEM;
@ -609,15 +609,17 @@ static int getoption_byid (hawk_rtx_t* rtx, uctx_list_t* list, hawk_int_t id, ha
} }
hawk_rtx_freemem (rtx, kp); hawk_rtx_freemem (rtx, kp);
hawk_rtx_refdownval (rtx, fld);
count++; count++;
} }
if (map) if (map)
{ {
if (hawk_rtx_setrefval(rtx, ref, map) <= -1) int n;
n = hawk_rtx_setrefval(rtx, ref, map);
hawk_rtx_refdownval (rtx, map);
if (n <= -1)
{ {
hawk_rtx_refupval (rtx, map);
hawk_rtx_refdownval (rtx, map);
map = HAWK_NULL; map = HAWK_NULL;
return -9999; return -9999;
} }