i played a bit more with selects and found that statement

if ($sht(auth=>foo::count) > @cfg_get.local.gw_timeout) {
   xlog("foo");
}

produces error

 0(9213) : <core> [cfg.y:3379]: parse error in config file 
/etc/sip-proxy/sip-proxy.cfg, line 507, column 28-55: bad expression: type 
mismatch: str instead of int at (507,55)

but the error goes away if i either make explicit conversion

if ($sht(auth=>foo::count) > (int)@cfg_get.local.gw_timeout) {
   xlog("foo");
}

or use $sel

if ($sht(auth=>foo::count) > $sel(cfg_get.local.gw_timeout)) {
   xlog("foo");
}

this is thus exactly opposite than in my t_set_fr ordeal where i got
conversion error when i used $sel instead of @.

in my opinion, no (int) conversion should be needed in the firs case,
because the value of the cfg variable is int.

in summary, writing statements that include selects is very difficult
and error prone.

-- juha

_______________________________________________
Kamailio (OpenSER) - Users mailing list
Users@lists.kamailio.org
http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
http://lists.openser-project.org/cgi-bin/mailman/listinfo/users

Reply via email to