[SR-Dev] new operators & if($v) behaviour

Miklos Tirpak miklos at iptel.org
Fri Apr 24 16:51:18 CEST 2009


On 04/24/2009 04:42 PM, Juha Heinanen wrote:
> Miklos Tirpak writes:
> 
>  > I vote fore keeping the support for "if (@to.tag)" like expressions, and 
>  > adding the extra functions for more precise checks if necessary. So a 
>  > string value could evaluate to true if it exists and not "".
> 
> what if there is no to tag at all or if there is one, but its value is
> ""?

Both of them would return false. Btw, I do not think that empty value is 
allowed for to tag, it's a very rare case, and could be covered with 
some explicit check.

> 
>  > I think it is easier to read and understand "if (@to.tag)" then "if 
>  > (!strempty(@to.tag))"
> 
> why don't you write 'if (@to.tag != "") ...'?  that would be easy to
> understand.

We used to write this, but had lots of issues. The problem happens for 
example with @contact.uri.user, when there is no contact header. 
Unfortunately the select function can return and error instead of 
success with "" value in this case. (The can be also revisited) And 'if 
(@contact.uri.user == "")' would evaluate to false because the left had 
side value does not exist, which is wrong.

Miklos

> 
> -- juha



More information about the sr-dev mailing list