realtimenetprots/sipfw/SIP/Codec/src/TSIPChar.inl
changeset 34 3c8db403127f
parent 0 307788aac0a8
equal deleted inserted replaced
27:740ceea8e153 34:3c8db403127f
   110 
   110 
   111 // -----------------------------------------------------------------------------
   111 // -----------------------------------------------------------------------------
   112 // TSIPChar::IsTokenChar
   112 // TSIPChar::IsTokenChar
   113 // -----------------------------------------------------------------------------
   113 // -----------------------------------------------------------------------------
   114 //
   114 //
   115 inline TBool TSIPChar::IsTokenChar () const
   115 inline TBool TSIPChar::IsTokenChar (RArray<TSIPChar>* aArray) const
   116 	{
   116 	{
   117 	if (IsAlphaDigit()) 
   117 	if (IsAlphaDigit()) 
   118 		{
   118 		{
   119 		return ETrue;
   119 		return ETrue;
   120 		}
   120 		}
   121 	TSIPChar val = *this;
   121 	   TInt length= 0;
   122 	if (val == '-' || val == '.' || val == '!' || val == '%' || val == '*' ||
   122 	   TSIPChar val = *this;
       
   123 	   //Allowing '/' token for interoperability issues
       
   124 	   if (aArray)
       
   125 	       length = aArray->Count();   
       
   126 	   if(length)
       
   127 	       {
       
   128 	       for (TInt i =0; i<length;i++)
       
   129 	           {
       
   130 	           if(val == aArray->operator [](i))
       
   131 	           return ETrue;
       
   132 	           }
       
   133 	       } 
       
   134 	   if (val == '-' || val == '.' || val == '!' || val == '%' || val == '*' ||
   123 		val == '_' || val == '+' || val == '\'' || val == '~' || val == '`')
   135 		val == '_' || val == '+' || val == '\'' || val == '~' || val == '`')
   124 		{
   136 	       {
   125 		return ETrue;
   137 	       return ETrue;
   126 		}
   138 	       }
   127 	return EFalse;
   139 	  
   128 	}
   140 	   return EFalse;
       
   141 	 }
   129 
   142 
   130 // -----------------------------------------------------------------------------
   143 // -----------------------------------------------------------------------------
   131 // TSIPChar::IsSeparator
   144 // TSIPChar::IsSeparator
   132 // -----------------------------------------------------------------------------
   145 // -----------------------------------------------------------------------------
   133 //
   146 //