|
@@ -1711,7 +1711,8 @@ static int load_slot_arrays(evt_engine_t* engine, const char* ns, rvc_slot_t* tn
|
|
|
if (nIslog) {
|
|
|
DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("slot miss attribute code!");
|
|
|
}
|
|
|
- goto on_error;
|
|
|
+ slot_free(slot);
|
|
|
+ return Error_Unexpect;
|
|
|
}
|
|
|
else {
|
|
|
DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("tnode->strCode == %s.", tnode->strCode);
|
|
@@ -1720,7 +1721,8 @@ static int load_slot_arrays(evt_engine_t* engine, const char* ns, rvc_slot_t* tn
|
|
|
if (nIslog) {
|
|
|
DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("parse code failed!");
|
|
|
}
|
|
|
- goto on_error;
|
|
|
+ slot_free(slot);
|
|
|
+ return Error_Unexpect;
|
|
|
}
|
|
|
else {
|
|
|
slot->key.code = code;
|
|
@@ -1732,12 +1734,14 @@ static int load_slot_arrays(evt_engine_t* engine, const char* ns, rvc_slot_t* tn
|
|
|
DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("tnode->strTimeout == %s.", tnode->strTimeout);
|
|
|
evt_expire_t* expire = ZALLOC_T(evt_expire_t);
|
|
|
if (!expire) {
|
|
|
- goto on_error;
|
|
|
+ slot_free(slot);
|
|
|
+ return Error_Unexpect;
|
|
|
}
|
|
|
expire->timeout = parse_timeout_value(tnode->strTimeout);
|
|
|
if (expire->timeout < 0) {
|
|
|
FREE(expire);
|
|
|
- goto on_error;
|
|
|
+ slot_free(slot);
|
|
|
+ return Error_Unexpect;
|
|
|
}
|
|
|
|
|
|
if (expire->timeout == 0) {
|
|
@@ -1790,7 +1794,8 @@ static int load_slot_arrays(evt_engine_t* engine, const char* ns, rvc_slot_t* tn
|
|
|
if (nIslog) {
|
|
|
DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("parse code of Reset tag Source attribute failed!");
|
|
|
}
|
|
|
- goto on_error;
|
|
|
+ slot_free(slot);
|
|
|
+ return Error_Unexpect;
|
|
|
}
|
|
|
else {
|
|
|
ARRAY_PUSH(slot->arr_reset, char*) = source;
|
|
@@ -1810,7 +1815,8 @@ static int load_slot_arrays(evt_engine_t* engine, const char* ns, rvc_slot_t* tn
|
|
|
if (nIslog) {
|
|
|
DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("duplicate slot %s", slot->key.code);
|
|
|
}
|
|
|
- goto on_error;
|
|
|
+ slot_free(slot);
|
|
|
+ return Error_Unexpect;
|
|
|
}
|
|
|
|
|
|
DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("%s:%d engine->slot_ht->size = %d, engine->slot_ht count = %d.", __FUNCTION__, __LINE__, engine->slot_ht->size, htable_get_count(engine->slot_ht));
|
|
@@ -1822,10 +1828,6 @@ static int load_slot_arrays(evt_engine_t* engine, const char* ns, rvc_slot_t* tn
|
|
|
DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("%s:%d engine->slot_ht->size = %d, engine->slot_ht count = %d.", __FUNCTION__, __LINE__, engine->slot_ht->size, htable_get_count(engine->slot_ht));
|
|
|
|
|
|
return 0;
|
|
|
-
|
|
|
-on_error:
|
|
|
- slot_free(slot);
|
|
|
- return Error_Unexpect;
|
|
|
}
|
|
|
|
|
|
|
|
@@ -2096,7 +2098,8 @@ static int load_sysvar_element_rule(evt_engine_t* engine, evt_trigger_t* trigger
|
|
|
rule->ref_sysvar = sysvar;
|
|
|
}
|
|
|
else {
|
|
|
- goto on_error;
|
|
|
+ sysvar_rule_free(rule);
|
|
|
+ return Error_Unexpect;
|
|
|
}
|
|
|
|
|
|
if (sysvar_elem->strPositive) {
|
|
@@ -2128,16 +2131,13 @@ static int load_sysvar_element_rule(evt_engine_t* engine, evt_trigger_t* trigger
|
|
|
if (nIslog) {
|
|
|
DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("trigger sysvar does not have state children!");
|
|
|
}
|
|
|
- goto on_error;
|
|
|
+ sysvar_rule_free(rule);
|
|
|
+ return Error_Unexpect;
|
|
|
}
|
|
|
|
|
|
list_add_tail(&rule->entry, &trigger->sysvar_list);
|
|
|
|
|
|
return 0;
|
|
|
-
|
|
|
-on_error:
|
|
|
- sysvar_rule_free(rule);
|
|
|
- return Error_Unexpect;
|
|
|
}
|
|
|
|
|
|
static int load_sysvar_rule(evt_engine_t *engine, evt_trigger_t *trigger, scew_element *sysvar_elem)
|
|
@@ -2234,14 +2234,16 @@ static int load_trigger_arrays(evt_engine_t* engine, const char* ns, rvc_trigger
|
|
|
if (nIslog) {
|
|
|
DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("trigger log type parse failed!");
|
|
|
}
|
|
|
- goto on_error;
|
|
|
+ trigger_free(trigger);
|
|
|
+ return Error_Unexpect;
|
|
|
}
|
|
|
}
|
|
|
else {
|
|
|
if (nIslog) {
|
|
|
DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("trigger LogType undefined!");
|
|
|
}
|
|
|
- goto on_error;
|
|
|
+ trigger_free(trigger);
|
|
|
+ return Error_Unexpect;
|
|
|
}
|
|
|
|
|
|
if (trigger_elem->strSeverityLevel) {
|
|
@@ -2251,7 +2253,8 @@ static int load_trigger_arrays(evt_engine_t* engine, const char* ns, rvc_trigger
|
|
|
if (nIslog) {
|
|
|
DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("trigger parse severity level failed!");
|
|
|
}
|
|
|
- goto on_error;
|
|
|
+ trigger_free(trigger);
|
|
|
+ return Error_Unexpect;
|
|
|
}
|
|
|
}
|
|
|
else {
|
|
@@ -2259,7 +2262,8 @@ static int load_trigger_arrays(evt_engine_t* engine, const char* ns, rvc_trigger
|
|
|
if (nIslog) {
|
|
|
DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("trigger LogType undefined!");
|
|
|
}
|
|
|
- goto on_error;
|
|
|
+ trigger_free(trigger);
|
|
|
+ return Error_Unexpect;
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -2270,7 +2274,8 @@ static int load_trigger_arrays(evt_engine_t* engine, const char* ns, rvc_trigger
|
|
|
if (nIslog) {
|
|
|
DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("trigger parse sys code failed! sys_code: %s", trigger_elem->strSysError);
|
|
|
}
|
|
|
- goto on_error;
|
|
|
+ trigger_free(trigger);
|
|
|
+ return Error_Unexpect;
|
|
|
}
|
|
|
}
|
|
|
else {
|
|
@@ -2278,7 +2283,8 @@ static int load_trigger_arrays(evt_engine_t* engine, const char* ns, rvc_trigger
|
|
|
if (nIslog) {
|
|
|
DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("trigger parse sys code undefined!");
|
|
|
}
|
|
|
- goto on_error;
|
|
|
+ trigger_free(trigger);
|
|
|
+ return Error_Unexpect;
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -2291,7 +2297,8 @@ static int load_trigger_arrays(evt_engine_t* engine, const char* ns, rvc_trigger
|
|
|
if (nIslog) {
|
|
|
DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("trigger parse user code undefined!");
|
|
|
}
|
|
|
- goto on_error;
|
|
|
+ trigger_free(trigger);
|
|
|
+ return Error_Unexpect;
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -2332,10 +2339,6 @@ static int load_trigger_arrays(evt_engine_t* engine, const char* ns, rvc_trigger
|
|
|
list_add_tail(&trigger->entry, &engine->trigger_list);
|
|
|
|
|
|
return 0;
|
|
|
-
|
|
|
-on_error:
|
|
|
- trigger_free(trigger);
|
|
|
- return Error_Unexpect;
|
|
|
}
|
|
|
|
|
|
static int load_trigger(evt_engine_t *engine, const char *ns, scew_element *trigger_elem)
|
|
@@ -2583,8 +2586,8 @@ static int load_strategy_array(evt_engine_t* engine, slot_trigger_elem_t* peleme
|
|
|
int rc = Error_Param;
|
|
|
|
|
|
DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("ns = %s.", pelement->slotns);
|
|
|
- DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("sizeof(pelement->slotarr) = %d.", sizeof(pelement->slotarr));
|
|
|
- for (int islot = 0; islot < sizeof(pelement->slotarr) / sizeof(rvc_slot_t); islot++) {
|
|
|
+ DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("pelement->islotarrlen = %d.", pelement->islotarrlen);
|
|
|
+ for (int islot = 0; islot < pelement->islotarrlen; islot++) {
|
|
|
if (load_slot_arrays(engine, ns, &pelement->slotarr[islot]) != 0) {
|
|
|
if (nIslog) {
|
|
|
DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("load slot array failed!");
|
|
@@ -2593,8 +2596,8 @@ static int load_strategy_array(evt_engine_t* engine, slot_trigger_elem_t* peleme
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("sizeof(pelement->triggerarr) = %d.", sizeof(pelement->triggerarr));
|
|
|
- for (int itrigger = 0; itrigger < sizeof(pelement->triggerarr) / sizeof(rvc_trigger_t); itrigger++) {
|
|
|
+ DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("pelement->itriggerarrlen = %d.", pelement->itriggerarrlen);
|
|
|
+ for (int itrigger = 0; itrigger < pelement->itriggerarrlen; itrigger++) {
|
|
|
if (load_trigger_arrays(engine, ns, &pelement->triggerarr[itrigger]) != 0) {
|
|
|
if (nIslog) {
|
|
|
DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("load trigger array failed!");
|