[Asterisk-Dev] CVS Head, Flex 2.5.31 or higher? READ THIS!

Steve Murphy murf at e-tools.com
Wed Jun 8 09:23:19 MST 2005

Everyone using CVS head, and owning flex-2.5.31 (or higher)--

Please note that a new version of the expression ( $[  ]  constructs used in extensions.conf ) parser
is automatically built by the makefile if your flex is at 2.5.31 or higher. You can see what your
flex version is by saying flex -V...

Now, the new scanner has some nice things about it, but it does behave a little differently
in some (hopefully rare) situations. To help find one of these situations quickly, I submitted
a program for consideration to be included somewhere in the asterisk CVS, which checks for the
one problem I've seen reported so far. I advise everyone using cvs head and having flex-2.5.31, to
run this program the first time you build asterisk. You won't need it afterwards. Look at the 
expressions it flags, and if you don't understand the issue, read the README.variables file.

First, you can obtain the check_expr.c file by browsing to: http://bugs.digium.com/view.php?id=4491
and clicking on the attached file link.

Compile it with gcc -o check_expr -g check_expr.c

run it with ./check_expr /etc/asterisk/extensions.conf      (or whatever the path is on your machine).

an expr2_log file will be created, and every $[ ] expression it finds will be listed with its status.

If you get any warnings, look over the situation, and see if you have to do anything. The most likely
thing you might want to do is wrap some things in double quotes to keep the indicated operator from
being evaluated, such as regex expressions for the ":" operator.

Any questions, just write me. I'll do the best I can.


More information about the asterisk-dev mailing list