realtimenetprots/sipfw/SIP/Codec/src/TSIPChar.inl
changeset 34 3c8db403127f
parent 0 307788aac0a8
--- a/realtimenetprots/sipfw/SIP/Codec/src/TSIPChar.inl	Fri Jun 11 14:01:23 2010 +0300
+++ b/realtimenetprots/sipfw/SIP/Codec/src/TSIPChar.inl	Wed Jun 23 18:36:31 2010 +0300
@@ -112,20 +112,33 @@
 // TSIPChar::IsTokenChar
 // -----------------------------------------------------------------------------
 //
-inline TBool TSIPChar::IsTokenChar () const
+inline TBool TSIPChar::IsTokenChar (RArray<TSIPChar>* aArray) const
 	{
 	if (IsAlphaDigit()) 
 		{
 		return ETrue;
 		}
-	TSIPChar val = *this;
-	if (val == '-' || val == '.' || val == '!' || val == '%' || val == '*' ||
+	   TInt length= 0;
+	   TSIPChar val = *this;
+	   //Allowing '/' token for interoperability issues
+	   if (aArray)
+	       length = aArray->Count();   
+	   if(length)
+	       {
+	       for (TInt i =0; i<length;i++)
+	           {
+	           if(val == aArray->operator [](i))
+	           return ETrue;
+	           }
+	       } 
+	   if (val == '-' || val == '.' || val == '!' || val == '%' || val == '*' ||
 		val == '_' || val == '+' || val == '\'' || val == '~' || val == '`')
-		{
-		return ETrue;
-		}
-	return EFalse;
-	}
+	       {
+	       return ETrue;
+	       }
+	  
+	   return EFalse;
+	 }
 
 // -----------------------------------------------------------------------------
 // TSIPChar::IsSeparator