pres_ev_t* search_event(event_t* event) { pres_ev_t* pres_ev; pres_ev= EvList->events; LM_DBG("start event= [%.*s]\n", event->text.len, event->text.s); while(pres_ev) { if(pres_ev->evp->parsed== event->parsed) { if(event->params== NULL && pres_ev->evp->params== NULL) { return pres_ev; } /* search all parameters in event in ev */ if(search_event_params(event, pres_ev->evp)< 0) goto cont; /* search all parameters in ev in event */ if(search_event_params(pres_ev->evp, event)< 0) goto cont; return pres_ev; } cont: pres_ev= pres_ev->next; } return NULL; }
pres_ev_t *search_event(event_t *event) { pres_ev_t *pres_ev; pres_ev = EvList->events; LM_DBG("start event= [%.*s/%d]\n", event->name.len, event->name.s, event->type); while(pres_ev) { if((pres_ev->evp->type == event->type && event->type != EVENT_OTHER) || (pres_ev->evp->name.len == event->name.len && strncasecmp(pres_ev->evp->name.s, event->name.s, pres_ev->evp->name.len) == 0)) { if(event->params.list == NULL && pres_ev->evp->params.list == NULL) { return pres_ev; } /* search all parameters in event in ev */ if(search_event_params(event, pres_ev->evp) < 0) goto cont; /* search all parameters in ev in event */ if(search_event_params(pres_ev->evp, event) < 0) goto cont; return pres_ev; } cont: pres_ev = pres_ev->next; } return NULL; }