/****************************************************************************** * * * Function: lld_trigger_get * * * * Purpose: finds already existing trigger, using an item prototype and items * * already created by it * * * * Return value: upon successful completion return pointer to the trigger * * * ******************************************************************************/ static zbx_lld_trigger_t *lld_trigger_get(zbx_vector_ptr_t *triggers, zbx_vector_ptr_t *item_links) { int i; zbx_lld_trigger_t *trigger; for (i = 0; i < item_links->values_num; i++) { zbx_lld_item_link_t *item_link = (zbx_lld_item_link_t *)item_links->values[i]; if (NULL != (trigger = lld_trigger_by_item(triggers, item_link->itemid))) return trigger; } return NULL; }
/****************************************************************************** * * * Function: lld_trigger_get * * * * Purpose: finds already existing trigger, using an item prototype and items * * already created by it * * * * Return value: upon successful completion return pointer to the trigger * * * ******************************************************************************/ static zbx_lld_trigger_t *lld_trigger_get(const zbx_vector_ptr_t *functions_proto, zbx_vector_ptr_t *triggers, zbx_vector_ptr_t *item_links) { int i, index; zbx_lld_trigger_t *trigger; zbx_lld_item_link_t *item_link; for (i = 0; i < functions_proto->values_num; i++) { zbx_lld_function_t *function = (zbx_lld_function_t *)functions_proto->values[i]; index = zbx_vector_ptr_bsearch(item_links, &function->itemid, ZBX_DEFAULT_UINT64_PTR_COMPARE_FUNC); if (FAIL == index) continue; item_link = (zbx_lld_item_link_t *)item_links->values[index]; if (NULL != (trigger = lld_trigger_by_item(triggers, item_link->itemid))) return trigger; } return NULL; }