[sr-dev] t_set_fr() error
Juha Heinanen
jh at tutpro.com
Wed Mar 31 13:31:53 CEST 2010
Andrei Pelinescu-Onciul writes:
> Could you try something like:
>
> $x=$sel(...));
> $y=@...;
> $z=(int)$sel(...);
>
> and print the values with xlog?
> If $x!=$y, please put it on the bug tracker (and assign Daniel to it
> :-)).
i can write
if ($sel(cfg_get.local.phone_timeout) != @cfg_get.local.phone_timeout) {
xlog("not equal\n");
};
and nothing gets printed to syslog, i.e., it seems to work.
but if i replace != with <, sr does not even start, but prints
0(7102) : <core> [cfg.y:3379]: parse error in config file /etc/sip-proxy/sip-proxy.cfg, line 518, column 40-70: bad expression: type mismatch: str instead of int at (518,70)
0(7102) : <core> [cfg.y:3382]: parse error in config file /etc/sip-proxy/sip-proxy.cfg, line 520, column 6: bad command
same, if i try
if ((int)$sel(cfg_get.local.phone_timeout) > @cfg_get.local.phone_timeout) {
xlog("not equal\n");
};
but if in move (int) to @ select
if ($sel(cfg_get.local.phone_timeout) > (int)@cfg_get.local.phone_timeout) {
xlog("not equal\n");
};
then the start error goes away.
so to me it looks like there is a bug in parsing of
@cfg_get.local.phone_timeout. there is no way the parser could know the
type of @ select. it can only be determined at run time.
is this a "feature" or a bug that i should add to the tracker.
-- juha
More information about the sr-dev
mailing list