[SR-Dev] script parsing: string switch support
Andrei Pelinescu-Onciul
andrei at iptel.org
Fri Feb 20 12:22:18 CET 2009
On Feb 20, 2009 at 11:15, Daniel-Constantin Mierla <miconda at gmail.com> wrote:
> Hello Andrei,
>
> On 02/20/2009 12:50 AM, Andrei Pelinescu-Onciul wrote:
> >[...]
> >
> >script parsing: string switch support
> >
> that's great, thanks. From the next example, to understand the the case
> can take expression that evaluates to static strings or integers?
Yes.
There are the following restriction:
- case labels must be static (no vars allowed)
- in the same switch you can have only one type of case labels: strings
or integers (1)
- the first case label sets the required type for all the others
(so if your first case label is a string => all the other must be
strings, if it's an integer all the other must be integers).
(1) - could be changed in some cases (e.g. string case with some int
label allowed, which could be automatically converted to string), but I
think it would too confusing and I disallowed it (in general having
mixed types in a switch() are 99% an error).
I still think that using a different switch() name for strings will be
less confusing (e.g. switch() for integers and match() for strings).
Any opinion on how to differentiate regular expressions from strings?
Right now a '/' in front means a regular expression (but there's no way
to specify case insensitive match for example).
>
> Now, with while and switch in there I can work to get most of my configs
> working with sip-router.
Warning: the while works only with integers :-)
Andrei
More information about the sr-dev
mailing list