rem: T = (struct cell*)-1;
add: T = T_UNDEFINED;
context: int t_forward_uri( struct sip_msg* p_msg, char* foo, char* bar  ){   struct hostent  *nhost;   unsigned int     ip, port;   char                  backup;   str                      uri;   /* it's about the same transaction or not? */   if ( global_msg_id != p_msg->id )   {      T = (struct cell*)-1;      global_msg_id = p_msg->id;   }   DBG("DEBUG: t_forward_uri: 1. T=%x\n", T);   /* if  T hasn't been previous searched -> search for it */   if ( (int)T ==-1 )      t_lookup_request( p_msg, 0 , 0 );   DBG("DEBUG: t_forward_uri: 2. T=%x\n", T);   /*if T hasn't been found after all -> return not found (error) */   if ( !T )      return -1;   /* the original uri has been changed? */   if (p_msg->new_uri.s==0 || p_msg->new_uri.len==0)     uri = p_msg->first_line.u.request.uri;   else     uri = p_msg->new_uri;   /*some dirty trick to get the port and ip of destination */   backup = *((uri.s)+(uri.len));   *((uri.s)+(uri.len)) = 0;   nhost = gethostbyname( uri.s );   *((uri.s)+(uri.len)) = backup;   if ( !nhost )   {      DBG("DEBUG: t_forward_uri: cannot resolve host\n");      return -1;   }   /*IP address*/   memcpy(&ip, nhost->h_addr_list[0], sizeof(unsigned int));   /* port */   port = 5060;   return t_forward( p_msg , ip , port );}