extensions.ael 877 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. context test1
  2. {
  3. s =>
  4. {
  5. goto lab1;
  6. if( ${testnotnull} )
  7. {
  8. lab1:
  9. NoOp(hello);
  10. }
  11. else
  12. {
  13. lab1:
  14. MoOp(goodbye);
  15. }
  16. }
  17. 1 =>
  18. {
  19. lab1:
  20. NoOp(This one is OK.);
  21. }
  22. }
  23. macro endcall5(type) {
  24. switch(${type}) {
  25. case out:
  26. if(${testnotnull}) {
  27. NoOp(whoosh);
  28. goto ptr1 ; // <-- goto call to valid label
  29. }
  30. case in:
  31. ptr1: // The First label is the valid one...
  32. if(${testnotnull}) {
  33. NoOp(wow);
  34. goto ptr1 ; // <-- goto call to valid label
  35. }
  36. Noop(esac) ;
  37. }
  38. if(${testnotnull}) {
  39. goto ptr1;
  40. }
  41. switch(${type}) {
  42. case out:
  43. switch(${type})
  44. {
  45. case in:
  46. if(${testnotnull}) {
  47. ptr1: // <-- duplicate label (macros are about the equiv of an extension)
  48. Softhangup(${CHANNEL});
  49. break ;
  50. }
  51. Noop(esac) ;
  52. }
  53. }
  54. return;
  55. }