[SR-Users] how can string "0" be equal to int 0?
Daniel-Constantin Mierla
miconda at gmail.com
Fri Oct 15 12:58:36 CEST 2010
On 10/15/10 12:44 PM, Juha Heinanen wrote:
> Andrei Pelinescu-Onciul writes:
>
>> Because "==" works only with arguments of the same type, 0 it's
>> autoconverted to "0". The alternative would be to log an error.
> andrei,
>
> please log an error, because it is hard to remember this uncommon
> comparison rule and seeing an error message would reveal the problem
> fast.
Not sure this is a good idea. This kind of comparison behaves the same
from many versions ago.
Note that all pseudo-variables from kamailio keep all the time the
string representation of the value, that was from day one, back in era
of ser 0.9.x where the PV code was part of xlog module.
I don't think a strict type checking is suitable for configuration file
- e.g., if I want to check value in cseq, don't want to get lost in type
conversions.
If there is going to be such error messages, they must be enclosed in a
config parameter.
Cheers,
Daniel
>> Here are the rules for ==:
>> /* if left is string, eval left& right as string and use string diff.
>> * if left is int eval as int using int diff
>> * if left is undef, look at right and convert to right type
>> */
> getting back to the example code, how can i check if value of a var
> is int 0? is there an is_int function?
>
> -- juha
>
> _______________________________________________
> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
> sr-users at lists.sip-router.org
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
--
Daniel-Constantin Mierla
http://www.asipto.com
More information about the sr-users
mailing list