Beispiel #1
0
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;

}
Beispiel #2
0
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;
}