Summary:ASTERISK-07121: [branch] bugs in AEL code
Reporter:Steve Murphy (murf)Labels:
Date Opened:2006-06-07 18:31:43Date Closed:2006-06-18 16:36:39
Versions:Frequency of
Description:1. cidmatch spec in extension name (eg - 12223334444/8095551212 ) isn't working.
2. switch in switch emits bad code.
3. current ael.y file does not compile under bison-2.1a or higher.

These probs are fixed in the teams/murf/AEL-trunk-fixesonly branch.


Cleared up some problems--

1. cidmatch in extension name ( 12223334444/8095551212 ) wasn't working--
  this is because the code didn't put the cidmatch part in the add_extension2() call's
  callerid arg. This is fixed. The stuff after the '/' goes into that arg.
  To fix this, the ael_structs.h file was modified to add the cidmatch field in the
  extension struct.

2. switch in switch wasn't emitting the right instructions. This was because
  a variable (control_statement_count) was being incremented by a recursive
  call to gen_prios(). This was happening only in switch() statements. A temp
  local copy of this var is now set and used after the recursive call to gen_prios().
  This fixed the problem.

3. The ael.y file wasn't 'compilable' by bison, because of an unused rule in the grammar.
  I removed the unused rule. Some previous optimizations had introduced two more shift/reduce
  conflicts. While I still have to investigate these, for now I have changed the %expect
  directive to 7 instead of 5, and these changes now allow bison to process the ael.y file.

4. I added a regression test that covers both the cidmatch and the switch-in-switch
  problems, and updated the rest to pass the checks.
Comments:By: Steve Murphy (murf) 2006-06-07 18:59:33


The problems with cidmatch and switch-in-switch were reported in the
users mailing list last week. Many thanks for bringing these bugs forward!!!
(Namely: Julian Lyndon-Smith,  Wednesday, May 31, 2006 1:21 PM, plus some personal correspondence)

The prob with ael.y is something I discovered when I went to fix the bugs.

By: Serge Vecher (serge-v) 2006-06-12 16:15:49

murf: could you please ask people from the asterisk-users list to test the code and report on it (I'm not subscribed to it). Thanks

By: Russell Bryant (russell) 2006-06-18 16:36:38

merged into the trunk in revision 34665, thanks!