changed awk modules to hard-fail when qse_awk_setrefval() fails
This commit is contained in:
@ -292,11 +292,7 @@ static int read_byid (qse_awk_rtx_t* rtx, dir_list_t* list, qse_long_t id, qse_a
|
||||
qse_awk_rtx_refupval (rtx, tmp);
|
||||
n = qse_awk_rtx_setrefval (rtx, ref, tmp);
|
||||
qse_awk_rtx_refdownval (rtx, tmp);
|
||||
if (n <= -1)
|
||||
{
|
||||
list->errnum = awk_err_to_errnum (qse_awk_rtx_geterrnum (rtx));
|
||||
return -1;
|
||||
}
|
||||
if (n <= -1) return -9999;
|
||||
}
|
||||
|
||||
return 1; /* has entry */
|
||||
@ -479,6 +475,7 @@ static int fnc_dir_read (qse_awk_rtx_t* rtx, const qse_awk_fnc_info_t* fi)
|
||||
else
|
||||
{
|
||||
ret = read_byid (rtx, list, id, qse_awk_rtx_getarg (rtx, 1));
|
||||
if (ret == -9999) return -1;
|
||||
}
|
||||
|
||||
/* no error check for qse_awk_rtx_makeintval() here since ret
|
||||
|
@ -571,7 +571,8 @@ static int fnc_getnwifcfg (qse_awk_rtx_t* rtx, const qse_awk_fnc_info_t* fi)
|
||||
qse_awk_rtx_refupval (rtx, tmp);
|
||||
x = qse_awk_rtx_setrefval (rtx, qse_awk_rtx_getarg (rtx, 2), tmp);
|
||||
qse_awk_rtx_refdownval (rtx, tmp);
|
||||
if (x >= 0) ret = 0;
|
||||
if (x <= -1) return -1;
|
||||
ret = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -475,7 +475,7 @@ static int getsection_byid (
|
||||
qse_awk_rtx_refupval (rtx, tmp);
|
||||
n = qse_awk_rtx_setrefval (rtx, ref, tmp);
|
||||
qse_awk_rtx_refdownval (rtx, tmp);
|
||||
if (n <= -1) x = UCI_ERR_MEM; /* this is not a correct error code. who cares? */
|
||||
if (n <= -1) return -9999;
|
||||
}
|
||||
else x = UCI_ERR_MEM;
|
||||
}
|
||||
@ -540,7 +540,7 @@ static int getoption_byid (
|
||||
if (n <= -1)
|
||||
{
|
||||
map = QSE_NULL;
|
||||
x = UCI_ERR_MEM;
|
||||
return -9999;
|
||||
}
|
||||
}
|
||||
else x = UCI_ERR_MEM;
|
||||
@ -624,7 +624,7 @@ static int getoption_byid (
|
||||
qse_awk_rtx_refupval (rtx, map);
|
||||
qse_awk_rtx_refdownval (rtx, map);
|
||||
map = QSE_NULL;
|
||||
x = UCI_ERR_MEM;
|
||||
return -9999;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1242,6 +1242,7 @@ static int fnc_uci_getoption (qse_awk_rtx_t* rtx, const qse_awk_fnc_info_t* fi)
|
||||
{
|
||||
ret = getoption_byid (rtx, list, id, item, qse_awk_rtx_getarg (rtx, 2));
|
||||
qse_awk_rtx_freemem (rtx, item);
|
||||
if (ret == -9999) return -1;
|
||||
}
|
||||
else ret = -UCI_ERR_MEM;
|
||||
}
|
||||
@ -1276,6 +1277,7 @@ static int fnc_uci_getsection (qse_awk_rtx_t* rtx, const qse_awk_fnc_info_t* fi)
|
||||
{
|
||||
ret = getsection_byid (rtx, list, id, item, qse_awk_rtx_getarg (rtx, 2));
|
||||
qse_awk_rtx_freemem (rtx, item);
|
||||
if (ret == -9999) return -1;
|
||||
}
|
||||
else ret = -UCI_ERR_MEM;
|
||||
}
|
||||
|
@ -2542,14 +2542,15 @@ done:
|
||||
{
|
||||
int x;
|
||||
qse_awk_rtx_refupval (rtx, rv);
|
||||
x = qse_awk_rtx_setrefval (rtx, qse_awk_rtx_getarg (rtx, 2), rv);
|
||||
ret = qse_awk_rtx_setrefval (rtx, qse_awk_rtx_getarg (rtx, 2), rv);
|
||||
qse_awk_rtx_refdownval (rtx, rv);
|
||||
if (x <= -1) retv = qse_awk_val_negone;
|
||||
else retv = qse_awk_val_zero;
|
||||
if (ret >= 0) qse_awk_rtx_setretval (rtx, qse_awk_val_zero);
|
||||
}
|
||||
else
|
||||
{
|
||||
qse_awk_rtx_setretval (rtx, qse_awk_val_negone);
|
||||
}
|
||||
else retv = qse_awk_val_negone;
|
||||
|
||||
qse_awk_rtx_setretval (rtx, qse_awk_val_zero);
|
||||
}
|
||||
|
||||
return ret;
|
||||
|
Reference in New Issue
Block a user