rem: }  }
add: }  t_msg = p_cell->inbound_request;
context: int t_lookup_request( struct sip_msg* p_msg ){   struct cell      *p_cell;   struct cell      *tmp_cell;   unsigned int  hash_index=0;   unsigned int  isACK;   struct sip_msg	*t_msg;   DBG("t_lookup_request: start searching\n");   /* parse all*/   if (check_transaction_quadruple(p_msg)==0)   {      LOG(L_ERR, "ERROR: TM module: t_lookup_request: too few headers\n");      T=0;	  /* stop processing */      return 0;   }   /* start searching into the table */   hash_index = hash( p_msg->callid->body , get_cseq(p_msg)->number ) ;   isACK = p_msg->REQ_METHOD==METHOD_ACK;   DBG("t_lookup_request: continue searching;  hash=%d, isACK=%d\n",hash_index,isACK);   /* lock the hole entry*/   lock( hash_table->entrys[hash_index].mutex );   /* all the transactions from the entry are compared */   p_cell     = hash_table->entrys[hash_index].first_cell;   tmp_cell = 0;   while( p_cell )   {		int abba;		t_msg = p_cell->inbound_request;#define EQ_LEN(_hf) (t_msg->_hf->body.len==p_msg->_hf->body.len)#define EQ_STR(_hf) (memcmp(t_msg->_hf->body.s, p_msg->_hf->body.s, \		p_msg->_hf->body.len)==0)		if ( EQ_LEN(from) && EQ_LEN(callid) &&		  EQ_STR(callid) && EQ_STR(callid) &&		  /* we compare only numerical parts of CSEQ ...		     the method name should be the same as in first line */		  memcmp( get_cseq(t_msg)->number.s , get_cseq(p_msg)->number.s , 				get_cseq(p_msg)->number.len ) ==0 )		{			if (!isACK) {				if (t_msg->REQ_METHOD == p_msg->REQ_METHOD &&					EQ_LEN(to) && EQ_STR(to))					goto found;			} else { /* ACK */				if (t_msg->REQ_METHOD == METHOD_INVITE  &&					//p_cell->tag &&  p_cell->tag->len==p_msg->tag->body.len &&            		//if ( /*tag*/ memcmp( p_cell->tag->s , p_msg->tag->body.s , 					// p_msg->tag->body.len ) ==0 )					EQ_STR( to ) ) {					goto found;				}			} /* ACK */		} /* common HFs equal */      /* next transaction */      tmp_cell = p_cell;      p_cell = p_cell->next_cell;   } /* synonym loop */   /* no transaction found */   T = 0;   unlock( hash_table->entrys[hash_index].mutex );   DBG("DEBUG: t_lookup_request: no transaction found\n");   return -1;found:	T=p_cell;	/* ref_T( T ); */	T_REF( T );	DBG("DEBUG:XXXXXXXXXXXXXXXXXXXXX t_lookup_request: "			"transaction found ( T=%p , ref=%x)\n",T,T->ref_bitmap);	unlock( hash_table->entrys[hash_index].mutex );	return 1;}