These changes fix the problems reported in bug 8090

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@44380 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Steve Murphy
2006-10-04 19:57:08 +00:00
parent ff05bf15c8
commit c37666252d
19 changed files with 312 additions and 281 deletions

View File

@@ -0,0 +1,4 @@
context real-small {
}

View File

@@ -5,11 +5,10 @@
(You can use the -w option to dump extensions.conf format to extensions.conf.aeldump) (You can use the -w option to dump extensions.conf format to extensions.conf.aeldump)
Executed ast_cli_register_multiple(); LOG: lev:2 file:pbx_ael.c line:3803 func: pbx_load_module Starting AEL load process.
LOG: lev:2 file:../pbx/pbx_ael.c line:3747 func: pbx_load_module Starting AEL load process. LOG: lev:2 file:pbx_ael.c line:3810 func: pbx_load_module AEL load process: calculated config file name './extensions.ael'.
LOG: lev:2 file:../pbx/pbx_ael.c line:3754 func: pbx_load_module AEL load process: calculated config file name './extensions.ael'. LOG: lev:2 file:pbx_ael.c line:3818 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'.
LOG: lev:2 file:../pbx/pbx_ael.c line:3757 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'. LOG: lev:2 file:pbx_ael.c line:3821 func: pbx_load_module AEL load process: checked config file name './extensions.ael'.
LOG: lev:2 file:../pbx/pbx_ael.c line:3760 func: pbx_load_module AEL load process: checked config file name './extensions.ael'.
Executed ast_context_create(conts, name=macro-endsess, registrar=pbx_ael); Executed ast_context_create(conts, name=macro-endsess, registrar=pbx_ael);
Executed ast_context_create(conts, name=macro-nullchk, registrar=pbx_ael); Executed ast_context_create(conts, name=macro-nullchk, registrar=pbx_ael);
Executed ast_context_create(conts, name=macro-endcall, registrar=pbx_ael); Executed ast_context_create(conts, name=macro-endcall, registrar=pbx_ael);
@@ -121,9 +120,9 @@ Executed ast_add_extension2(context=macro-endcall5, rep=0, exten=sw-16-out, prio
Executed ast_add_extension2(context=macro-endcall5, rep=0, exten=sw-16-out, priority=4, label=(null), callerid=(null), appl=Goto, data=sw-21-in|ptr1, FREE, registrar=pbx_ael); Executed ast_add_extension2(context=macro-endcall5, rep=0, exten=sw-16-out, priority=4, label=(null), callerid=(null), appl=Goto, data=sw-21-in|ptr1, FREE, registrar=pbx_ael);
Executed ast_add_extension2(context=macro-endcall5, rep=0, exten=sw-16-out, priority=5, label=(null), callerid=(null), appl=NoOp, data=Finish if-sw-endcall5-out-16-17, FREE, registrar=pbx_ael); Executed ast_add_extension2(context=macro-endcall5, rep=0, exten=sw-16-out, priority=5, label=(null), callerid=(null), appl=NoOp, data=Finish if-sw-endcall5-out-16-17, FREE, registrar=pbx_ael);
Executed ast_add_extension2(context=macro-endcall5, rep=0, exten=sw-16-out, priority=6, label=(null), callerid=(null), appl=Goto, data=sw-16-in|1, FREE, registrar=pbx_ael); Executed ast_add_extension2(context=macro-endcall5, rep=0, exten=sw-16-out, priority=6, label=(null), callerid=(null), appl=Goto, data=sw-16-in|1, FREE, registrar=pbx_ael);
LOG: lev:2 file:../pbx/pbx_ael.c line:3762 func: pbx_load_module AEL load process: compiled config file name './extensions.ael'. LOG: lev:2 file:pbx_ael.c line:3823 func: pbx_load_module AEL load process: compiled config file name './extensions.ael'.
Executed ast_merge_contexts_and_delete(); Executed ast_merge_contexts_and_delete();
LOG: lev:2 file:../pbx/pbx_ael.c line:3765 func: pbx_load_module AEL load process: merged config file name './extensions.ael'. LOG: lev:2 file:pbx_ael.c line:3826 func: pbx_load_module AEL load process: merged config file name './extensions.ael'.
Executed ast_walk_contexts(); Executed ast_walk_contexts();
LOG: lev:2 file:../pbx/pbx_ael.c line:3768 func: pbx_load_module AEL load process: verified config file name './extensions.ael'. LOG: lev:2 file:pbx_ael.c line:3829 func: pbx_load_module AEL load process: verified config file name './extensions.ael'.
LOG: lev:4 file:ael2_parse line:458 func: main 7 contexts, 17 extensions, 104 priorities LOG: lev:4 file:ael2_parse line:479 func: main 7 contexts, 17 extensions, 104 priorities

View File

@@ -5,11 +5,10 @@
(You can use the -w option to dump extensions.conf format to extensions.conf.aeldump) (You can use the -w option to dump extensions.conf format to extensions.conf.aeldump)
Executed ast_cli_register_multiple(); LOG: lev:2 file:pbx_ael.c line:3803 func: pbx_load_module Starting AEL load process.
LOG: lev:2 file:../pbx/pbx_ael.c line:3747 func: pbx_load_module Starting AEL load process. LOG: lev:2 file:pbx_ael.c line:3810 func: pbx_load_module AEL load process: calculated config file name './extensions.ael'.
LOG: lev:2 file:../pbx/pbx_ael.c line:3754 func: pbx_load_module AEL load process: calculated config file name './extensions.ael'. LOG: lev:2 file:pbx_ael.c line:3818 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'.
LOG: lev:2 file:../pbx/pbx_ael.c line:3757 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'. LOG: lev:2 file:pbx_ael.c line:3821 func: pbx_load_module AEL load process: checked config file name './extensions.ael'.
LOG: lev:2 file:../pbx/pbx_ael.c line:3760 func: pbx_load_module AEL load process: checked config file name './extensions.ael'.
Executed ast_context_create(conts, name=test1, registrar=pbx_ael); Executed ast_context_create(conts, name=test1, registrar=pbx_ael);
Executed ast_add_extension2(context=test1, rep=0, exten=771, priority=1, label=(null), callerid=(null), appl=Set, data=i=$[0], FREE, registrar=pbx_ael); Executed ast_add_extension2(context=test1, rep=0, exten=771, priority=1, label=(null), callerid=(null), appl=Set, data=i=$[0], FREE, registrar=pbx_ael);
Executed ast_add_extension2(context=test1, rep=0, exten=771, priority=2, label=(null), callerid=(null), appl=GotoIf, data=$[ Executed ast_add_extension2(context=test1, rep=0, exten=771, priority=2, label=(null), callerid=(null), appl=GotoIf, data=$[
@@ -24,9 +23,9 @@ Executed ast_add_extension2(context=test1, rep=0, exten=772, priority=3, label=(
Executed ast_add_extension2(context=test1, rep=0, exten=772, priority=4, label=(null), callerid=(null), appl=Set, data=i=$[ ${i} + 1 ], FREE, registrar=pbx_ael); Executed ast_add_extension2(context=test1, rep=0, exten=772, priority=4, label=(null), callerid=(null), appl=Set, data=i=$[ ${i} + 1 ], FREE, registrar=pbx_ael);
Executed ast_add_extension2(context=test1, rep=0, exten=772, priority=5, label=(null), callerid=(null), appl=Goto, data=2, FREE, registrar=pbx_ael); Executed ast_add_extension2(context=test1, rep=0, exten=772, priority=5, label=(null), callerid=(null), appl=Goto, data=2, FREE, registrar=pbx_ael);
Executed ast_add_extension2(context=test1, rep=0, exten=772, priority=6, label=(null), callerid=(null), appl=NoOp, data=Finish for-test1-2, FREE, registrar=pbx_ael); Executed ast_add_extension2(context=test1, rep=0, exten=772, priority=6, label=(null), callerid=(null), appl=NoOp, data=Finish for-test1-2, FREE, registrar=pbx_ael);
LOG: lev:2 file:../pbx/pbx_ael.c line:3762 func: pbx_load_module AEL load process: compiled config file name './extensions.ael'. LOG: lev:2 file:pbx_ael.c line:3823 func: pbx_load_module AEL load process: compiled config file name './extensions.ael'.
Executed ast_merge_contexts_and_delete(); Executed ast_merge_contexts_and_delete();
LOG: lev:2 file:../pbx/pbx_ael.c line:3765 func: pbx_load_module AEL load process: merged config file name './extensions.ael'. LOG: lev:2 file:pbx_ael.c line:3826 func: pbx_load_module AEL load process: merged config file name './extensions.ael'.
Executed ast_walk_contexts(); Executed ast_walk_contexts();
LOG: lev:2 file:../pbx/pbx_ael.c line:3768 func: pbx_load_module AEL load process: verified config file name './extensions.ael'. LOG: lev:2 file:pbx_ael.c line:3829 func: pbx_load_module AEL load process: verified config file name './extensions.ael'.
LOG: lev:4 file:ael2_parse line:458 func: main 1 contexts, 2 extensions, 12 priorities LOG: lev:4 file:ael2_parse line:479 func: main 1 contexts, 2 extensions, 12 priorities

View File

@@ -5,11 +5,10 @@
(You can use the -w option to dump extensions.conf format to extensions.conf.aeldump) (You can use the -w option to dump extensions.conf format to extensions.conf.aeldump)
Executed ast_cli_register_multiple(); LOG: lev:2 file:pbx_ael.c line:3803 func: pbx_load_module Starting AEL load process.
LOG: lev:2 file:../pbx/pbx_ael.c line:3747 func: pbx_load_module Starting AEL load process. LOG: lev:2 file:pbx_ael.c line:3810 func: pbx_load_module AEL load process: calculated config file name './extensions.ael'.
LOG: lev:2 file:../pbx/pbx_ael.c line:3754 func: pbx_load_module AEL load process: calculated config file name './extensions.ael'. LOG: lev:2 file:pbx_ael.c line:3818 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'.
LOG: lev:2 file:../pbx/pbx_ael.c line:3757 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'. LOG: lev:2 file:pbx_ael.c line:3821 func: pbx_load_module AEL load process: checked config file name './extensions.ael'.
LOG: lev:2 file:../pbx/pbx_ael.c line:3760 func: pbx_load_module AEL load process: checked config file name './extensions.ael'.
Executed ast_context_create(conts, name=workext, registrar=pbx_ael); Executed ast_context_create(conts, name=workext, registrar=pbx_ael);
Executed ast_context_add_ignorepat2(con, value=8, registrar=pbx_ael); Executed ast_context_add_ignorepat2(con, value=8, registrar=pbx_ael);
Executed ast_context_add_ignorepat2(con, value=9, registrar=pbx_ael); Executed ast_context_add_ignorepat2(con, value=9, registrar=pbx_ael);
@@ -17,9 +16,9 @@ Executed ast_add_extension2(context=workext, rep=0, exten=793, priority=1, label
Executed ast_add_extension2(context=workext, rep=0, exten=793, priority=2, label=(null), callerid=(null), appl=Verbose, data=2|${QUERYSTRING}, FREE, registrar=pbx_ael); Executed ast_add_extension2(context=workext, rep=0, exten=793, priority=2, label=(null), callerid=(null), appl=Verbose, data=2|${QUERYSTRING}, FREE, registrar=pbx_ael);
Executed ast_add_extension2(context=workext, rep=0, exten=793, priority=3, label=(null), callerid=(null), appl=Set, data=query=$["SELECT foo\, bar FROM foobar" ], FREE, registrar=pbx_ael); Executed ast_add_extension2(context=workext, rep=0, exten=793, priority=3, label=(null), callerid=(null), appl=Set, data=query=$["SELECT foo\, bar FROM foobar" ], FREE, registrar=pbx_ael);
Executed ast_add_extension2(context=workext, rep=0, exten=793, priority=4, label=(null), callerid=(null), appl=Verbose, data=2|${query}, FREE, registrar=pbx_ael); Executed ast_add_extension2(context=workext, rep=0, exten=793, priority=4, label=(null), callerid=(null), appl=Verbose, data=2|${query}, FREE, registrar=pbx_ael);
LOG: lev:2 file:../pbx/pbx_ael.c line:3762 func: pbx_load_module AEL load process: compiled config file name './extensions.ael'. LOG: lev:2 file:pbx_ael.c line:3823 func: pbx_load_module AEL load process: compiled config file name './extensions.ael'.
Executed ast_merge_contexts_and_delete(); Executed ast_merge_contexts_and_delete();
LOG: lev:2 file:../pbx/pbx_ael.c line:3765 func: pbx_load_module AEL load process: merged config file name './extensions.ael'. LOG: lev:2 file:pbx_ael.c line:3826 func: pbx_load_module AEL load process: merged config file name './extensions.ael'.
Executed ast_walk_contexts(); Executed ast_walk_contexts();
LOG: lev:2 file:../pbx/pbx_ael.c line:3768 func: pbx_load_module AEL load process: verified config file name './extensions.ael'. LOG: lev:2 file:pbx_ael.c line:3829 func: pbx_load_module AEL load process: verified config file name './extensions.ael'.
LOG: lev:4 file:ael2_parse line:458 func: main 1 contexts, 1 extensions, 4 priorities LOG: lev:4 file:ael2_parse line:479 func: main 1 contexts, 1 extensions, 4 priorities

View File

@@ -2,13 +2,13 @@
(If you find progress and other non-error messages irritating, you can use -q to suppress them) (If you find progress and other non-error messages irritating, you can use -q to suppress them)
(You can use the -w option to dump extensions.conf format to extensions.conf.aeldump) (You can use the -w option to dump extensions.conf format to extensions.conf.aeldump)
LOG: lev:2 file:../pbx/pbx_ael.c line:3747 func: pbx_load_module Starting AEL load process. LOG: lev:2 file:pbx_ael.c line:3803 func: pbx_load_module Starting AEL load process.
LOG: lev:2 file:../pbx/pbx_ael.c line:3754 func: pbx_load_module AEL load process: calculated config file name './extensions.ael'. LOG: lev:2 file:pbx_ael.c line:3810 func: pbx_load_module AEL load process: calculated config file name './extensions.ael'.
LOG: lev:2 file:../pbx/pbx_ael.c line:3757 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'. LOG: lev:2 file:pbx_ael.c line:3818 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'.
LOG: lev:3 file:../pbx/pbx_ael.c line:899 func: check_dow Warning: file ./extensions.ael, line 67-67: The day (m0n) must be one of 'sun', 'mon', 'tue', 'wed', 'thu', 'fri', or 'sat'! LOG: lev:3 file:pbx_ael.c line:897 func: check_dow Warning: file ./extensions.ael, line 67-67: The day (m0n) must be one of 'sun', 'mon', 'tue', 'wed', 'thu', 'fri', or 'sat'!
LOG: lev:3 file:../pbx/pbx_ael.c line:857 func: check_timerange Warning: file ./extensions.ael, line 78-78: The end time (25:00) is out of range! LOG: lev:3 file:pbx_ael.c line:855 func: check_timerange Warning: file ./extensions.ael, line 78-78: The end time (25:00) is out of range!
LOG: lev:2 file:../pbx/pbx_ael.c line:3760 func: pbx_load_module AEL load process: checked config file name './extensions.ael'. LOG: lev:2 file:pbx_ael.c line:3821 func: pbx_load_module AEL load process: checked config file name './extensions.ael'.
LOG: lev:2 file:../pbx/pbx_ael.c line:3762 func: pbx_load_module AEL load process: compiled config file name './extensions.ael'. LOG: lev:2 file:pbx_ael.c line:3823 func: pbx_load_module AEL load process: compiled config file name './extensions.ael'.
LOG: lev:2 file:../pbx/pbx_ael.c line:3765 func: pbx_load_module AEL load process: merged config file name './extensions.ael'. LOG: lev:2 file:pbx_ael.c line:3826 func: pbx_load_module AEL load process: merged config file name './extensions.ael'.
LOG: lev:2 file:../pbx/pbx_ael.c line:3768 func: pbx_load_module AEL load process: verified config file name './extensions.ael'. LOG: lev:2 file:pbx_ael.c line:3829 func: pbx_load_module AEL load process: verified config file name './extensions.ael'.
LOG: lev:4 file:ael2_parse line:458 func: main 5 contexts, 13 extensions, 156 priorities LOG: lev:4 file:ael2_parse line:479 func: main 5 contexts, 13 extensions, 156 priorities

View File

@@ -2,10 +2,10 @@
(If you find progress and other non-error messages irritating, you can use -q to suppress them) (If you find progress and other non-error messages irritating, you can use -q to suppress them)
(You can use the -w option to dump extensions.conf format to extensions.conf.aeldump) (You can use the -w option to dump extensions.conf format to extensions.conf.aeldump)
LOG: lev:2 file:../pbx/pbx_ael.c line:3747 func: pbx_load_module Starting AEL load process. LOG: lev:2 file:pbx_ael.c line:3803 func: pbx_load_module Starting AEL load process.
LOG: lev:2 file:../pbx/pbx_ael.c line:3754 func: pbx_load_module AEL load process: calculated config file name './extensions.ael'. LOG: lev:2 file:pbx_ael.c line:3810 func: pbx_load_module AEL load process: calculated config file name './extensions.ael'.
LOG: lev:2 file:../pbx/pbx_ael.c line:3757 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'. LOG: lev:2 file:pbx_ael.c line:3818 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'.
LOG: lev:4 file:../pbx/pbx_ael.c line:1033 func: check_label Error: file ./extensions.ael, line 13-13: Duplicate label lab1! Previously defined at file ./extensions.ael, line 8. LOG: lev:4 file:pbx_ael.c line:1072 func: check_label Error: file ./extensions.ael, line 13-13: Duplicate label lab1! Previously defined at file ./extensions.ael, line 8.
LOG: lev:4 file:../pbx/pbx_ael.c line:1033 func: check_label Error: file ./extensions.ael, line 49-49: Duplicate label ptr1! Previously defined at file ./extensions.ael, line 33. LOG: lev:4 file:pbx_ael.c line:1072 func: check_label Error: file ./extensions.ael, line 49-49: Duplicate label ptr1! Previously defined at file ./extensions.ael, line 33.
LOG: lev:4 file:../pbx/pbx_ael.c line:3770 func: pbx_load_module Sorry, but 0 syntax errors and 2 semantic errors were detected. It doesn't make sense to compile. LOG: lev:4 file:pbx_ael.c line:3831 func: pbx_load_module Sorry, but 0 syntax errors and 2 semantic errors were detected. It doesn't make sense to compile.
LOG: lev:4 file:ael2_parse line:458 func: main 0 contexts, 0 extensions, 0 priorities LOG: lev:4 file:ael2_parse line:479 func: main 0 contexts, 0 extensions, 0 priorities

View File

@@ -2,10 +2,10 @@
(If you find progress and other non-error messages irritating, you can use -q to suppress them) (If you find progress and other non-error messages irritating, you can use -q to suppress them)
(You can use the -w option to dump extensions.conf format to extensions.conf.aeldump) (You can use the -w option to dump extensions.conf format to extensions.conf.aeldump)
LOG: lev:2 file:../pbx/pbx_ael.c line:3801 func: pbx_load_module Starting AEL load process. LOG: lev:2 file:pbx_ael.c line:3803 func: pbx_load_module Starting AEL load process.
LOG: lev:2 file:../pbx/pbx_ael.c line:3808 func: pbx_load_module AEL load process: calculated config file name './extensions.ael'. LOG: lev:2 file:pbx_ael.c line:3810 func: pbx_load_module AEL load process: calculated config file name './extensions.ael'.
LOG: lev:2 file:../pbx/pbx_ael.c line:3811 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'. LOG: lev:2 file:pbx_ael.c line:3818 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'.
LOG: lev:4 file:../pbx/pbx_ael.c line:1045 func: check_continue Error: file ./extensions.ael, line 15-15: 'continue' not in 'for' or 'while' statement! LOG: lev:4 file:pbx_ael.c line:1044 func: check_continue Error: file ./extensions.ael, line 15-15: 'continue' not in 'for' or 'while' statement!
LOG: lev:4 file:../pbx/pbx_ael.c line:1026 func: check_break Error: file ./extensions.ael, line 17-17: 'break' not in switch, for, or while statement! LOG: lev:4 file:pbx_ael.c line:1025 func: check_break Error: file ./extensions.ael, line 17-17: 'break' not in switch, for, or while statement!
LOG: lev:4 file:../pbx/pbx_ael.c line:3824 func: pbx_load_module Sorry, but 0 syntax errors and 2 semantic errors were detected. It doesn't make sense to compile. LOG: lev:4 file:pbx_ael.c line:3831 func: pbx_load_module Sorry, but 0 syntax errors and 2 semantic errors were detected. It doesn't make sense to compile.
LOG: lev:4 file:ael2_parse line:479 func: main 0 contexts, 0 extensions, 0 priorities LOG: lev:4 file:ael2_parse line:479 func: main 0 contexts, 0 extensions, 0 priorities

View File

@@ -2,12 +2,12 @@
(If you find progress and other non-error messages irritating, you can use -q to suppress them) (If you find progress and other non-error messages irritating, you can use -q to suppress them)
(You can use the -w option to dump extensions.conf format to extensions.conf.aeldump) (You can use the -w option to dump extensions.conf format to extensions.conf.aeldump)
LOG: lev:2 file:../pbx/pbx_ael.c line:3797 func: pbx_load_module Starting AEL load process. LOG: lev:2 file:pbx_ael.c line:3803 func: pbx_load_module Starting AEL load process.
LOG: lev:2 file:../pbx/pbx_ael.c line:3804 func: pbx_load_module AEL load process: calculated config file name './extensions.ael'. LOG: lev:2 file:pbx_ael.c line:3810 func: pbx_load_module AEL load process: calculated config file name './extensions.ael'.
LOG: lev:2 file:../pbx/pbx_ael.c line:3807 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'. LOG: lev:2 file:pbx_ael.c line:3818 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'.
LOG: lev:2 file:../pbx/pbx_ael.c line:3810 func: pbx_load_module AEL load process: checked config file name './extensions.ael'. LOG: lev:2 file:pbx_ael.c line:3821 func: pbx_load_module AEL load process: checked config file name './extensions.ael'.
LOG: lev:3 file:../pbx/pbx_ael.c line:3700 func: ast_compile_ael2 Warning: file ./extensions.ael, line 8-13: Empty Extension! LOG: lev:3 file:pbx_ael.c line:3706 func: ast_compile_ael2 Warning: file ./extensions.ael, line 8-13: Empty Extension!
LOG: lev:2 file:../pbx/pbx_ael.c line:3812 func: pbx_load_module AEL load process: compiled config file name './extensions.ael'. LOG: lev:2 file:pbx_ael.c line:3823 func: pbx_load_module AEL load process: compiled config file name './extensions.ael'.
LOG: lev:2 file:../pbx/pbx_ael.c line:3815 func: pbx_load_module AEL load process: merged config file name './extensions.ael'. LOG: lev:2 file:pbx_ael.c line:3826 func: pbx_load_module AEL load process: merged config file name './extensions.ael'.
LOG: lev:2 file:../pbx/pbx_ael.c line:3818 func: pbx_load_module AEL load process: verified config file name './extensions.ael'. LOG: lev:2 file:pbx_ael.c line:3829 func: pbx_load_module AEL load process: verified config file name './extensions.ael'.
LOG: lev:4 file:ael2_parse line:479 func: main 1 contexts, 0 extensions, 0 priorities LOG: lev:4 file:ael2_parse line:479 func: main 1 contexts, 0 extensions, 0 priorities

View File

@@ -0,0 +1,14 @@
(If you find progress and other non-error messages irritating, you can use -q to suppress them)
(You can use the -w option to dump extensions.conf format to extensions.conf.aeldump)
LOG: lev:2 file:pbx_ael.c line:3914 func: pbx_load_module Starting AEL load process.
LOG: lev:2 file:pbx_ael.c line:3921 func: pbx_load_module AEL load process: calculated config file name './extensions.ael'.
LOG: lev:3 file:ael.y line:205 func: ael_yyparse ==== File: ./extensions.ael, Line 1, Cols: 19-19: Warning! The empty context real-small will be IGNORED!
LOG: lev:2 file:pbx_ael.c line:3929 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'.
LOG: lev:2 file:pbx_ael.c line:3932 func: pbx_load_module AEL load process: checked config file name './extensions.ael'.
LOG: lev:3 file:pbx_ael.c line:3545 func: add_extensions This file is Empty!
LOG: lev:2 file:pbx_ael.c line:3934 func: pbx_load_module AEL load process: compiled config file name './extensions.ael'.
LOG: lev:2 file:pbx_ael.c line:3937 func: pbx_load_module AEL load process: merged config file name './extensions.ael'.
LOG: lev:2 file:pbx_ael.c line:3940 func: pbx_load_module AEL load process: verified config file name './extensions.ael'.
LOG: lev:4 file:ael2_parse line:479 func: main 0 contexts, 0 extensions, 0 priorities

View File

@@ -2,17 +2,17 @@
(If you find progress and other non-error messages irritating, you can use -q to suppress them) (If you find progress and other non-error messages irritating, you can use -q to suppress them)
(You can use the -w option to dump extensions.conf format to extensions.conf.aeldump) (You can use the -w option to dump extensions.conf format to extensions.conf.aeldump)
LOG: lev:2 file:../pbx/pbx_ael.c line:3747 func: pbx_load_module Starting AEL load process. LOG: lev:2 file:pbx_ael.c line:3803 func: pbx_load_module Starting AEL load process.
LOG: lev:2 file:../pbx/pbx_ael.c line:3754 func: pbx_load_module AEL load process: calculated config file name './extensions.ael'. LOG: lev:2 file:pbx_ael.c line:3810 func: pbx_load_module AEL load process: calculated config file name './extensions.ael'.
LOG: lev:2 file:ael.flex line:422 func: ael_yylex --Read in included file ./apptest.ael2, 3474 chars LOG: lev:2 file:ael.flex line:429 func: ael_yylex --Read in included file ./apptest.ael2, 3474 chars
LOG: lev:3 file:ael.y line:512 func: ael_yyparse ==== File: ./apptest.ael2, Line 46, Cols: 8-11: Suggestion: Use the goto statement instead of the Goto() application call in AEL. LOG: lev:3 file:ael.y line:529 func: ael_yyparse ==== File: ./apptest.ael2, Line 46, Cols: 8-11: Suggestion: Use the goto statement instead of the Goto() application call in AEL.
LOG: lev:2 file:../pbx/pbx_ael.c line:3757 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'. LOG: lev:2 file:pbx_ael.c line:3818 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'.
LOG: lev:3 file:../pbx/pbx_ael.c line:2247 func: check_pval_item Warning: file ./apptest.ael2, line 35-35: application call to EndWhile needs to be re-written using AEL if, while, goto, etc. keywords instead! LOG: lev:3 file:pbx_ael.c line:2286 func: check_pval_item Warning: file ./apptest.ael2, line 35-35: application call to EndWhile needs to be re-written using AEL if, while, goto, etc. keywords instead!
LOG: lev:3 file:../pbx/pbx_ael.c line:2247 func: check_pval_item Warning: file ./apptest.ael2, line 37-37: application call to ExecIf needs to be re-written using AEL if, while, goto, etc. keywords instead! LOG: lev:3 file:pbx_ael.c line:2286 func: check_pval_item Warning: file ./apptest.ael2, line 37-37: application call to ExecIf needs to be re-written using AEL if, while, goto, etc. keywords instead!
LOG: lev:4 file:../pbx/pbx_ael.c line:1197 func: check_goto Error: file ./apptest.ael2, line 46-46: goto: no context cont could be found that matches the goto target! LOG: lev:4 file:pbx_ael.c line:1236 func: check_goto Error: file ./apptest.ael2, line 46-46: goto: no context cont could be found that matches the goto target!
LOG: lev:3 file:../pbx/pbx_ael.c line:2247 func: check_pval_item Warning: file ./apptest.ael2, line 47-47: application call to GotoIf needs to be re-written using AEL if, while, goto, etc. keywords instead! LOG: lev:3 file:pbx_ael.c line:2286 func: check_pval_item Warning: file ./apptest.ael2, line 47-47: application call to GotoIf needs to be re-written using AEL if, while, goto, etc. keywords instead!
LOG: lev:3 file:../pbx/pbx_ael.c line:2247 func: check_pval_item Warning: file ./apptest.ael2, line 48-48: application call to GotoIfTime needs to be re-written using AEL if, while, goto, etc. keywords instead! LOG: lev:3 file:pbx_ael.c line:2286 func: check_pval_item Warning: file ./apptest.ael2, line 48-48: application call to GotoIfTime needs to be re-written using AEL if, while, goto, etc. keywords instead!
LOG: lev:3 file:../pbx/pbx_ael.c line:2247 func: check_pval_item Warning: file ./apptest.ael2, line 85-85: application call to Random needs to be re-written using AEL if, while, goto, etc. keywords instead! LOG: lev:3 file:pbx_ael.c line:2286 func: check_pval_item Warning: file ./apptest.ael2, line 85-85: application call to Random needs to be re-written using AEL if, while, goto, etc. keywords instead!
LOG: lev:3 file:../pbx/pbx_ael.c line:2247 func: check_pval_item Warning: file ./apptest.ael2, line 141-141: application call to While needs to be re-written using AEL if, while, goto, etc. keywords instead! LOG: lev:3 file:pbx_ael.c line:2286 func: check_pval_item Warning: file ./apptest.ael2, line 141-141: application call to While needs to be re-written using AEL if, while, goto, etc. keywords instead!
LOG: lev:4 file:../pbx/pbx_ael.c line:3770 func: pbx_load_module Sorry, but 0 syntax errors and 1 semantic errors were detected. It doesn't make sense to compile. LOG: lev:4 file:pbx_ael.c line:3831 func: pbx_load_module Sorry, but 0 syntax errors and 1 semantic errors were detected. It doesn't make sense to compile.
LOG: lev:4 file:ael2_parse line:458 func: main 0 contexts, 0 extensions, 0 priorities LOG: lev:4 file:ael2_parse line:479 func: main 0 contexts, 0 extensions, 0 priorities

View File

@@ -2,17 +2,17 @@
(If you find progress and other non-error messages irritating, you can use -q to suppress them) (If you find progress and other non-error messages irritating, you can use -q to suppress them)
(You can use the -w option to dump extensions.conf format to extensions.conf.aeldump) (You can use the -w option to dump extensions.conf format to extensions.conf.aeldump)
LOG: lev:2 file:../pbx/pbx_ael.c line:3797 func: pbx_load_module Starting AEL load process. LOG: lev:2 file:pbx_ael.c line:3803 func: pbx_load_module Starting AEL load process.
LOG: lev:2 file:../pbx/pbx_ael.c line:3804 func: pbx_load_module AEL load process: calculated config file name './extensions.ael'. LOG: lev:2 file:pbx_ael.c line:3810 func: pbx_load_module AEL load process: calculated config file name './extensions.ael'.
LOG: lev:2 file:ael.flex line:431 func: ael_yylex --Read in included file ./include1.ael2, 78 chars LOG: lev:2 file:ael.flex line:429 func: ael_yylex --Read in included file ./include1.ael2, 78 chars
LOG: lev:2 file:ael.flex line:431 func: ael_yylex --Read in included file ./include2.ael2, 98 chars LOG: lev:2 file:ael.flex line:429 func: ael_yylex --Read in included file ./include2.ael2, 98 chars
LOG: lev:2 file:ael.flex line:431 func: ael_yylex --Read in included file ./include3.ael2, 57 chars LOG: lev:2 file:ael.flex line:429 func: ael_yylex --Read in included file ./include3.ael2, 57 chars
LOG: lev:2 file:ael.flex line:431 func: ael_yylex --Read in included file ./include5.ael2, 56 chars LOG: lev:2 file:ael.flex line:429 func: ael_yylex --Read in included file ./include5.ael2, 56 chars
LOG: lev:2 file:ael.flex line:431 func: ael_yylex --Read in included file ./include4.ael2, 87 chars LOG: lev:2 file:ael.flex line:429 func: ael_yylex --Read in included file ./include4.ael2, 87 chars
LOG: lev:2 file:ael.flex line:431 func: ael_yylex --Read in included file ./telemarket_torture.ael2, 28036 chars LOG: lev:2 file:ael.flex line:429 func: ael_yylex --Read in included file ./telemarket_torture.ael2, 28036 chars
LOG: lev:2 file:../pbx/pbx_ael.c line:3807 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'. LOG: lev:2 file:pbx_ael.c line:3818 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'.
LOG: lev:2 file:../pbx/pbx_ael.c line:3810 func: pbx_load_module AEL load process: checked config file name './extensions.ael'. LOG: lev:2 file:pbx_ael.c line:3821 func: pbx_load_module AEL load process: checked config file name './extensions.ael'.
LOG: lev:2 file:../pbx/pbx_ael.c line:3812 func: pbx_load_module AEL load process: compiled config file name './extensions.ael'. LOG: lev:2 file:pbx_ael.c line:3823 func: pbx_load_module AEL load process: compiled config file name './extensions.ael'.
LOG: lev:2 file:../pbx/pbx_ael.c line:3815 func: pbx_load_module AEL load process: merged config file name './extensions.ael'. LOG: lev:2 file:pbx_ael.c line:3826 func: pbx_load_module AEL load process: merged config file name './extensions.ael'.
LOG: lev:2 file:../pbx/pbx_ael.c line:3818 func: pbx_load_module AEL load process: verified config file name './extensions.ael'. LOG: lev:2 file:pbx_ael.c line:3829 func: pbx_load_module AEL load process: verified config file name './extensions.ael'.
LOG: lev:4 file:ael2_parse line:479 func: main 172 contexts, 858 extensions, 2326 priorities LOG: lev:4 file:ael2_parse line:479 func: main 172 contexts, 858 extensions, 2326 priorities

View File

@@ -2,17 +2,17 @@
(If you find progress and other non-error messages irritating, you can use -q to suppress them) (If you find progress and other non-error messages irritating, you can use -q to suppress them)
(You can use the -w option to dump extensions.conf format to extensions.conf.aeldump) (You can use the -w option to dump extensions.conf format to extensions.conf.aeldump)
LOG: lev:2 file:../pbx/pbx_ael.c line:3747 func: pbx_load_module Starting AEL load process. LOG: lev:2 file:pbx_ael.c line:3803 func: pbx_load_module Starting AEL load process.
LOG: lev:2 file:../pbx/pbx_ael.c line:3754 func: pbx_load_module AEL load process: calculated config file name './extensions.ael'. LOG: lev:2 file:pbx_ael.c line:3810 func: pbx_load_module AEL load process: calculated config file name './extensions.ael'.
LOG: lev:2 file:ael.flex line:422 func: ael_yylex --Read in included file ./apptest.ael2, 3474 chars LOG: lev:2 file:ael.flex line:429 func: ael_yylex --Read in included file ./apptest.ael2, 3474 chars
LOG: lev:3 file:ael.y line:512 func: ael_yyparse ==== File: ./apptest.ael2, Line 46, Cols: 8-11: Suggestion: Use the goto statement instead of the Goto() application call in AEL. LOG: lev:3 file:ael.y line:529 func: ael_yyparse ==== File: ./apptest.ael2, Line 46, Cols: 8-11: Suggestion: Use the goto statement instead of the Goto() application call in AEL.
LOG: lev:2 file:../pbx/pbx_ael.c line:3757 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'. LOG: lev:2 file:pbx_ael.c line:3818 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'.
LOG: lev:3 file:../pbx/pbx_ael.c line:2247 func: check_pval_item Warning: file ./apptest.ael2, line 35-35: application call to EndWhile needs to be re-written using AEL if, while, goto, etc. keywords instead! LOG: lev:3 file:pbx_ael.c line:2286 func: check_pval_item Warning: file ./apptest.ael2, line 35-35: application call to EndWhile needs to be re-written using AEL if, while, goto, etc. keywords instead!
LOG: lev:3 file:../pbx/pbx_ael.c line:2247 func: check_pval_item Warning: file ./apptest.ael2, line 37-37: application call to ExecIf needs to be re-written using AEL if, while, goto, etc. keywords instead! LOG: lev:3 file:pbx_ael.c line:2286 func: check_pval_item Warning: file ./apptest.ael2, line 37-37: application call to ExecIf needs to be re-written using AEL if, while, goto, etc. keywords instead!
LOG: lev:4 file:../pbx/pbx_ael.c line:1197 func: check_goto Error: file ./apptest.ael2, line 46-46: goto: no context cont could be found that matches the goto target! LOG: lev:4 file:pbx_ael.c line:1236 func: check_goto Error: file ./apptest.ael2, line 46-46: goto: no context cont could be found that matches the goto target!
LOG: lev:3 file:../pbx/pbx_ael.c line:2247 func: check_pval_item Warning: file ./apptest.ael2, line 47-47: application call to GotoIf needs to be re-written using AEL if, while, goto, etc. keywords instead! LOG: lev:3 file:pbx_ael.c line:2286 func: check_pval_item Warning: file ./apptest.ael2, line 47-47: application call to GotoIf needs to be re-written using AEL if, while, goto, etc. keywords instead!
LOG: lev:3 file:../pbx/pbx_ael.c line:2247 func: check_pval_item Warning: file ./apptest.ael2, line 48-48: application call to GotoIfTime needs to be re-written using AEL if, while, goto, etc. keywords instead! LOG: lev:3 file:pbx_ael.c line:2286 func: check_pval_item Warning: file ./apptest.ael2, line 48-48: application call to GotoIfTime needs to be re-written using AEL if, while, goto, etc. keywords instead!
LOG: lev:3 file:../pbx/pbx_ael.c line:2247 func: check_pval_item Warning: file ./apptest.ael2, line 85-85: application call to Random needs to be re-written using AEL if, while, goto, etc. keywords instead! LOG: lev:3 file:pbx_ael.c line:2286 func: check_pval_item Warning: file ./apptest.ael2, line 85-85: application call to Random needs to be re-written using AEL if, while, goto, etc. keywords instead!
LOG: lev:3 file:../pbx/pbx_ael.c line:2247 func: check_pval_item Warning: file ./apptest.ael2, line 141-141: application call to While needs to be re-written using AEL if, while, goto, etc. keywords instead! LOG: lev:3 file:pbx_ael.c line:2286 func: check_pval_item Warning: file ./apptest.ael2, line 141-141: application call to While needs to be re-written using AEL if, while, goto, etc. keywords instead!
LOG: lev:4 file:../pbx/pbx_ael.c line:3770 func: pbx_load_module Sorry, but 0 syntax errors and 1 semantic errors were detected. It doesn't make sense to compile. LOG: lev:4 file:pbx_ael.c line:3831 func: pbx_load_module Sorry, but 0 syntax errors and 1 semantic errors were detected. It doesn't make sense to compile.
LOG: lev:4 file:ael2_parse line:458 func: main 0 contexts, 0 extensions, 0 priorities LOG: lev:4 file:ael2_parse line:479 func: main 0 contexts, 0 extensions, 0 priorities

View File

@@ -2,11 +2,11 @@
(If you find progress and other non-error messages irritating, you can use -q to suppress them) (If you find progress and other non-error messages irritating, you can use -q to suppress them)
(You can use the -w option to dump extensions.conf format to extensions.conf.aeldump) (You can use the -w option to dump extensions.conf format to extensions.conf.aeldump)
LOG: lev:2 file:../pbx/pbx_ael.c line:3747 func: pbx_load_module Starting AEL load process. LOG: lev:2 file:pbx_ael.c line:3803 func: pbx_load_module Starting AEL load process.
LOG: lev:2 file:../pbx/pbx_ael.c line:3754 func: pbx_load_module AEL load process: calculated config file name './extensions.ael'. LOG: lev:2 file:pbx_ael.c line:3810 func: pbx_load_module AEL load process: calculated config file name './extensions.ael'.
LOG: lev:2 file:../pbx/pbx_ael.c line:3757 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'. LOG: lev:2 file:pbx_ael.c line:3818 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'.
LOG: lev:2 file:../pbx/pbx_ael.c line:3760 func: pbx_load_module AEL load process: checked config file name './extensions.ael'. LOG: lev:2 file:pbx_ael.c line:3821 func: pbx_load_module AEL load process: checked config file name './extensions.ael'.
LOG: lev:2 file:../pbx/pbx_ael.c line:3762 func: pbx_load_module AEL load process: compiled config file name './extensions.ael'. LOG: lev:2 file:pbx_ael.c line:3823 func: pbx_load_module AEL load process: compiled config file name './extensions.ael'.
LOG: lev:2 file:../pbx/pbx_ael.c line:3765 func: pbx_load_module AEL load process: merged config file name './extensions.ael'. LOG: lev:2 file:pbx_ael.c line:3826 func: pbx_load_module AEL load process: merged config file name './extensions.ael'.
LOG: lev:2 file:../pbx/pbx_ael.c line:3768 func: pbx_load_module AEL load process: verified config file name './extensions.ael'. LOG: lev:2 file:pbx_ael.c line:3829 func: pbx_load_module AEL load process: verified config file name './extensions.ael'.
LOG: lev:4 file:ael2_parse line:458 func: main 38 contexts, 90 extensions, 484 priorities LOG: lev:4 file:ael2_parse line:479 func: main 38 contexts, 90 extensions, 484 priorities

View File

@@ -2,15 +2,15 @@
(If you find progress and other non-error messages irritating, you can use -q to suppress them) (If you find progress and other non-error messages irritating, you can use -q to suppress them)
(You can use the -w option to dump extensions.conf format to extensions.conf.aeldump) (You can use the -w option to dump extensions.conf format to extensions.conf.aeldump)
LOG: lev:2 file:../pbx/pbx_ael.c line:3747 func: pbx_load_module Starting AEL load process. LOG: lev:2 file:pbx_ael.c line:3803 func: pbx_load_module Starting AEL load process.
LOG: lev:2 file:../pbx/pbx_ael.c line:3754 func: pbx_load_module AEL load process: calculated config file name './extensions.ael'. LOG: lev:2 file:pbx_ael.c line:3810 func: pbx_load_module AEL load process: calculated config file name './extensions.ael'.
LOG: lev:4 file:ael.flex line:269 func: ael_yylex File=./extensions.ael, line=165, column=49: Mismatched '}' in expression! LOG: lev:4 file:ael.flex line:276 func: ael_yylex File=./extensions.ael, line=165, column=49: Mismatched '}' in expression!
LOG: lev:4 file:ael.y line:735 func: ael_yyerror ==== File: ./extensions.ael, Line 165, Cols: 51-51: Error: syntax error, unexpected '=', expecting ')' LOG: lev:4 file:ael.y line:752 func: ael_yyerror ==== File: ./extensions.ael, Line 165, Cols: 51-51: Error: syntax error, unexpected '=', expecting ')'
LOG: lev:4 file:ael.y line:735 func: ael_yyerror ==== File: ./extensions.ael, Line 169, Cols: 24-24: Error: syntax error, unexpected '&' LOG: lev:4 file:ael.y line:752 func: ael_yyerror ==== File: ./extensions.ael, Line 169, Cols: 24-24: Error: syntax error, unexpected '&'
LOG: lev:4 file:ael.flex line:269 func: ael_yylex File=./extensions.ael, line=222, column=41: Mismatched '}' in expression! LOG: lev:4 file:ael.flex line:276 func: ael_yylex File=./extensions.ael, line=222, column=41: Mismatched '}' in expression!
LOG: lev:4 file:ael.y line:735 func: ael_yyerror ==== File: ./extensions.ael, Line 222, Cols: 43-43: Error: syntax error, unexpected '=', expecting ')' LOG: lev:4 file:ael.y line:752 func: ael_yyerror ==== File: ./extensions.ael, Line 222, Cols: 43-43: Error: syntax error, unexpected '=', expecting ')'
LOG: lev:4 file:ael.y line:735 func: ael_yyerror ==== File: ./extensions.ael, Line 226, Cols: 16-16: Error: syntax error, unexpected '&' LOG: lev:4 file:ael.y line:752 func: ael_yyerror ==== File: ./extensions.ael, Line 226, Cols: 16-16: Error: syntax error, unexpected '&'
LOG: lev:4 file:ael.y line:735 func: ael_yyerror ==== File: ./extensions.ael, Line 291, Cols: 21-28: Error: syntax error, unexpected word, expecting '(' or ';' or '=' or ':' LOG: lev:4 file:ael.y line:752 func: ael_yyerror ==== File: ./extensions.ael, Line 291, Cols: 21-28: Error: syntax error, unexpected word, expecting '(' or ';' or '=' or ':'
LOG: lev:2 file:../pbx/pbx_ael.c line:3757 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'. LOG: lev:2 file:pbx_ael.c line:3818 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'.
LOG: lev:4 file:../pbx/pbx_ael.c line:3770 func: pbx_load_module Sorry, but 5 syntax errors and 0 semantic errors were detected. It doesn't make sense to compile. LOG: lev:4 file:pbx_ael.c line:3831 func: pbx_load_module Sorry, but 5 syntax errors and 0 semantic errors were detected. It doesn't make sense to compile.
LOG: lev:4 file:ael2_parse line:458 func: main 0 contexts, 0 extensions, 0 priorities LOG: lev:4 file:ael2_parse line:479 func: main 0 contexts, 0 extensions, 0 priorities

View File

@@ -2,13 +2,13 @@
(If you find progress and other non-error messages irritating, you can use -q to suppress them) (If you find progress and other non-error messages irritating, you can use -q to suppress them)
(You can use the -w option to dump extensions.conf format to extensions.conf.aeldump) (You can use the -w option to dump extensions.conf format to extensions.conf.aeldump)
LOG: lev:2 file:../pbx/pbx_ael.c line:3747 func: pbx_load_module Starting AEL load process. LOG: lev:2 file:pbx_ael.c line:3803 func: pbx_load_module Starting AEL load process.
LOG: lev:2 file:../pbx/pbx_ael.c line:3754 func: pbx_load_module AEL load process: calculated config file name './extensions.ael'. LOG: lev:2 file:pbx_ael.c line:3810 func: pbx_load_module AEL load process: calculated config file name './extensions.ael'.
LOG: lev:2 file:../pbx/pbx_ael.c line:3757 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'. LOG: lev:2 file:pbx_ael.c line:3818 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'.
LOG: lev:4 file:../pbx/pbx_ael.c line:2221 func: check_pval_item Error: file ./extensions.ael, line 98-98: The macro call to checkanddial has 5 arguments, but the macro definition has 7 arguments LOG: lev:4 file:pbx_ael.c line:2260 func: check_pval_item Error: file ./extensions.ael, line 98-98: The macro call to checkanddial has 5 arguments, but the macro definition has 7 arguments
LOG: lev:4 file:../pbx/pbx_ael.c line:2221 func: check_pval_item Error: file ./extensions.ael, line 107-107: The macro call to checkanddial has 5 arguments, but the macro definition has 7 arguments LOG: lev:4 file:pbx_ael.c line:2260 func: check_pval_item Error: file ./extensions.ael, line 107-107: The macro call to checkanddial has 5 arguments, but the macro definition has 7 arguments
LOG: lev:4 file:../pbx/pbx_ael.c line:2221 func: check_pval_item Error: file ./extensions.ael, line 284-284: The macro call to checkanddial has 5 arguments, but the macro definition has 7 arguments LOG: lev:4 file:pbx_ael.c line:2260 func: check_pval_item Error: file ./extensions.ael, line 284-284: The macro call to checkanddial has 5 arguments, but the macro definition has 7 arguments
LOG: lev:4 file:../pbx/pbx_ael.c line:2221 func: check_pval_item Error: file ./extensions.ael, line 287-287: The macro call to checkanddial has 5 arguments, but the macro definition has 7 arguments LOG: lev:4 file:pbx_ael.c line:2260 func: check_pval_item Error: file ./extensions.ael, line 287-287: The macro call to checkanddial has 5 arguments, but the macro definition has 7 arguments
LOG: lev:4 file:../pbx/pbx_ael.c line:2202 func: check_pval_item Error: file ./extensions.ael, line 452-452: macro call to non-existent std-exten-ael ! LOG: lev:4 file:pbx_ael.c line:2241 func: check_pval_item Error: file ./extensions.ael, line 452-452: macro call to non-existent std-exten-ael !
LOG: lev:4 file:../pbx/pbx_ael.c line:3770 func: pbx_load_module Sorry, but 0 syntax errors and 5 semantic errors were detected. It doesn't make sense to compile. LOG: lev:4 file:pbx_ael.c line:3831 func: pbx_load_module Sorry, but 0 syntax errors and 5 semantic errors were detected. It doesn't make sense to compile.
LOG: lev:4 file:ael2_parse line:458 func: main 0 contexts, 0 extensions, 0 priorities LOG: lev:4 file:ael2_parse line:479 func: main 0 contexts, 0 extensions, 0 priorities

View File

@@ -2,11 +2,11 @@
(If you find progress and other non-error messages irritating, you can use -q to suppress them) (If you find progress and other non-error messages irritating, you can use -q to suppress them)
(You can use the -w option to dump extensions.conf format to extensions.conf.aeldump) (You can use the -w option to dump extensions.conf format to extensions.conf.aeldump)
LOG: lev:2 file:../pbx/pbx_ael.c line:3747 func: pbx_load_module Starting AEL load process. LOG: lev:2 file:pbx_ael.c line:3803 func: pbx_load_module Starting AEL load process.
LOG: lev:2 file:../pbx/pbx_ael.c line:3754 func: pbx_load_module AEL load process: calculated config file name './extensions.ael'. LOG: lev:2 file:pbx_ael.c line:3810 func: pbx_load_module AEL load process: calculated config file name './extensions.ael'.
LOG: lev:2 file:../pbx/pbx_ael.c line:3757 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'. LOG: lev:2 file:pbx_ael.c line:3818 func: pbx_load_module AEL load process: parsed config file name './extensions.ael'.
LOG: lev:2 file:../pbx/pbx_ael.c line:3760 func: pbx_load_module AEL load process: checked config file name './extensions.ael'. LOG: lev:2 file:pbx_ael.c line:3821 func: pbx_load_module AEL load process: checked config file name './extensions.ael'.
LOG: lev:2 file:../pbx/pbx_ael.c line:3762 func: pbx_load_module AEL load process: compiled config file name './extensions.ael'. LOG: lev:2 file:pbx_ael.c line:3823 func: pbx_load_module AEL load process: compiled config file name './extensions.ael'.
LOG: lev:2 file:../pbx/pbx_ael.c line:3765 func: pbx_load_module AEL load process: merged config file name './extensions.ael'. LOG: lev:2 file:pbx_ael.c line:3826 func: pbx_load_module AEL load process: merged config file name './extensions.ael'.
LOG: lev:2 file:../pbx/pbx_ael.c line:3768 func: pbx_load_module AEL load process: verified config file name './extensions.ael'. LOG: lev:2 file:pbx_ael.c line:3829 func: pbx_load_module AEL load process: verified config file name './extensions.ael'.
LOG: lev:4 file:ael2_parse line:458 func: main 1 contexts, 5 extensions, 15 priorities LOG: lev:4 file:ael2_parse line:479 func: main 1 contexts, 5 extensions, 15 priorities

View File

@@ -617,19 +617,19 @@ static const yytype_int8 yyrhs[] =
static const yytype_uint16 yyrline[] = static const yytype_uint16 yyrline[] =
{ {
0, 185, 185, 188, 189, 190, 193, 194, 195, 196, 0, 185, 185, 188, 189, 190, 193, 194, 195, 196,
199, 200, 203, 212, 213, 216, 222, 228, 229, 230, 199, 200, 203, 218, 219, 222, 228, 234, 235, 236,
233, 233, 240, 241, 242, 243, 246, 247, 248, 251, 239, 239, 246, 247, 248, 249, 252, 253, 254, 257,
252, 253, 254, 255, 256, 257, 258, 261, 266, 270, 258, 259, 260, 261, 262, 263, 264, 267, 272, 276,
275, 280, 290, 291, 292, 298, 303, 307, 315, 315, 281, 286, 296, 297, 298, 304, 309, 313, 321, 321,
319, 322, 325, 336, 337, 344, 345, 349, 355, 356, 325, 328, 331, 342, 343, 350, 351, 355, 361, 362,
361, 369, 370, 374, 380, 389, 392, 393, 396, 399, 367, 375, 376, 380, 386, 395, 398, 399, 402, 405,
402, 403, 404, 402, 410, 414, 415, 416, 417, 420, 408, 409, 410, 408, 416, 420, 421, 422, 423, 426,
420, 453, 454, 455, 456, 460, 463, 464, 467, 468, 426, 459, 460, 461, 462, 466, 469, 470, 473, 474,
471, 474, 478, 482, 486, 492, 493, 497, 500, 506, 477, 480, 484, 488, 492, 498, 499, 503, 506, 512,
506, 511, 519, 519, 530, 537, 540, 541, 544, 545, 512, 517, 525, 525, 536, 543, 546, 547, 550, 551,
548, 551, 552, 555, 559, 563, 569, 570, 573, 574, 554, 557, 558, 561, 565, 569, 575, 576, 579, 580,
580, 585, 590, 591, 592, 595, 596, 603, 604, 605, 586, 591, 596, 597, 598, 601, 602, 609, 610, 611,
608, 611 614, 617
}; };
#endif #endif
@@ -2114,25 +2114,31 @@ yyreduce:
case 12: case 12:
#line 203 "ael.y" #line 203 "ael.y"
{ {
(yyval.pval) = npval2(PV_CONTEXT, &(yylsp[(1) - (6)]), &(yylsp[(6) - (6)])); if (!(yyvsp[(5) - (6)].pval)) {
(yyval.pval)->u1.str = (yyvsp[(3) - (6)].str); ast_log(LOG_WARNING, "==== File: %s, Line %d, Cols: %d-%d: Warning! The empty context %s will be IGNORED!\n",
(yyval.pval)->u2.statements = (yyvsp[(5) - (6)].pval); my_file, (yylsp[(4) - (6)]).first_line, (yylsp[(4) - (6)]).first_column, (yylsp[(4) - (6)]).last_column, (yyvsp[(3) - (6)].str) );
set_dads((yyval.pval),(yyvsp[(5) - (6)].pval)); free((yyvsp[(3) - (6)].str));
(yyval.pval)->u3.abstract = (yyvsp[(1) - (6)].intval); ;}
} else {
(yyval.pval) = npval2(PV_CONTEXT, &(yylsp[(1) - (6)]), &(yylsp[(6) - (6)]));
(yyval.pval)->u1.str = (yyvsp[(3) - (6)].str);
(yyval.pval)->u2.statements = (yyvsp[(5) - (6)].pval);
set_dads((yyval.pval),(yyvsp[(5) - (6)].pval));
(yyval.pval)->u3.abstract = (yyvsp[(1) - (6)].intval);} ;}
break; break;
case 13: case 13:
#line 212 "ael.y" #line 218 "ael.y"
{ (yyval.intval) = 1; ;} { (yyval.intval) = 1; ;}
break; break;
case 14: case 14:
#line 213 "ael.y" #line 219 "ael.y"
{ (yyval.intval) = 0; ;} { (yyval.intval) = 0; ;}
break; break;
case 15: case 15:
#line 216 "ael.y" #line 222 "ael.y"
{ {
(yyval.pval) = npval2(PV_MACRO, &(yylsp[(1) - (8)]), &(yylsp[(8) - (8)])); (yyval.pval) = npval2(PV_MACRO, &(yylsp[(1) - (8)]), &(yylsp[(8) - (8)]));
(yyval.pval)->u1.str = (yyvsp[(2) - (8)].str); (yyval.pval)->u2.arglist = (yyvsp[(4) - (8)].pval); (yyval.pval)->u3.macro_statements = (yyvsp[(7) - (8)].pval); (yyval.pval)->u1.str = (yyvsp[(2) - (8)].str); (yyval.pval)->u2.arglist = (yyvsp[(4) - (8)].pval); (yyval.pval)->u3.macro_statements = (yyvsp[(7) - (8)].pval);
@@ -2140,7 +2146,7 @@ yyreduce:
break; break;
case 16: case 16:
#line 222 "ael.y" #line 228 "ael.y"
{ {
(yyval.pval) = npval2(PV_GLOBALS, &(yylsp[(1) - (4)]), &(yylsp[(4) - (4)])); (yyval.pval) = npval2(PV_GLOBALS, &(yylsp[(1) - (4)]), &(yylsp[(4) - (4)]));
(yyval.pval)->u1.statements = (yyvsp[(3) - (4)].pval); (yyval.pval)->u1.statements = (yyvsp[(3) - (4)].pval);
@@ -2148,27 +2154,27 @@ yyreduce:
break; break;
case 17: case 17:
#line 228 "ael.y" #line 234 "ael.y"
{ (yyval.pval) = NULL; ;} { (yyval.pval) = NULL; ;}
break; break;
case 18: case 18:
#line 229 "ael.y" #line 235 "ael.y"
{(yyval.pval) = linku1((yyvsp[(1) - (2)].pval), (yyvsp[(2) - (2)].pval)); ;} {(yyval.pval) = linku1((yyvsp[(1) - (2)].pval), (yyvsp[(2) - (2)].pval)); ;}
break; break;
case 19: case 19:
#line 230 "ael.y" #line 236 "ael.y"
{(yyval.pval)=(yyvsp[(1) - (2)].pval);;} {(yyval.pval)=(yyvsp[(1) - (2)].pval);;}
break; break;
case 20: case 20:
#line 233 "ael.y" #line 239 "ael.y"
{ reset_semicount(parseio->scanner); ;} { reset_semicount(parseio->scanner); ;}
break; break;
case 21: case 21:
#line 233 "ael.y" #line 239 "ael.y"
{ {
(yyval.pval) = npval2(PV_VARDEC, &(yylsp[(1) - (5)]), &(yylsp[(5) - (5)])); (yyval.pval) = npval2(PV_VARDEC, &(yylsp[(1) - (5)]), &(yylsp[(5) - (5)]));
(yyval.pval)->u1.str = (yyvsp[(1) - (5)].str); (yyval.pval)->u1.str = (yyvsp[(1) - (5)].str);
@@ -2176,89 +2182,89 @@ yyreduce:
break; break;
case 22: case 22:
#line 240 "ael.y" #line 246 "ael.y"
{ (yyval.pval) = NULL; ;} { (yyval.pval) = NULL; ;}
break; break;
case 23: case 23:
#line 241 "ael.y" #line 247 "ael.y"
{ (yyval.pval) = nword((yyvsp[(1) - (1)].str), &(yylsp[(1) - (1)])); ;} { (yyval.pval) = nword((yyvsp[(1) - (1)].str), &(yylsp[(1) - (1)])); ;}
break; break;
case 24: case 24:
#line 242 "ael.y" #line 248 "ael.y"
{ (yyval.pval) = linku1((yyvsp[(1) - (3)].pval), nword((yyvsp[(3) - (3)].str), &(yylsp[(3) - (3)]))); ;} { (yyval.pval) = linku1((yyvsp[(1) - (3)].pval), nword((yyvsp[(3) - (3)].str), &(yylsp[(3) - (3)]))); ;}
break; break;
case 25: case 25:
#line 243 "ael.y" #line 249 "ael.y"
{(yyval.pval)=(yyvsp[(1) - (2)].pval);;} {(yyval.pval)=(yyvsp[(1) - (2)].pval);;}
break; break;
case 26: case 26:
#line 246 "ael.y" #line 252 "ael.y"
{(yyval.pval)=0;;} {(yyval.pval)=0;;}
break; break;
case 27: case 27:
#line 247 "ael.y" #line 253 "ael.y"
{ (yyval.pval) = linku1((yyvsp[(1) - (2)].pval), (yyvsp[(2) - (2)].pval)); ;} { (yyval.pval) = linku1((yyvsp[(1) - (2)].pval), (yyvsp[(2) - (2)].pval)); ;}
break; break;
case 28: case 28:
#line 248 "ael.y" #line 254 "ael.y"
{ (yyval.pval)=(yyvsp[(1) - (2)].pval);;} { (yyval.pval)=(yyvsp[(1) - (2)].pval);;}
break; break;
case 29: case 29:
#line 251 "ael.y" #line 257 "ael.y"
{(yyval.pval)=(yyvsp[(1) - (1)].pval);;} {(yyval.pval)=(yyvsp[(1) - (1)].pval);;}
break; break;
case 30: case 30:
#line 252 "ael.y" #line 258 "ael.y"
{(yyval.pval)=(yyvsp[(1) - (1)].pval);;} {(yyval.pval)=(yyvsp[(1) - (1)].pval);;}
break; break;
case 31: case 31:
#line 253 "ael.y" #line 259 "ael.y"
{(yyval.pval)=(yyvsp[(1) - (1)].pval);;} {(yyval.pval)=(yyvsp[(1) - (1)].pval);;}
break; break;
case 32: case 32:
#line 254 "ael.y" #line 260 "ael.y"
{(yyval.pval)=(yyvsp[(1) - (1)].pval);;} {(yyval.pval)=(yyvsp[(1) - (1)].pval);;}
break; break;
case 33: case 33:
#line 255 "ael.y" #line 261 "ael.y"
{(yyval.pval)=(yyvsp[(1) - (1)].pval);;} {(yyval.pval)=(yyvsp[(1) - (1)].pval);;}
break; break;
case 34: case 34:
#line 256 "ael.y" #line 262 "ael.y"
{(yyval.pval)=(yyvsp[(1) - (1)].pval);;} {(yyval.pval)=(yyvsp[(1) - (1)].pval);;}
break; break;
case 35: case 35:
#line 257 "ael.y" #line 263 "ael.y"
{free((yyvsp[(1) - (2)].str)); (yyval.pval)=0;;} {free((yyvsp[(1) - (2)].str)); (yyval.pval)=0;;}
break; break;
case 36: case 36:
#line 258 "ael.y" #line 264 "ael.y"
{(yyval.pval)=0;/* allow older docs to be read */;} {(yyval.pval)=0;/* allow older docs to be read */;}
break; break;
case 37: case 37:
#line 261 "ael.y" #line 267 "ael.y"
{ {
(yyval.pval) = npval2(PV_IGNOREPAT, &(yylsp[(1) - (4)]), &(yylsp[(4) - (4)])); (yyval.pval) = npval2(PV_IGNOREPAT, &(yylsp[(1) - (4)]), &(yylsp[(4) - (4)]));
(yyval.pval)->u1.str = (yyvsp[(3) - (4)].str);;} (yyval.pval)->u1.str = (yyvsp[(3) - (4)].str);;}
break; break;
case 38: case 38:
#line 266 "ael.y" #line 272 "ael.y"
{ {
(yyval.pval) = npval2(PV_EXTENSION, &(yylsp[(1) - (3)]), &(yylsp[(3) - (3)])); (yyval.pval) = npval2(PV_EXTENSION, &(yylsp[(1) - (3)]), &(yylsp[(3) - (3)]));
(yyval.pval)->u1.str = (yyvsp[(1) - (3)].str); (yyval.pval)->u1.str = (yyvsp[(1) - (3)].str);
@@ -2266,7 +2272,7 @@ yyreduce:
break; break;
case 39: case 39:
#line 270 "ael.y" #line 276 "ael.y"
{ {
(yyval.pval) = npval2(PV_EXTENSION, &(yylsp[(1) - (4)]), &(yylsp[(4) - (4)])); (yyval.pval) = npval2(PV_EXTENSION, &(yylsp[(1) - (4)]), &(yylsp[(4) - (4)]));
(yyval.pval)->u1.str = (yyvsp[(2) - (4)].str); (yyval.pval)->u1.str = (yyvsp[(2) - (4)].str);
@@ -2275,7 +2281,7 @@ yyreduce:
break; break;
case 40: case 40:
#line 275 "ael.y" #line 281 "ael.y"
{ {
(yyval.pval) = npval2(PV_EXTENSION, &(yylsp[(1) - (7)]), &(yylsp[(7) - (7)])); (yyval.pval) = npval2(PV_EXTENSION, &(yylsp[(1) - (7)]), &(yylsp[(7) - (7)]));
(yyval.pval)->u1.str = (yyvsp[(5) - (7)].str); (yyval.pval)->u1.str = (yyvsp[(5) - (7)].str);
@@ -2284,7 +2290,7 @@ yyreduce:
break; break;
case 41: case 41:
#line 280 "ael.y" #line 286 "ael.y"
{ {
(yyval.pval) = npval2(PV_EXTENSION, &(yylsp[(1) - (8)]), &(yylsp[(8) - (8)])); (yyval.pval) = npval2(PV_EXTENSION, &(yylsp[(1) - (8)]), &(yylsp[(8) - (8)]));
(yyval.pval)->u1.str = (yyvsp[(6) - (8)].str); (yyval.pval)->u1.str = (yyvsp[(6) - (8)].str);
@@ -2294,22 +2300,22 @@ yyreduce:
break; break;
case 42: case 42:
#line 290 "ael.y" #line 296 "ael.y"
{ (yyval.pval) = NULL; ;} { (yyval.pval) = NULL; ;}
break; break;
case 43: case 43:
#line 291 "ael.y" #line 297 "ael.y"
{ (yyval.pval) = linku1((yyvsp[(1) - (2)].pval), (yyvsp[(2) - (2)].pval)); ;} { (yyval.pval) = linku1((yyvsp[(1) - (2)].pval), (yyvsp[(2) - (2)].pval)); ;}
break; break;
case 44: case 44:
#line 292 "ael.y" #line 298 "ael.y"
{(yyval.pval)=(yyvsp[(1) - (2)].pval);;} {(yyval.pval)=(yyvsp[(1) - (2)].pval);;}
break; break;
case 45: case 45:
#line 298 "ael.y" #line 304 "ael.y"
{ {
asprintf(&(yyval.str), "%s:%s:%s", (yyvsp[(1) - (5)].str), (yyvsp[(3) - (5)].str), (yyvsp[(5) - (5)].str)); asprintf(&(yyval.str), "%s:%s:%s", (yyvsp[(1) - (5)].str), (yyvsp[(3) - (5)].str), (yyvsp[(5) - (5)].str));
free((yyvsp[(1) - (5)].str)); free((yyvsp[(1) - (5)].str));
@@ -2318,12 +2324,12 @@ yyreduce:
break; break;
case 46: case 46:
#line 303 "ael.y" #line 309 "ael.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;} { (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break; break;
case 47: case 47:
#line 307 "ael.y" #line 313 "ael.y"
{ {
(yyval.pval) = nword((yyvsp[(1) - (7)].str), &(yylsp[(1) - (7)])); (yyval.pval) = nword((yyvsp[(1) - (7)].str), &(yylsp[(1) - (7)]));
(yyval.pval)->next = nword((yyvsp[(3) - (7)].str), &(yylsp[(3) - (7)])); (yyval.pval)->next = nword((yyvsp[(3) - (7)].str), &(yylsp[(3) - (7)]));
@@ -2332,31 +2338,31 @@ yyreduce:
break; break;
case 48: case 48:
#line 315 "ael.y" #line 321 "ael.y"
{ reset_parencount(parseio->scanner); ;} { reset_parencount(parseio->scanner); ;}
break; break;
case 49: case 49:
#line 315 "ael.y" #line 321 "ael.y"
{ (yyval.str) = (yyvsp[(3) - (4)].str); ;} { (yyval.str) = (yyvsp[(3) - (4)].str); ;}
break; break;
case 50: case 50:
#line 319 "ael.y" #line 325 "ael.y"
{ {
(yyval.pval)= npval2(PV_IF, &(yylsp[(1) - (2)]), &(yylsp[(2) - (2)])); (yyval.pval)= npval2(PV_IF, &(yylsp[(1) - (2)]), &(yylsp[(2) - (2)]));
(yyval.pval)->u1.str = (yyvsp[(2) - (2)].str); ;} (yyval.pval)->u1.str = (yyvsp[(2) - (2)].str); ;}
break; break;
case 51: case 51:
#line 322 "ael.y" #line 328 "ael.y"
{ {
(yyval.pval) = npval2(PV_RANDOM, &(yylsp[(1) - (2)]), &(yylsp[(2) - (2)])); (yyval.pval) = npval2(PV_RANDOM, &(yylsp[(1) - (2)]), &(yylsp[(2) - (2)]));
(yyval.pval)->u1.str=(yyvsp[(2) - (2)].str);;} (yyval.pval)->u1.str=(yyvsp[(2) - (2)].str);;}
break; break;
case 52: case 52:
#line 325 "ael.y" #line 331 "ael.y"
{ {
(yyval.pval) = npval2(PV_IFTIME, &(yylsp[(1) - (4)]), &(yylsp[(4) - (4)])); (yyval.pval) = npval2(PV_IFTIME, &(yylsp[(1) - (4)]), &(yylsp[(4) - (4)]));
(yyval.pval)->u1.list = (yyvsp[(3) - (4)].pval); (yyval.pval)->u1.list = (yyvsp[(3) - (4)].pval);
@@ -2364,12 +2370,12 @@ yyreduce:
break; break;
case 53: case 53:
#line 336 "ael.y" #line 342 "ael.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str);;} { (yyval.str) = (yyvsp[(1) - (1)].str);;}
break; break;
case 54: case 54:
#line 337 "ael.y" #line 343 "ael.y"
{ {
asprintf(&((yyval.str)), "%s%s", (yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].str)); asprintf(&((yyval.str)), "%s%s", (yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].str));
free((yyvsp[(1) - (2)].str)); free((yyvsp[(1) - (2)].str));
@@ -2378,12 +2384,12 @@ yyreduce:
break; break;
case 55: case 55:
#line 344 "ael.y" #line 350 "ael.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;} { (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break; break;
case 56: case 56:
#line 345 "ael.y" #line 351 "ael.y"
{ {
asprintf(&((yyval.str)), "%s %s", (yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].str)); asprintf(&((yyval.str)), "%s %s", (yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].str));
free((yyvsp[(1) - (2)].str)); free((yyvsp[(1) - (2)].str));
@@ -2391,7 +2397,7 @@ yyreduce:
break; break;
case 57: case 57:
#line 349 "ael.y" #line 355 "ael.y"
{ /* there are often '&' in hints */ { /* there are often '&' in hints */
asprintf(&((yyval.str)), "%s&%s", (yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].str)); asprintf(&((yyval.str)), "%s&%s", (yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].str));
free((yyvsp[(1) - (3)].str)); free((yyvsp[(1) - (3)].str));
@@ -2399,12 +2405,12 @@ yyreduce:
break; break;
case 58: case 58:
#line 355 "ael.y" #line 361 "ael.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str);;} { (yyval.str) = (yyvsp[(1) - (1)].str);;}
break; break;
case 59: case 59:
#line 356 "ael.y" #line 362 "ael.y"
{ {
asprintf(&((yyval.str)), "%s%s", (yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].str)); asprintf(&((yyval.str)), "%s%s", (yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].str));
free((yyvsp[(1) - (2)].str)); free((yyvsp[(1) - (2)].str));
@@ -2413,7 +2419,7 @@ yyreduce:
break; break;
case 60: case 60:
#line 361 "ael.y" #line 367 "ael.y"
{ {
asprintf(&((yyval.str)), "%s%s%s", (yyvsp[(1) - (3)].str), (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)); asprintf(&((yyval.str)), "%s%s%s", (yyvsp[(1) - (3)].str), (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str));
free((yyvsp[(1) - (3)].str)); free((yyvsp[(1) - (3)].str));
@@ -2423,12 +2429,12 @@ yyreduce:
break; break;
case 61: case 61:
#line 369 "ael.y" #line 375 "ael.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str);;} { (yyval.str) = (yyvsp[(1) - (1)].str);;}
break; break;
case 62: case 62:
#line 370 "ael.y" #line 376 "ael.y"
{ {
asprintf(&((yyval.str)), "%s%s", (yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].str)); asprintf(&((yyval.str)), "%s%s", (yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].str));
free((yyvsp[(1) - (2)].str)); free((yyvsp[(1) - (2)].str));
@@ -2436,7 +2442,7 @@ yyreduce:
break; break;
case 63: case 63:
#line 374 "ael.y" #line 380 "ael.y"
{ {
asprintf(&((yyval.str)), "%s:%s", (yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].str)); asprintf(&((yyval.str)), "%s:%s", (yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].str));
free((yyvsp[(1) - (3)].str)); free((yyvsp[(1) - (3)].str));
@@ -2444,7 +2450,7 @@ yyreduce:
break; break;
case 64: case 64:
#line 380 "ael.y" #line 386 "ael.y"
{ {
(yyval.pval) = npval2(PV_SWITCH, &(yylsp[(1) - (5)]), &(yylsp[(5) - (5)])); (yyval.pval) = npval2(PV_SWITCH, &(yylsp[(1) - (5)]), &(yylsp[(5) - (5)]));
(yyval.pval)->u1.str = (yyvsp[(2) - (5)].str); (yyval.pval)->u1.str = (yyvsp[(2) - (5)].str);
@@ -2452,55 +2458,55 @@ yyreduce:
break; break;
case 65: case 65:
#line 389 "ael.y" #line 395 "ael.y"
{ {
(yyval.pval) = npval2(PV_STATEMENTBLOCK, &(yylsp[(1) - (3)]), &(yylsp[(3) - (3)])); (yyval.pval) = npval2(PV_STATEMENTBLOCK, &(yylsp[(1) - (3)]), &(yylsp[(3) - (3)]));
(yyval.pval)->u1.list = (yyvsp[(2) - (3)].pval); set_dads((yyval.pval),(yyvsp[(2) - (3)].pval));;} (yyval.pval)->u1.list = (yyvsp[(2) - (3)].pval); set_dads((yyval.pval),(yyvsp[(2) - (3)].pval));;}
break; break;
case 66: case 66:
#line 392 "ael.y" #line 398 "ael.y"
{ (yyval.pval) = (yyvsp[(1) - (1)].pval); ;} { (yyval.pval) = (yyvsp[(1) - (1)].pval); ;}
break; break;
case 67: case 67:
#line 393 "ael.y" #line 399 "ael.y"
{ {
(yyval.pval) = npval2(PV_GOTO, &(yylsp[(1) - (3)]), &(yylsp[(3) - (3)])); (yyval.pval) = npval2(PV_GOTO, &(yylsp[(1) - (3)]), &(yylsp[(3) - (3)]));
(yyval.pval)->u1.list = (yyvsp[(2) - (3)].pval);;} (yyval.pval)->u1.list = (yyvsp[(2) - (3)].pval);;}
break; break;
case 68: case 68:
#line 396 "ael.y" #line 402 "ael.y"
{ {
(yyval.pval) = npval2(PV_GOTO, &(yylsp[(1) - (3)]), &(yylsp[(3) - (3)])); (yyval.pval) = npval2(PV_GOTO, &(yylsp[(1) - (3)]), &(yylsp[(3) - (3)]));
(yyval.pval)->u1.list = (yyvsp[(2) - (3)].pval);;} (yyval.pval)->u1.list = (yyvsp[(2) - (3)].pval);;}
break; break;
case 69: case 69:
#line 399 "ael.y" #line 405 "ael.y"
{ {
(yyval.pval) = npval2(PV_LABEL, &(yylsp[(1) - (2)]), &(yylsp[(2) - (2)])); (yyval.pval) = npval2(PV_LABEL, &(yylsp[(1) - (2)]), &(yylsp[(2) - (2)]));
(yyval.pval)->u1.str = (yyvsp[(1) - (2)].str); ;} (yyval.pval)->u1.str = (yyvsp[(1) - (2)].str); ;}
break; break;
case 70: case 70:
#line 402 "ael.y" #line 408 "ael.y"
{reset_semicount(parseio->scanner);;} {reset_semicount(parseio->scanner);;}
break; break;
case 71: case 71:
#line 403 "ael.y" #line 409 "ael.y"
{reset_semicount(parseio->scanner);;} {reset_semicount(parseio->scanner);;}
break; break;
case 72: case 72:
#line 404 "ael.y" #line 410 "ael.y"
{reset_parencount(parseio->scanner);;} {reset_parencount(parseio->scanner);;}
break; break;
case 73: case 73:
#line 404 "ael.y" #line 410 "ael.y"
{ /* XXX word_list maybe ? */ { /* XXX word_list maybe ? */
(yyval.pval) = npval2(PV_FOR, &(yylsp[(1) - (12)]), &(yylsp[(12) - (12)])); (yyval.pval) = npval2(PV_FOR, &(yylsp[(1) - (12)]), &(yylsp[(12) - (12)]));
(yyval.pval)->u1.for_init = (yyvsp[(4) - (12)].str); (yyval.pval)->u1.for_init = (yyvsp[(4) - (12)].str);
@@ -2510,7 +2516,7 @@ yyreduce:
break; break;
case 74: case 74:
#line 410 "ael.y" #line 416 "ael.y"
{ {
(yyval.pval) = npval2(PV_WHILE, &(yylsp[(1) - (3)]), &(yylsp[(3) - (3)])); (yyval.pval) = npval2(PV_WHILE, &(yylsp[(1) - (3)]), &(yylsp[(3) - (3)]));
(yyval.pval)->u1.str = (yyvsp[(2) - (3)].str); (yyval.pval)->u1.str = (yyvsp[(2) - (3)].str);
@@ -2518,34 +2524,34 @@ yyreduce:
break; break;
case 75: case 75:
#line 414 "ael.y" #line 420 "ael.y"
{ (yyval.pval) = (yyvsp[(1) - (1)].pval); ;} { (yyval.pval) = (yyvsp[(1) - (1)].pval); ;}
break; break;
case 76: case 76:
#line 415 "ael.y" #line 421 "ael.y"
{ (yyval.pval) = update_last((yyvsp[(2) - (3)].pval), &(yylsp[(2) - (3)])); ;} { (yyval.pval) = update_last((yyvsp[(2) - (3)].pval), &(yylsp[(2) - (3)])); ;}
break; break;
case 77: case 77:
#line 416 "ael.y" #line 422 "ael.y"
{ (yyval.pval) = update_last((yyvsp[(1) - (2)].pval), &(yylsp[(2) - (2)])); ;} { (yyval.pval) = update_last((yyvsp[(1) - (2)].pval), &(yylsp[(2) - (2)])); ;}
break; break;
case 78: case 78:
#line 417 "ael.y" #line 423 "ael.y"
{ {
(yyval.pval)= npval2(PV_APPLICATION_CALL, &(yylsp[(1) - (2)]), &(yylsp[(2) - (2)])); (yyval.pval)= npval2(PV_APPLICATION_CALL, &(yylsp[(1) - (2)]), &(yylsp[(2) - (2)]));
(yyval.pval)->u1.str = (yyvsp[(1) - (2)].str);;} (yyval.pval)->u1.str = (yyvsp[(1) - (2)].str);;}
break; break;
case 79: case 79:
#line 420 "ael.y" #line 426 "ael.y"
{reset_semicount(parseio->scanner);;} {reset_semicount(parseio->scanner);;}
break; break;
case 80: case 80:
#line 420 "ael.y" #line 426 "ael.y"
{ {
char *bufx; char *bufx;
int tot=0; int tot=0;
@@ -2582,22 +2588,22 @@ yyreduce:
break; break;
case 81: case 81:
#line 453 "ael.y" #line 459 "ael.y"
{ (yyval.pval) = npval2(PV_BREAK, &(yylsp[(1) - (2)]), &(yylsp[(2) - (2)])); ;} { (yyval.pval) = npval2(PV_BREAK, &(yylsp[(1) - (2)]), &(yylsp[(2) - (2)])); ;}
break; break;
case 82: case 82:
#line 454 "ael.y" #line 460 "ael.y"
{ (yyval.pval) = npval2(PV_RETURN, &(yylsp[(1) - (2)]), &(yylsp[(2) - (2)])); ;} { (yyval.pval) = npval2(PV_RETURN, &(yylsp[(1) - (2)]), &(yylsp[(2) - (2)])); ;}
break; break;
case 83: case 83:
#line 455 "ael.y" #line 461 "ael.y"
{ (yyval.pval) = npval2(PV_CONTINUE, &(yylsp[(1) - (2)]), &(yylsp[(2) - (2)])); ;} { (yyval.pval) = npval2(PV_CONTINUE, &(yylsp[(1) - (2)]), &(yylsp[(2) - (2)])); ;}
break; break;
case 84: case 84:
#line 456 "ael.y" #line 462 "ael.y"
{ {
(yyval.pval) = update_last((yyvsp[(1) - (3)].pval), &(yylsp[(2) - (3)])); (yyval.pval) = update_last((yyvsp[(1) - (3)].pval), &(yylsp[(2) - (3)]));
(yyval.pval)->u2.statements = (yyvsp[(2) - (3)].pval); set_dads((yyval.pval),(yyvsp[(2) - (3)].pval)); (yyval.pval)->u2.statements = (yyvsp[(2) - (3)].pval); set_dads((yyval.pval),(yyvsp[(2) - (3)].pval));
@@ -2605,41 +2611,41 @@ yyreduce:
break; break;
case 85: case 85:
#line 460 "ael.y" #line 466 "ael.y"
{ (yyval.pval)=0; ;} { (yyval.pval)=0; ;}
break; break;
case 86: case 86:
#line 463 "ael.y" #line 469 "ael.y"
{ (yyval.pval) = (yyvsp[(2) - (2)].pval); ;} { (yyval.pval) = (yyvsp[(2) - (2)].pval); ;}
break; break;
case 87: case 87:
#line 464 "ael.y" #line 470 "ael.y"
{ (yyval.pval) = NULL ; ;} { (yyval.pval) = NULL ; ;}
break; break;
case 88: case 88:
#line 467 "ael.y" #line 473 "ael.y"
{ (yyval.pval) = nword((yyvsp[(1) - (1)].str), &(yylsp[(1) - (1)])); ;} { (yyval.pval) = nword((yyvsp[(1) - (1)].str), &(yylsp[(1) - (1)])); ;}
break; break;
case 89: case 89:
#line 468 "ael.y" #line 474 "ael.y"
{ {
(yyval.pval) = nword((yyvsp[(1) - (3)].str), &(yylsp[(1) - (3)])); (yyval.pval) = nword((yyvsp[(1) - (3)].str), &(yylsp[(1) - (3)]));
(yyval.pval)->next = nword((yyvsp[(3) - (3)].str), &(yylsp[(3) - (3)])); ;} (yyval.pval)->next = nword((yyvsp[(3) - (3)].str), &(yylsp[(3) - (3)])); ;}
break; break;
case 90: case 90:
#line 471 "ael.y" #line 477 "ael.y"
{ {
(yyval.pval) = nword((yyvsp[(1) - (3)].str), &(yylsp[(1) - (3)])); (yyval.pval) = nword((yyvsp[(1) - (3)].str), &(yylsp[(1) - (3)]));
(yyval.pval)->next = nword((yyvsp[(3) - (3)].str), &(yylsp[(3) - (3)])); ;} (yyval.pval)->next = nword((yyvsp[(3) - (3)].str), &(yylsp[(3) - (3)])); ;}
break; break;
case 91: case 91:
#line 474 "ael.y" #line 480 "ael.y"
{ {
(yyval.pval) = nword((yyvsp[(1) - (5)].str), &(yylsp[(1) - (5)])); (yyval.pval) = nword((yyvsp[(1) - (5)].str), &(yylsp[(1) - (5)]));
(yyval.pval)->next = nword((yyvsp[(3) - (5)].str), &(yylsp[(3) - (5)])); (yyval.pval)->next = nword((yyvsp[(3) - (5)].str), &(yylsp[(3) - (5)]));
@@ -2647,7 +2653,7 @@ yyreduce:
break; break;
case 92: case 92:
#line 478 "ael.y" #line 484 "ael.y"
{ {
(yyval.pval) = nword((yyvsp[(1) - (5)].str), &(yylsp[(1) - (5)])); (yyval.pval) = nword((yyvsp[(1) - (5)].str), &(yylsp[(1) - (5)]));
(yyval.pval)->next = nword((yyvsp[(3) - (5)].str), &(yylsp[(3) - (5)])); (yyval.pval)->next = nword((yyvsp[(3) - (5)].str), &(yylsp[(3) - (5)]));
@@ -2655,7 +2661,7 @@ yyreduce:
break; break;
case 93: case 93:
#line 482 "ael.y" #line 488 "ael.y"
{ {
(yyval.pval) = nword(strdup("default"), &(yylsp[(1) - (5)])); (yyval.pval) = nword(strdup("default"), &(yylsp[(1) - (5)]));
(yyval.pval)->next = nword((yyvsp[(3) - (5)].str), &(yylsp[(3) - (5)])); (yyval.pval)->next = nword((yyvsp[(3) - (5)].str), &(yylsp[(3) - (5)]));
@@ -2663,7 +2669,7 @@ yyreduce:
break; break;
case 94: case 94:
#line 486 "ael.y" #line 492 "ael.y"
{ {
(yyval.pval) = nword(strdup("default"), &(yylsp[(1) - (5)])); (yyval.pval) = nword(strdup("default"), &(yylsp[(1) - (5)]));
(yyval.pval)->next = nword((yyvsp[(3) - (5)].str), &(yylsp[(3) - (5)])); (yyval.pval)->next = nword((yyvsp[(3) - (5)].str), &(yylsp[(3) - (5)]));
@@ -2671,24 +2677,24 @@ yyreduce:
break; break;
case 95: case 95:
#line 492 "ael.y" #line 498 "ael.y"
{ (yyval.str) = strdup("1"); ;} { (yyval.str) = strdup("1"); ;}
break; break;
case 96: case 96:
#line 493 "ael.y" #line 499 "ael.y"
{ (yyval.str) = (yyvsp[(2) - (2)].str); ;} { (yyval.str) = (yyvsp[(2) - (2)].str); ;}
break; break;
case 97: case 97:
#line 497 "ael.y" #line 503 "ael.y"
{ /* ext[, pri] default 1 */ { /* ext[, pri] default 1 */
(yyval.pval) = nword((yyvsp[(1) - (2)].str), &(yylsp[(1) - (2)])); (yyval.pval) = nword((yyvsp[(1) - (2)].str), &(yylsp[(1) - (2)]));
(yyval.pval)->next = nword((yyvsp[(2) - (2)].str), &(yylsp[(2) - (2)])); ;} (yyval.pval)->next = nword((yyvsp[(2) - (2)].str), &(yylsp[(2) - (2)])); ;}
break; break;
case 98: case 98:
#line 500 "ael.y" #line 506 "ael.y"
{ /* context, ext, pri */ { /* context, ext, pri */
(yyval.pval) = nword((yyvsp[(4) - (4)].str), &(yylsp[(4) - (4)])); (yyval.pval) = nword((yyvsp[(4) - (4)].str), &(yylsp[(4) - (4)]));
(yyval.pval)->next = nword((yyvsp[(1) - (4)].str), &(yylsp[(1) - (4)])); (yyval.pval)->next = nword((yyvsp[(1) - (4)].str), &(yylsp[(1) - (4)]));
@@ -2696,12 +2702,12 @@ yyreduce:
break; break;
case 99: case 99:
#line 506 "ael.y" #line 512 "ael.y"
{reset_argcount(parseio->scanner);;} {reset_argcount(parseio->scanner);;}
break; break;
case 100: case 100:
#line 506 "ael.y" #line 512 "ael.y"
{ {
/* XXX original code had @2 but i think we need @5 */ /* XXX original code had @2 but i think we need @5 */
(yyval.pval) = npval2(PV_MACRO_CALL, &(yylsp[(1) - (5)]), &(yylsp[(5) - (5)])); (yyval.pval) = npval2(PV_MACRO_CALL, &(yylsp[(1) - (5)]), &(yylsp[(5) - (5)]));
@@ -2710,19 +2716,19 @@ yyreduce:
break; break;
case 101: case 101:
#line 511 "ael.y" #line 517 "ael.y"
{ {
(yyval.pval)= npval2(PV_MACRO_CALL, &(yylsp[(1) - (3)]), &(yylsp[(3) - (3)])); (yyval.pval)= npval2(PV_MACRO_CALL, &(yylsp[(1) - (3)]), &(yylsp[(3) - (3)]));
(yyval.pval)->u1.str = (yyvsp[(1) - (3)].str); ;} (yyval.pval)->u1.str = (yyvsp[(1) - (3)].str); ;}
break; break;
case 102: case 102:
#line 519 "ael.y" #line 525 "ael.y"
{reset_argcount(parseio->scanner);;} {reset_argcount(parseio->scanner);;}
break; break;
case 103: case 103:
#line 519 "ael.y" #line 525 "ael.y"
{ {
if (strcasecmp((yyvsp[(1) - (3)].str),"goto") == 0) { if (strcasecmp((yyvsp[(1) - (3)].str),"goto") == 0) {
(yyval.pval) = npval2(PV_GOTO, &(yylsp[(1) - (3)]), &(yylsp[(2) - (3)])); (yyval.pval) = npval2(PV_GOTO, &(yylsp[(1) - (3)]), &(yylsp[(2) - (3)]));
@@ -2735,7 +2741,7 @@ yyreduce:
break; break;
case 104: case 104:
#line 530 "ael.y" #line 536 "ael.y"
{ {
(yyval.pval) = update_last((yyvsp[(1) - (3)].pval), &(yylsp[(3) - (3)])); (yyval.pval) = update_last((yyvsp[(1) - (3)].pval), &(yylsp[(3) - (3)]));
if( (yyval.pval)->type == PV_GOTO ) if( (yyval.pval)->type == PV_GOTO )
@@ -2746,49 +2752,49 @@ yyreduce:
break; break;
case 105: case 105:
#line 537 "ael.y" #line 543 "ael.y"
{ (yyval.pval) = update_last((yyvsp[(1) - (2)].pval), &(yylsp[(2) - (2)])); ;} { (yyval.pval) = update_last((yyvsp[(1) - (2)].pval), &(yylsp[(2) - (2)])); ;}
break; break;
case 106: case 106:
#line 540 "ael.y" #line 546 "ael.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str) ;} { (yyval.str) = (yyvsp[(1) - (1)].str) ;}
break; break;
case 107: case 107:
#line 541 "ael.y" #line 547 "ael.y"
{ (yyval.str) = strdup(""); ;} { (yyval.str) = strdup(""); ;}
break; break;
case 108: case 108:
#line 544 "ael.y" #line 550 "ael.y"
{ (yyval.pval) = nword((yyvsp[(1) - (1)].str), &(yylsp[(1) - (1)])); ;} { (yyval.pval) = nword((yyvsp[(1) - (1)].str), &(yylsp[(1) - (1)])); ;}
break; break;
case 109: case 109:
#line 545 "ael.y" #line 551 "ael.y"
{ {
(yyval.pval)= npval(PV_WORD,0/*@1.first_line*/,0/*@1.last_line*/,0/* @1.first_column*/, 0/*@1.last_column*/); (yyval.pval)= npval(PV_WORD,0/*@1.first_line*/,0/*@1.last_line*/,0/* @1.first_column*/, 0/*@1.last_column*/);
(yyval.pval)->u1.str = strdup(""); ;} (yyval.pval)->u1.str = strdup(""); ;}
break; break;
case 110: case 110:
#line 548 "ael.y" #line 554 "ael.y"
{ (yyval.pval) = linku1((yyvsp[(1) - (3)].pval), nword((yyvsp[(3) - (3)].str), &(yylsp[(3) - (3)]))); ;} { (yyval.pval) = linku1((yyvsp[(1) - (3)].pval), nword((yyvsp[(3) - (3)].str), &(yylsp[(3) - (3)]))); ;}
break; break;
case 111: case 111:
#line 551 "ael.y" #line 557 "ael.y"
{ (yyval.pval) = NULL; ;} { (yyval.pval) = NULL; ;}
break; break;
case 112: case 112:
#line 552 "ael.y" #line 558 "ael.y"
{ (yyval.pval) = linku1((yyvsp[(1) - (2)].pval), (yyvsp[(2) - (2)].pval)); ;} { (yyval.pval) = linku1((yyvsp[(1) - (2)].pval), (yyvsp[(2) - (2)].pval)); ;}
break; break;
case 113: case 113:
#line 555 "ael.y" #line 561 "ael.y"
{ {
(yyval.pval) = npval2(PV_CASE, &(yylsp[(1) - (4)]), &(yylsp[(3) - (4)])); /* XXX 3 or 4 ? */ (yyval.pval) = npval2(PV_CASE, &(yylsp[(1) - (4)]), &(yylsp[(3) - (4)])); /* XXX 3 or 4 ? */
(yyval.pval)->u1.str = (yyvsp[(2) - (4)].str); (yyval.pval)->u1.str = (yyvsp[(2) - (4)].str);
@@ -2796,7 +2802,7 @@ yyreduce:
break; break;
case 114: case 114:
#line 559 "ael.y" #line 565 "ael.y"
{ {
(yyval.pval) = npval2(PV_DEFAULT, &(yylsp[(1) - (3)]), &(yylsp[(3) - (3)])); (yyval.pval) = npval2(PV_DEFAULT, &(yylsp[(1) - (3)]), &(yylsp[(3) - (3)]));
(yyval.pval)->u1.str = NULL; (yyval.pval)->u1.str = NULL;
@@ -2804,7 +2810,7 @@ yyreduce:
break; break;
case 115: case 115:
#line 563 "ael.y" #line 569 "ael.y"
{ {
(yyval.pval) = npval2(PV_PATTERN, &(yylsp[(1) - (4)]), &(yylsp[(4) - (4)])); /* XXX@3 or @4 ? */ (yyval.pval) = npval2(PV_PATTERN, &(yylsp[(1) - (4)]), &(yylsp[(4) - (4)])); /* XXX@3 or @4 ? */
(yyval.pval)->u1.str = (yyvsp[(2) - (4)].str); (yyval.pval)->u1.str = (yyvsp[(2) - (4)].str);
@@ -2812,22 +2818,22 @@ yyreduce:
break; break;
case 116: case 116:
#line 569 "ael.y" #line 575 "ael.y"
{ (yyval.pval) = NULL; ;} { (yyval.pval) = NULL; ;}
break; break;
case 117: case 117:
#line 570 "ael.y" #line 576 "ael.y"
{ (yyval.pval) = linku1((yyvsp[(1) - (2)].pval), (yyvsp[(2) - (2)].pval)); ;} { (yyval.pval) = linku1((yyvsp[(1) - (2)].pval), (yyvsp[(2) - (2)].pval)); ;}
break; break;
case 118: case 118:
#line 573 "ael.y" #line 579 "ael.y"
{(yyval.pval)=(yyvsp[(1) - (1)].pval);;} {(yyval.pval)=(yyvsp[(1) - (1)].pval);;}
break; break;
case 119: case 119:
#line 574 "ael.y" #line 580 "ael.y"
{ {
(yyval.pval) = npval2(PV_CATCH, &(yylsp[(1) - (5)]), &(yylsp[(5) - (5)])); (yyval.pval) = npval2(PV_CATCH, &(yylsp[(1) - (5)]), &(yylsp[(5) - (5)]));
(yyval.pval)->u1.str = (yyvsp[(2) - (5)].str); (yyval.pval)->u1.str = (yyvsp[(2) - (5)].str);
@@ -2835,41 +2841,41 @@ yyreduce:
break; break;
case 120: case 120:
#line 580 "ael.y" #line 586 "ael.y"
{ {
(yyval.pval) = npval2(PV_SWITCHES, &(yylsp[(1) - (4)]), &(yylsp[(2) - (4)])); (yyval.pval) = npval2(PV_SWITCHES, &(yylsp[(1) - (4)]), &(yylsp[(2) - (4)]));
(yyval.pval)->u1.list = (yyvsp[(3) - (4)].pval); set_dads((yyval.pval),(yyvsp[(3) - (4)].pval));;} (yyval.pval)->u1.list = (yyvsp[(3) - (4)].pval); set_dads((yyval.pval),(yyvsp[(3) - (4)].pval));;}
break; break;
case 121: case 121:
#line 585 "ael.y" #line 591 "ael.y"
{ {
(yyval.pval) = npval2(PV_ESWITCHES, &(yylsp[(1) - (4)]), &(yylsp[(2) - (4)])); (yyval.pval) = npval2(PV_ESWITCHES, &(yylsp[(1) - (4)]), &(yylsp[(2) - (4)]));
(yyval.pval)->u1.list = (yyvsp[(3) - (4)].pval); set_dads((yyval.pval),(yyvsp[(3) - (4)].pval));;} (yyval.pval)->u1.list = (yyvsp[(3) - (4)].pval); set_dads((yyval.pval),(yyvsp[(3) - (4)].pval));;}
break; break;
case 122: case 122:
#line 590 "ael.y" #line 596 "ael.y"
{ (yyval.pval) = NULL; ;} { (yyval.pval) = NULL; ;}
break; break;
case 123: case 123:
#line 591 "ael.y" #line 597 "ael.y"
{ (yyval.pval) = linku1(nword((yyvsp[(1) - (3)].str), &(yylsp[(1) - (3)])), (yyvsp[(3) - (3)].pval)); ;} { (yyval.pval) = linku1(nword((yyvsp[(1) - (3)].str), &(yylsp[(1) - (3)])), (yyvsp[(3) - (3)].pval)); ;}
break; break;
case 124: case 124:
#line 592 "ael.y" #line 598 "ael.y"
{(yyval.pval)=(yyvsp[(1) - (2)].pval);;} {(yyval.pval)=(yyvsp[(1) - (2)].pval);;}
break; break;
case 125: case 125:
#line 595 "ael.y" #line 601 "ael.y"
{ (yyval.pval) = nword((yyvsp[(1) - (1)].str), &(yylsp[(1) - (1)])); ;} { (yyval.pval) = nword((yyvsp[(1) - (1)].str), &(yylsp[(1) - (1)])); ;}
break; break;
case 126: case 126:
#line 596 "ael.y" #line 602 "ael.y"
{ {
(yyval.pval) = nword((yyvsp[(1) - (3)].str), &(yylsp[(1) - (3)])); (yyval.pval) = nword((yyvsp[(1) - (3)].str), &(yylsp[(1) - (3)]));
(yyval.pval)->u2.arglist = (yyvsp[(3) - (3)].pval); (yyval.pval)->u2.arglist = (yyvsp[(3) - (3)].pval);
@@ -2877,36 +2883,36 @@ yyreduce:
break; break;
case 127: case 127:
#line 603 "ael.y" #line 609 "ael.y"
{ (yyval.pval) = (yyvsp[(1) - (2)].pval); ;} { (yyval.pval) = (yyvsp[(1) - (2)].pval); ;}
break; break;
case 128: case 128:
#line 604 "ael.y" #line 610 "ael.y"
{ (yyval.pval) = linku1((yyvsp[(1) - (3)].pval), (yyvsp[(2) - (3)].pval)); ;} { (yyval.pval) = linku1((yyvsp[(1) - (3)].pval), (yyvsp[(2) - (3)].pval)); ;}
break; break;
case 129: case 129:
#line 605 "ael.y" #line 611 "ael.y"
{(yyval.pval)=(yyvsp[(1) - (2)].pval);;} {(yyval.pval)=(yyvsp[(1) - (2)].pval);;}
break; break;
case 130: case 130:
#line 608 "ael.y" #line 614 "ael.y"
{ {
(yyval.pval) = npval2(PV_INCLUDES, &(yylsp[(1) - (4)]), &(yylsp[(4) - (4)])); (yyval.pval) = npval2(PV_INCLUDES, &(yylsp[(1) - (4)]), &(yylsp[(4) - (4)]));
(yyval.pval)->u1.list = (yyvsp[(3) - (4)].pval);set_dads((yyval.pval),(yyvsp[(3) - (4)].pval));;} (yyval.pval)->u1.list = (yyvsp[(3) - (4)].pval);set_dads((yyval.pval),(yyvsp[(3) - (4)].pval));;}
break; break;
case 131: case 131:
#line 611 "ael.y" #line 617 "ael.y"
{ {
(yyval.pval) = npval2(PV_INCLUDES, &(yylsp[(1) - (3)]), &(yylsp[(3) - (3)]));;} (yyval.pval) = npval2(PV_INCLUDES, &(yylsp[(1) - (3)]), &(yylsp[(3) - (3)]));;}
break; break;
/* Line 1270 of yacc.c. */ /* Line 1270 of yacc.c. */
#line 2910 "ael.tab.c" #line 2916 "ael.tab.c"
default: break; default: break;
} }
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -3125,7 +3131,7 @@ yyreturn:
} }
#line 616 "ael.y" #line 622 "ael.y"
static char *token_equivs1[] = static char *token_equivs1[] =

View File

@@ -201,11 +201,17 @@ context_name : word { $$ = $1; }
; ;
context : opt_abstract KW_CONTEXT context_name LC elements RC { context : opt_abstract KW_CONTEXT context_name LC elements RC {
$$ = npval2(PV_CONTEXT, &@1, &@6); if (!$5) {
$$->u1.str = $3; ast_log(LOG_WARNING, "==== File: %s, Line %d, Cols: %d-%d: Warning! The empty context %s will be IGNORED!\n",
$$->u2.statements = $5; my_file, @4.first_line, @4.first_column, @4.last_column, $3 );
set_dads($$,$5); free($3);
$$->u3.abstract = $1; }
} else {
$$ = npval2(PV_CONTEXT, &@1, &@6);
$$->u1.str = $3;
$$->u2.statements = $5;
set_dads($$,$5);
$$->u3.abstract = $1;} }
; ;
/* optional "abstract" keyword XXX there is no regression test for this */ /* optional "abstract" keyword XXX there is no regression test for this */

View File

@@ -3429,6 +3429,10 @@ void add_extensions(struct ael_extension *exten)
{ {
struct ael_priority *pr; struct ael_priority *pr;
char *label=0; char *label=0;
if (!exten) {
ast_log(LOG_WARNING, "This file is Empty!\n" );
return;
}
do { do {
struct ael_priority *last = 0; struct ael_priority *last = 0;