rem: LOG(L_NOTICE,"NOTICE:cpl_c:run_lookup: this node failes by default - " "to unsecure and tiem consuming to be exectuted\n"); if (failure_kid) return get_first_child(failure_kid);
add: kid = failure_kid;  if (cpl_domain) {  tc = time(0); cpl_ulb.lock_udomain( cpl_domain ); i = cpl_ulb.get_urecord( cpl_domain, &intr->user, &r); if (i < 0) {  LOG(L_ERR, "ERROR:run_lookup: Error while querying usrloc\n"); cpl_ulb.unlock_udomain( cpl_domain ); } else if (i > 0) {  DBG("DBG:cpl-c:run_lookup: '%.*s' Not found in usrloc\n", intr->user.len, intr->user.s); cpl_ulb.unlock_udomain( cpl_domain ); kid = notfound_kid; } else { contact = r->contacts;  while ((contact) && ((contact->expires <= tc) || (contact->state >= CS_ZOMBIE_N))) contact = contact->next; if (contact) {  if (clear) empty_location_set( &(intr->loc_set) );  DBG("DBG:cpl-c:run_lookup: adding <%.*s>q=%d\n", contact->c.len,contact->c.s,(int)(10*contact->q)); if (add_location( &(intr->loc_set), &contact->c, (int)(10*contact->q), 1 )==-1) { LOG(L_ERR,"ERROR:cpl-c:run_lookup: unable to add " "location to set :-(\n"); cpl_ulb.unlock_udomain( cpl_domain ); goto runtime_error; }  intr->flags |= CPL_LOC_SET_MODIFIED; } cpl_ulb.unlock_udomain( cpl_domain ); }  }  if (kid) return get_first_child(kid);
context: static inline char *run_lookup( struct cpl_interpreter *intr ){	char *kid;	char *failure_kid = 0;	int i;	for( i=0 ; i<NR_OF_KIDS(intr->ip) ; i++ ) {		kid = intr->ip + KID_OFFSET(intr->ip,i);		check_overflow_by_ptr( kid+SIMPLE_NODE_SIZE(kid), intr, script_error);		switch ( NODE_TYPE(kid) ) {			case SUCCESS_NODE :			case NOTFOUND_NODE:				break;			case FAILURE_NODE:				failure_kid = kid;				break;			default:				LOG(L_ERR,"ERROR:run_lookup: unknown output node type"					" (%d) for LOOKUP node\n",NODE_TYPE(kid));				goto script_error;		}	}	LOG(L_NOTICE,"NOTICE:cpl_c:run_lookup: this node failes by default - "		"to unsecure and tiem consuming to be exectuted\n");	if (failure_kid)		return get_first_child(failure_kid);	return DEFAULT_ACTION;script_error:	return CPL_SCRIPT_ERROR;}