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