[OpenSIPS-Users] switch / case behaviour
Liviu Chircu
liviu at opensips.org
Thu Apr 12 07:00:57 EDT 2018
Hi Richard,
IMO, that looks like a slip-up which has been probably lurking in there
since the very beginnings. I suggest we should fix it to match the
expected behavior of switch/case/default for most (all?) programming
languages which are out there. It would be interesting to hear other
opinions as well before we act, though.
Cheers,
Liviu Chircu
OpenSIPS Developer
http://www.opensips-solutions.com
On 09.04.2018 16:38, Richard Revels wrote:
> I am unsure of the expected behaviour in the config switch / case
> block when the break is not defined between a defined case and the
> default case but what I'm seeing right now is not what I expect.
> Wanted to get some input before opening a bug tracker on it.
>
> --code--
> route[testswitch]
> {
> switch( $avp(testvalue) )
> {
> case "defined break":
> xlog("L_INFO", "log only this line \n");
> break;
>
> case "non defined break":
> xlog("L_INFO", "log this line and fall through to also and
> then to default \n");
>
> case "also non defined":
> xlog("L_INFO", "log this line and fall through to default \n");
>
> default:
> xlog("L_ERR", "log default line \n");
> }
> xlog("L_ERR", "at end of switch block with $avp(testvalue) \n");
> }
>
> ...
>
> $avp(testvalue) := "defined break";
> route(testswitch);
> $avp(testvalue) := "non defined break";
> route(testswitch);
> $avp(testvalue) := "also non defined";
> route(testswitch);
> $avp(testvalue) := "non defined value";
> route(testswitch);
>
> --end code--
>
> --log--
>
> 2018-04-09T13:13:28.092141+00:00 pidflo-01 /sbin/opensips[25651]: log
> only this line
> 2018-04-09T13:13:28.092150+00:00 pidflo-01 /sbin/opensips[25651]: at
> end of switch block with defined break
> 2018-04-09T13:13:28.092158+00:00 pidflo-01 /sbin/opensips[25651]: log
> this line and fall through to also and then to default
> 2018-04-09T13:13:28.092161+00:00 pidflo-01 /sbin/opensips[25651]: log
> this line and fall through to default
> 2018-04-09T13:13:28.092164+00:00 pidflo-01 /sbin/opensips[25651]: at
> end of switch block with non defined break
> 2018-04-09T13:13:28.092168+00:00 pidflo-01 /sbin/opensips[25651]: log
> this line and fall through to default
> 2018-04-09T13:13:28.092171+00:00 pidflo-01 /sbin/opensips[25651]: at
> end of switch block with also non defined
> 2018-04-09T13:13:28.092176+00:00 pidflo-01 /sbin/opensips[25651]: log
> default line
> 2018-04-09T13:13:28.092179+00:00 pidflo-01 /sbin/opensips[25651]: at
> end of switch block with non defined value
>
> --end log--
>
>
>
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20180412/6a259567/attachment-0001.html>
More information about the Users
mailing list