Steve Murphy
2005-Jun-08 09:23 UTC
[Asterisk-Users] CVS Head, Flex 2.5.31 or higher? READ THIS!
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. murf