aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormurf <murf@f38db490-d61c-443f-a65b-d21fe96a405b>2007-06-05 21:30:18 +0000
committermurf <murf@f38db490-d61c-443f-a65b-d21fe96a405b>2007-06-05 21:30:18 +0000
commit6f3b1c60409793ddb17804110beab59d94c49866 (patch)
treee7f481c7215f52601d34d62c01f389a861c77032
parent9b9e41c461f34f7bf4adc3f4ec2edba38e77cc69 (diff)
this fixes bug 9883, wherein macros were not allowing the includes construct. fixed and tested, looks OK. Now includes can serve as an adjunct to catch.
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@67526 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r--pbx/ael/ael.tab.c476
-rw-r--r--pbx/ael/ael.y1
-rw-r--r--pbx/pbx_ael.c24
3 files changed, 270 insertions, 231 deletions
diff --git a/pbx/ael/ael.tab.c b/pbx/ael/ael.tab.c
index 5a4e23a73..c5beb7b2f 100644
--- a/pbx/ael/ael.tab.c
+++ b/pbx/ael/ael.tab.c
@@ -490,16 +490,16 @@ union yyalloc
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 14
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 303
+#define YYLAST 350
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 42
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 54
/* YYNRULES -- Number of rules. */
-#define YYNRULES 132
+#define YYNRULES 133
/* YYNRULES -- Number of states. */
-#define YYNSTATES 266
+#define YYNSTATES 267
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
@@ -560,8 +560,8 @@ static const yytype_uint16 yyprhs[] =
287, 291, 297, 303, 309, 315, 316, 319, 322, 327,
328, 334, 338, 339, 343, 347, 350, 352, 353, 355,
356, 360, 361, 364, 369, 373, 378, 379, 382, 384,
- 390, 395, 400, 401, 405, 411, 414, 416, 420, 423,
- 427, 430, 435
+ 386, 392, 397, 402, 403, 407, 413, 416, 418, 422,
+ 425, 429, 432, 437
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
@@ -605,12 +605,13 @@ static const yytype_int8 yyrhs[] =
41, -1, -1, 65, -1, -1, 85, 10, 84, -1,
-1, 87, 86, -1, 34, 41, 11, 59, -1, 36,
11, 59, -1, 35, 41, 11, 59, -1, -1, 89,
- 88, -1, 70, -1, 37, 41, 4, 59, 5, -1,
- 38, 4, 92, 5, -1, 39, 4, 92, 5, -1,
- -1, 41, 8, 92, -1, 41, 14, 41, 8, 92,
- -1, 92, 1, -1, 46, -1, 46, 13, 61, -1,
- 93, 8, -1, 94, 93, 8, -1, 94, 1, -1,
- 40, 4, 94, 5, -1, 40, 4, 5, -1
+ 88, -1, 70, -1, 95, -1, 37, 41, 4, 59,
+ 5, -1, 38, 4, 92, 5, -1, 39, 4, 92,
+ 5, -1, -1, 41, 8, 92, -1, 41, 14, 41,
+ 8, 92, -1, 92, 1, -1, 46, -1, 46, 13,
+ 61, -1, 93, 8, -1, 94, 93, 8, -1, 94,
+ 1, -1, 40, 4, 94, 5, -1, 40, 4, 5,
+ -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
@@ -628,8 +629,8 @@ static const yytype_uint16 yyrline[] =
477, 480, 484, 488, 492, 498, 499, 503, 506, 512,
512, 517, 525, 525, 536, 543, 546, 547, 550, 551,
554, 557, 558, 561, 565, 569, 575, 576, 579, 580,
- 586, 591, 596, 597, 598, 600, 603, 604, 611, 612,
- 613, 616, 619
+ 581, 587, 592, 597, 598, 599, 601, 604, 605, 612,
+ 613, 614, 617, 620
};
#endif
@@ -686,8 +687,8 @@ static const yytype_uint8 yyr1[] =
76, 76, 76, 76, 76, 77, 77, 78, 78, 80,
79, 79, 82, 81, 83, 83, 84, 84, 85, 85,
85, 86, 86, 87, 87, 87, 88, 88, 89, 89,
- 90, 91, 92, 92, 92, 92, 93, 93, 94, 94,
- 94, 95, 95
+ 89, 90, 91, 92, 92, 92, 92, 93, 93, 94,
+ 94, 94, 95, 95
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
@@ -704,9 +705,9 @@ static const yytype_uint8 yyr2[] =
5, 2, 2, 2, 3, 1, 2, 0, 1, 3,
3, 5, 5, 5, 5, 0, 2, 2, 4, 0,
5, 3, 0, 3, 3, 2, 1, 0, 1, 0,
- 3, 0, 2, 4, 3, 4, 0, 2, 1, 5,
- 4, 4, 0, 3, 5, 2, 1, 3, 2, 3,
- 2, 4, 3
+ 3, 0, 2, 4, 3, 4, 0, 2, 1, 1,
+ 5, 4, 4, 0, 3, 5, 2, 1, 3, 2,
+ 3, 2, 4, 3
};
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
@@ -719,159 +720,169 @@ static const yytype_uint8 yydefact[] =
0, 17, 11, 10, 0, 23, 0, 20, 19, 16,
0, 26, 25, 0, 0, 0, 36, 0, 0, 0,
0, 0, 0, 0, 34, 0, 26, 33, 29, 31,
- 32, 30, 116, 24, 0, 0, 0, 0, 0, 122,
- 122, 0, 35, 0, 28, 12, 0, 42, 85, 0,
+ 32, 30, 116, 24, 0, 0, 0, 0, 0, 123,
+ 123, 0, 35, 0, 28, 12, 0, 42, 85, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 66, 0, 75, 118, 109, 0, 0,
- 116, 21, 0, 0, 0, 55, 0, 0, 0, 0,
- 132, 126, 0, 0, 38, 0, 42, 0, 0, 48,
- 0, 50, 0, 51, 0, 61, 88, 0, 95, 0,
- 82, 81, 83, 70, 0, 0, 102, 78, 69, 87,
- 105, 53, 108, 0, 77, 79, 15, 117, 37, 0,
- 39, 0, 0, 56, 122, 0, 125, 120, 121, 0,
- 128, 130, 131, 0, 44, 65, 0, 99, 76, 0,
- 111, 46, 0, 0, 0, 0, 0, 62, 0, 0,
- 0, 67, 0, 97, 68, 0, 74, 42, 103, 0,
- 84, 54, 104, 107, 0, 0, 0, 57, 0, 0,
- 127, 129, 101, 109, 0, 0, 0, 0, 0, 111,
- 59, 0, 52, 0, 0, 0, 90, 63, 89, 96,
- 0, 0, 0, 86, 106, 110, 0, 0, 0, 122,
- 0, 49, 0, 0, 42, 64, 112, 60, 58, 0,
- 0, 0, 0, 0, 0, 98, 71, 119, 80, 0,
- 40, 0, 100, 42, 42, 0, 0, 0, 94, 93,
- 92, 91, 0, 41, 0, 0, 0, 45, 0, 0,
- 72, 47, 0, 0, 0, 73
+ 116, 119, 21, 0, 0, 0, 55, 0, 0, 0,
+ 0, 133, 127, 0, 0, 38, 0, 42, 0, 0,
+ 48, 0, 50, 0, 51, 0, 61, 88, 0, 95,
+ 0, 82, 81, 83, 70, 0, 0, 102, 78, 69,
+ 87, 105, 53, 108, 0, 77, 79, 15, 117, 37,
+ 0, 39, 0, 0, 56, 123, 0, 126, 121, 122,
+ 0, 129, 131, 132, 0, 44, 65, 0, 99, 76,
+ 0, 111, 46, 0, 0, 0, 0, 0, 62, 0,
+ 0, 0, 67, 0, 97, 68, 0, 74, 42, 103,
+ 0, 84, 54, 104, 107, 0, 0, 0, 57, 0,
+ 0, 128, 130, 101, 109, 0, 0, 0, 0, 0,
+ 111, 59, 0, 52, 0, 0, 0, 90, 63, 89,
+ 96, 0, 0, 0, 86, 106, 110, 0, 0, 0,
+ 123, 0, 49, 0, 0, 42, 64, 112, 60, 58,
+ 0, 0, 0, 0, 0, 0, 98, 71, 120, 80,
+ 0, 40, 0, 100, 42, 42, 0, 0, 0, 94,
+ 93, 92, 91, 0, 41, 0, 0, 0, 45, 0,
+ 0, 72, 47, 0, 0, 0, 73
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
- -1, 5, 6, 7, 101, 8, 9, 10, 11, 20,
- 83, 35, 26, 45, 46, 47, 48, 105, 162, 163,
- 110, 159, 84, 132, 96, 164, 116, 85, 106, 175,
- 252, 262, 184, 180, 117, 173, 119, 108, 193, 87,
- 178, 88, 215, 133, 198, 199, 89, 90, 49, 50,
- 98, 102, 103, 51
+ -1, 5, 6, 7, 102, 8, 9, 10, 11, 20,
+ 83, 35, 26, 45, 46, 47, 48, 106, 163, 164,
+ 111, 160, 84, 133, 97, 165, 117, 85, 107, 176,
+ 253, 263, 185, 181, 118, 174, 120, 109, 194, 87,
+ 179, 88, 216, 134, 199, 200, 89, 90, 49, 50,
+ 99, 103, 104, 51
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
-#define YYPACT_NINF -197
+#define YYPACT_NINF -198
static const yytype_int16 yypact[] =
{
- 54, -197, -17, 29, -197, 78, 129, -197, -197, 88,
- -197, -197, 99, 65, -197, -197, -197, -21, 90, 147,
- 11, 65, -197, -197, 151, -197, 27, -197, -197, -197,
- 79, 95, -197, 171, 142, 144, -197, 168, -14, 196,
- 199, 200, 201, 12, -197, 84, 95, -197, -197, -197,
- -197, -197, 82, -197, 198, 166, 202, 185, 169, 170,
- 170, 3, -197, 145, -197, -197, 112, 145, -197, 172,
- 208, 208, 209, 208, 30, 176, 210, 211, 212, 215,
- 208, 181, 173, -197, 145, -197, -197, 2, 59, 218,
- 82, -197, 216, 169, 145, -197, 23, 68, 115, 123,
- -197, 203, 217, 5, -197, 138, 145, 220, 219, -197,
- 224, -197, 189, -197, 86, 191, 178, 221, 158, 223,
- -197, -197, -197, -197, 145, 229, -197, -197, -197, 213,
- -197, 194, -197, 111, -197, -197, -197, -197, -197, 33,
- -197, 195, 197, -197, 170, 204, -197, -197, -197, 189,
- -197, -197, -197, 231, -197, -197, 13, 230, -197, 205,
- 161, 20, 227, 234, 232, 176, 176, -197, 176, 206,
- 176, -197, 207, 228, -197, 214, -197, 145, -197, 145,
- -197, -197, -197, 222, 225, 226, 233, -197, 146, 236,
- -197, -197, -197, 205, 242, 235, 237, 239, 246, 161,
- 238, 240, -197, 240, 188, 127, 190, -197, 135, -197,
- -21, 244, 149, -197, -197, -197, 245, 241, 145, 170,
- 183, -197, 243, 247, 145, -197, -197, -197, 248, 249,
- 250, 176, 176, 176, 176, -197, -197, -197, -197, 145,
- -197, 175, -197, 145, 145, 18, 240, 240, 253, 253,
- 253, 253, 251, -197, 21, 24, 255, -197, 252, 240,
- -197, -197, 254, 262, 145, -197
+ 91, -198, -25, 14, -198, 37, 69, -198, -198, 65,
+ -198, -198, 55, 78, -198, -198, -198, 26, 107, 140,
+ 75, 78, -198, -198, 74, -198, 23, -198, -198, -198,
+ 81, 138, -198, 152, 130, 133, -198, 159, -14, 184,
+ 187, 201, 205, 12, -198, 116, 138, -198, -198, -198,
+ -198, -198, 83, -198, 202, 146, 206, 191, 170, 173,
+ 173, 3, -198, 125, -198, -198, 126, 125, -198, 175,
+ 211, 211, 212, 211, 77, 178, 213, 214, 215, 218,
+ 211, 185, 164, -198, 125, -198, -198, 7, 117, 220,
+ 83, -198, -198, 219, 170, 125, -198, 8, 20, 129,
+ 131, -198, 207, 221, 5, -198, 134, 125, 222, 223,
+ -198, 226, -198, 192, -198, 87, 194, 183, 224, 154,
+ 228, -198, -198, -198, -198, 125, 230, -198, -198, -198,
+ 216, -198, 198, -198, 182, -198, -198, -198, -198, -198,
+ 33, -198, 199, 200, -198, 173, 203, -198, -198, -198,
+ 192, -198, -198, -198, 234, -198, -198, 18, 231, -198,
+ 204, 167, 1, 233, 236, 237, 178, 178, -198, 178,
+ 208, 178, -198, 209, 238, -198, 210, -198, 125, -198,
+ 125, -198, -198, -198, 217, 225, 227, 229, -198, 179,
+ 239, -198, -198, -198, 204, 247, 232, 235, 244, 251,
+ 167, 240, 241, -198, 241, 188, 127, 197, -198, 193,
+ -198, 26, 249, 180, -198, -198, -198, 252, 243, 125,
+ 173, 190, -198, 248, 250, 125, -198, -198, -198, 242,
+ 256, 253, 178, 178, 178, 178, -198, -198, -198, -198,
+ 125, -198, 181, -198, 125, 125, 21, 241, 241, 254,
+ 254, 254, 254, 245, -198, 24, 30, 257, -198, 255,
+ 241, -198, -198, 246, 264, 125, -198
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -197, -197, -197, 264, -16, -197, -197, -197, -197, 256,
- 52, -197, -197, 257, -197, -197, -197, -102, -197, 107,
- 8, -197, -197, 100, 179, -196, -73, -197, -52, -197,
- -197, -197, -197, -197, -197, -197, -197, -197, -197, -197,
- -197, -197, -197, 80, 72, -197, 184, -197, -197, -197,
- -57, 177, -197, -197
+ -198, -198, -198, 266, -16, -198, -198, -198, -198, 258,
+ 58, -198, -198, 259, -198, -198, -198, -103, -198, 112,
+ 10, -198, -198, 114, 186, -197, -73, -198, -52, -198,
+ -198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
+ -198, -198, -198, 84, 85, -198, 260, -198, -198, -198,
+ -57, 171, -198, -43
};
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
positive, shift that token. If negative, reduce the rule which
number is the opposite. If zero, do what YYDEFACT says.
If YYTABLE_NINF, syntax error. */
-#define YYTABLE_NINF -125
+#define YYTABLE_NINF -126
static const yytype_int16 yytable[] =
{
- 86, 24, 118, 99, 156, 229, 151, 230, 100, 130,
- 152, 104, 28, 62, 154, 22, 29, 56, -43, 154,
- 23, 27, 154, -114, 12, 154, -113, 57, 32, -115,
- 141, -58, 129, 13, 33, 142, 63, 34, 86, 22,
- 185, 22, 140, 131, 23, 142, 23, -43, -43, -43,
- 256, 257, -114, -114, -114, -113, -113, -113, -115, -115,
- -115, 200, 1, 261, 143, 21, 114, 134, 135, 2,
- 3, 115, 176, 21, 143, 212, 144, 4, 14, 111,
- 28, 113, 145, 44, -18, 64, 67, 188, 124, 65,
- 68, 17, 204, 205, 69, 206, 165, 208, 44, 166,
- 70, 71, 72, 36, 73, 18, 19, 74, 75, 76,
- 77, 78, 37, 64, 79, 80, 146, -27, 182, 81,
- 147, 183, 245, 82, 146, 38, 39, 213, 148, -2,
- 15, 25, -14, 40, 41, 42, 43, 1, 169, 154,
- 232, 254, 255, 155, 2, 3, 169, 146, 234, 67,
- 154, -123, 4, 68, 237, 31, 27, 69, 248, 249,
- 250, 251, 241, 70, 71, 72, 240, 73, 172, 169,
- 74, 75, 76, 77, 78, 52, 146, 79, 80, 126,
- -124, 127, 27, 53, 128, 54, 82, 253, 168, 169,
- 242, 170, 55, 183, 235, 195, 196, 197, 231, 169,
- 233, 169, 58, 59, 60, 61, 91, 92, 93, 94,
- 95, 97, 265, 107, 109, 112, 149, 115, 120, 121,
- 122, 123, 125, 136, 138, 150, 157, 158, 160, 171,
- 161, 174, 167, 177, 179, 181, 186, 192, 187, 191,
- 201, 202, 210, 203, 219, 189, 131, 207, 209, 221,
- 224, 225, 236, 238, 243, 211, 190, 218, 244, 194,
- 260, 247, 246, 214, 169, 239, 216, 217, 259, 264,
- 16, 226, 139, 220, 137, 0, 222, 30, 223, 227,
- 153, 228, 0, 0, 0, 0, 0, 0, 0, 200,
- 0, 0, 258, 0, 0, 263, 0, 0, 0, 0,
- 0, 0, 0, 66
+ 86, 24, 119, 100, 157, 230, 152, 231, 101, 91,
+ 153, 105, -58, 62, 131, 142, 12, 56, 13, 155,
+ 143, 27, 155, -43, 32, 155, -114, 57, 145, -113,
+ 33, 155, 130, 34, 146, -115, 63, 14, 86, 22,
+ 186, 22, 201, 141, 23, 143, 23, 91, 132, 144,
+ 257, 258, -43, -43, -43, -114, -114, -114, -113, -113,
+ -113, 18, 22, 262, -115, -115, -115, 23, 17, -2,
+ 15, 21, -14, 177, 144, 213, 28, 1, 31, 21,
+ 29, 112, 28, 114, 2, 3, -18, 67, 189, 44,
+ 125, 68, 4, 205, 206, 69, 207, 166, 209, 1,
+ 167, 70, 71, 72, 44, 73, 2, 3, 74, 75,
+ 76, 77, 78, 115, 4, 79, 80, 64, 116, 19,
+ 81, 65, 246, 42, 82, 135, 136, 64, 214, 67,
+ 147, -27, 147, 68, 148, 155, 149, 69, 170, 156,
+ 233, 255, 256, 70, 71, 72, 36, 73, 25, 27,
+ 74, 75, 76, 77, 78, 37, 52, 79, 80, 249,
+ 250, 251, 252, 242, 173, 170, 82, 241, 38, 39,
+ 127, 53, 128, 27, 54, 129, 40, 41, 42, 43,
+ 147, 155, 147, 55, -124, 238, -125, 93, 254, 183,
+ 58, 59, 184, 169, 170, 236, 171, 243, 232, 170,
+ 184, 196, 197, 198, 170, 60, 235, 234, 170, 61,
+ 92, 96, 94, 266, 98, 95, 108, 110, 113, 116,
+ 150, 121, 122, 123, 124, 137, 126, 139, 158, 151,
+ 161, 159, 172, 162, 178, 168, 175, 180, 193, 182,
+ 187, 188, 192, 203, 190, 132, 202, 220, 204, 208,
+ 210, 212, 211, 219, 222, 225, 226, 237, 215, 244,
+ 239, 245, 191, 261, 248, 170, 217, 240, 218, 247,
+ 260, 265, 16, 223, 195, 154, 224, 0, 221, 30,
+ 140, 228, 229, 201, 0, 227, 259, 264, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 138
};
static const yytype_int16 yycheck[] =
{
- 52, 17, 75, 60, 106, 201, 1, 203, 5, 7,
- 5, 63, 1, 1, 1, 36, 5, 31, 5, 1,
- 41, 9, 1, 5, 41, 1, 5, 41, 1, 5,
- 7, 11, 84, 4, 7, 12, 24, 10, 90, 36,
- 7, 36, 94, 41, 41, 12, 41, 34, 35, 36,
- 246, 247, 34, 35, 36, 34, 35, 36, 34, 35,
- 36, 41, 8, 259, 41, 13, 36, 8, 9, 15,
- 16, 41, 124, 21, 41, 177, 8, 23, 0, 71,
- 1, 73, 14, 31, 5, 1, 4, 144, 80, 5,
- 8, 3, 165, 166, 12, 168, 10, 170, 46, 13,
- 18, 19, 20, 8, 22, 6, 41, 25, 26, 27,
- 28, 29, 17, 1, 32, 33, 1, 5, 7, 37,
- 5, 10, 224, 41, 1, 30, 31, 179, 5, 0,
- 1, 41, 3, 38, 39, 40, 41, 8, 11, 1,
- 13, 243, 244, 5, 15, 16, 11, 1, 13, 4,
- 1, 5, 23, 8, 5, 4, 9, 12, 231, 232,
- 233, 234, 219, 18, 19, 20, 218, 22, 10, 11,
- 25, 26, 27, 28, 29, 4, 1, 32, 33, 6,
- 5, 8, 9, 41, 11, 41, 41, 239, 10, 11,
- 7, 13, 24, 10, 210, 34, 35, 36, 10, 11,
- 10, 11, 6, 4, 4, 4, 8, 41, 6, 24,
- 41, 41, 264, 41, 6, 6, 13, 41, 8, 8,
- 8, 6, 41, 5, 8, 8, 6, 8, 4, 8,
- 41, 8, 41, 4, 21, 41, 41, 7, 41, 8,
- 13, 7, 14, 11, 8, 41, 41, 41, 41, 7,
- 11, 5, 8, 8, 11, 41, 149, 24, 11, 159,
- 8, 11, 13, 41, 11, 24, 41, 41, 13, 7,
- 6, 199, 93, 193, 90, -1, 41, 21, 41, 41,
- 103, 41, -1, -1, -1, -1, -1, -1, -1, 41,
- -1, -1, 41, -1, -1, 41, -1, -1, -1, -1,
- -1, -1, -1, 46
+ 52, 17, 75, 60, 107, 202, 1, 204, 5, 52,
+ 5, 63, 11, 1, 7, 7, 41, 31, 4, 1,
+ 12, 9, 1, 5, 1, 1, 5, 41, 8, 5,
+ 7, 1, 84, 10, 14, 5, 24, 0, 90, 36,
+ 7, 36, 41, 95, 41, 12, 41, 90, 41, 41,
+ 247, 248, 34, 35, 36, 34, 35, 36, 34, 35,
+ 36, 6, 36, 260, 34, 35, 36, 41, 3, 0,
+ 1, 13, 3, 125, 41, 178, 1, 8, 4, 21,
+ 5, 71, 1, 73, 15, 16, 5, 4, 145, 31,
+ 80, 8, 23, 166, 167, 12, 169, 10, 171, 8,
+ 13, 18, 19, 20, 46, 22, 15, 16, 25, 26,
+ 27, 28, 29, 36, 23, 32, 33, 1, 41, 41,
+ 37, 5, 225, 40, 41, 8, 9, 1, 180, 4,
+ 1, 5, 1, 8, 5, 1, 5, 12, 11, 5,
+ 13, 244, 245, 18, 19, 20, 8, 22, 41, 9,
+ 25, 26, 27, 28, 29, 17, 4, 32, 33, 232,
+ 233, 234, 235, 220, 10, 11, 41, 219, 30, 31,
+ 6, 41, 8, 9, 41, 11, 38, 39, 40, 41,
+ 1, 1, 1, 24, 5, 5, 5, 41, 240, 7,
+ 6, 4, 10, 10, 11, 211, 13, 7, 10, 11,
+ 10, 34, 35, 36, 11, 4, 13, 10, 11, 4,
+ 8, 41, 6, 265, 41, 24, 41, 6, 6, 41,
+ 13, 8, 8, 8, 6, 5, 41, 8, 6, 8,
+ 4, 8, 8, 41, 4, 41, 8, 21, 7, 41,
+ 41, 41, 8, 7, 41, 41, 13, 8, 11, 41,
+ 41, 41, 14, 24, 7, 11, 5, 8, 41, 11,
+ 8, 11, 150, 8, 11, 11, 41, 24, 41, 13,
+ 13, 7, 6, 41, 160, 104, 41, -1, 194, 21,
+ 94, 41, 41, 41, -1, 200, 41, 41, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 46, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 90
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -887,24 +898,24 @@ static const yytype_uint8 yystos[] =
4, 4, 1, 24, 1, 5, 55, 4, 8, 12,
18, 19, 20, 22, 25, 26, 27, 28, 29, 32,
33, 37, 41, 52, 64, 69, 70, 81, 83, 88,
- 89, 8, 41, 6, 24, 41, 66, 41, 92, 92,
- 5, 46, 93, 94, 70, 59, 70, 41, 79, 6,
- 62, 62, 6, 62, 36, 41, 68, 76, 68, 78,
- 8, 8, 8, 6, 62, 41, 6, 8, 11, 70,
- 7, 41, 65, 85, 8, 9, 5, 88, 8, 66,
- 70, 7, 12, 41, 8, 14, 1, 5, 5, 13,
- 8, 1, 5, 93, 1, 5, 59, 6, 8, 63,
- 4, 41, 60, 61, 67, 10, 13, 41, 10, 11,
- 13, 8, 10, 77, 8, 71, 70, 4, 82, 21,
- 75, 41, 7, 10, 74, 7, 41, 41, 92, 41,
- 61, 8, 7, 80, 65, 34, 35, 36, 86, 87,
- 41, 13, 7, 11, 68, 68, 68, 41, 68, 41,
- 14, 41, 59, 70, 41, 84, 41, 41, 24, 8,
- 85, 7, 41, 41, 11, 5, 86, 41, 41, 67,
- 67, 10, 13, 10, 13, 46, 8, 5, 8, 24,
- 70, 92, 7, 11, 11, 59, 13, 11, 68, 68,
- 68, 68, 72, 70, 59, 59, 67, 67, 41, 13,
- 8, 67, 73, 41, 7, 70
+ 89, 95, 8, 41, 6, 24, 41, 66, 41, 92,
+ 92, 5, 46, 93, 94, 70, 59, 70, 41, 79,
+ 6, 62, 62, 6, 62, 36, 41, 68, 76, 68,
+ 78, 8, 8, 8, 6, 62, 41, 6, 8, 11,
+ 70, 7, 41, 65, 85, 8, 9, 5, 88, 8,
+ 66, 70, 7, 12, 41, 8, 14, 1, 5, 5,
+ 13, 8, 1, 5, 93, 1, 5, 59, 6, 8,
+ 63, 4, 41, 60, 61, 67, 10, 13, 41, 10,
+ 11, 13, 8, 10, 77, 8, 71, 70, 4, 82,
+ 21, 75, 41, 7, 10, 74, 7, 41, 41, 92,
+ 41, 61, 8, 7, 80, 65, 34, 35, 36, 86,
+ 87, 41, 13, 7, 11, 68, 68, 68, 41, 68,
+ 41, 14, 41, 59, 70, 41, 84, 41, 41, 24,
+ 8, 85, 7, 41, 41, 11, 5, 86, 41, 41,
+ 67, 67, 10, 13, 10, 13, 46, 8, 5, 8,
+ 24, 70, 92, 7, 11, 11, 59, 13, 11, 68,
+ 68, 68, 68, 72, 70, 59, 59, 67, 67, 41,
+ 13, 8, 67, 73, 41, 7, 70
};
#define yyerrok (yyerrstatus = 0)
@@ -1429,7 +1440,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
case 41: /* "word" */
#line 177 "ael.y"
{ free((yyvaluep->str));};
-#line 1433 "ael.tab.c"
+#line 1444 "ael.tab.c"
break;
case 44: /* "objects" */
#line 164 "ael.y"
@@ -1437,7 +1448,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1441 "ael.tab.c"
+#line 1452 "ael.tab.c"
break;
case 45: /* "object" */
#line 164 "ael.y"
@@ -1445,12 +1456,12 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1449 "ael.tab.c"
+#line 1460 "ael.tab.c"
break;
case 46: /* "context_name" */
#line 177 "ael.y"
{ free((yyvaluep->str));};
-#line 1454 "ael.tab.c"
+#line 1465 "ael.tab.c"
break;
case 47: /* "context" */
#line 164 "ael.y"
@@ -1458,7 +1469,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1462 "ael.tab.c"
+#line 1473 "ael.tab.c"
break;
case 49: /* "macro" */
#line 164 "ael.y"
@@ -1466,7 +1477,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1470 "ael.tab.c"
+#line 1481 "ael.tab.c"
break;
case 50: /* "globals" */
#line 164 "ael.y"
@@ -1474,7 +1485,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1478 "ael.tab.c"
+#line 1489 "ael.tab.c"
break;
case 51: /* "global_statements" */
#line 164 "ael.y"
@@ -1482,7 +1493,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1486 "ael.tab.c"
+#line 1497 "ael.tab.c"
break;
case 52: /* "assignment" */
#line 164 "ael.y"
@@ -1490,7 +1501,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1494 "ael.tab.c"
+#line 1505 "ael.tab.c"
break;
case 54: /* "arglist" */
#line 164 "ael.y"
@@ -1498,7 +1509,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1502 "ael.tab.c"
+#line 1513 "ael.tab.c"
break;
case 55: /* "elements" */
#line 164 "ael.y"
@@ -1506,7 +1517,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1510 "ael.tab.c"
+#line 1521 "ael.tab.c"
break;
case 56: /* "element" */
#line 164 "ael.y"
@@ -1514,7 +1525,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1518 "ael.tab.c"
+#line 1529 "ael.tab.c"
break;
case 57: /* "ignorepat" */
#line 164 "ael.y"
@@ -1522,7 +1533,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1526 "ael.tab.c"
+#line 1537 "ael.tab.c"
break;
case 58: /* "extension" */
#line 164 "ael.y"
@@ -1530,7 +1541,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1534 "ael.tab.c"
+#line 1545 "ael.tab.c"
break;
case 59: /* "statements" */
#line 164 "ael.y"
@@ -1538,12 +1549,12 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1542 "ael.tab.c"
+#line 1553 "ael.tab.c"
break;
case 60: /* "timerange" */
#line 177 "ael.y"
{ free((yyvaluep->str));};
-#line 1547 "ael.tab.c"
+#line 1558 "ael.tab.c"
break;
case 61: /* "timespec" */
#line 164 "ael.y"
@@ -1551,12 +1562,12 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1555 "ael.tab.c"
+#line 1566 "ael.tab.c"
break;
case 62: /* "test_expr" */
#line 177 "ael.y"
{ free((yyvaluep->str));};
-#line 1560 "ael.tab.c"
+#line 1571 "ael.tab.c"
break;
case 64: /* "if_like_head" */
#line 164 "ael.y"
@@ -1564,22 +1575,22 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1568 "ael.tab.c"
+#line 1579 "ael.tab.c"
break;
case 65: /* "word_list" */
#line 177 "ael.y"
{ free((yyvaluep->str));};
-#line 1573 "ael.tab.c"
+#line 1584 "ael.tab.c"
break;
case 67: /* "word3_list" */
#line 177 "ael.y"
{ free((yyvaluep->str));};
-#line 1578 "ael.tab.c"
+#line 1589 "ael.tab.c"
break;
case 68: /* "goto_word" */
#line 177 "ael.y"
{ free((yyvaluep->str));};
-#line 1583 "ael.tab.c"
+#line 1594 "ael.tab.c"
break;
case 69: /* "switch_statement" */
#line 164 "ael.y"
@@ -1587,7 +1598,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1591 "ael.tab.c"
+#line 1602 "ael.tab.c"
break;
case 70: /* "statement" */
#line 164 "ael.y"
@@ -1595,7 +1606,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1599 "ael.tab.c"
+#line 1610 "ael.tab.c"
break;
case 75: /* "opt_else" */
#line 164 "ael.y"
@@ -1603,7 +1614,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1607 "ael.tab.c"
+#line 1618 "ael.tab.c"
break;
case 76: /* "target" */
#line 164 "ael.y"
@@ -1611,12 +1622,12 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1615 "ael.tab.c"
+#line 1626 "ael.tab.c"
break;
case 77: /* "opt_pri" */
#line 177 "ael.y"
{ free((yyvaluep->str));};
-#line 1620 "ael.tab.c"
+#line 1631 "ael.tab.c"
break;
case 78: /* "jumptarget" */
#line 164 "ael.y"
@@ -1624,7 +1635,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1628 "ael.tab.c"
+#line 1639 "ael.tab.c"
break;
case 79: /* "macro_call" */
#line 164 "ael.y"
@@ -1632,7 +1643,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1636 "ael.tab.c"
+#line 1647 "ael.tab.c"
break;
case 81: /* "application_call_head" */
#line 164 "ael.y"
@@ -1640,7 +1651,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1644 "ael.tab.c"
+#line 1655 "ael.tab.c"
break;
case 83: /* "application_call" */
#line 164 "ael.y"
@@ -1648,12 +1659,12 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1652 "ael.tab.c"
+#line 1663 "ael.tab.c"
break;
case 84: /* "opt_word" */
#line 177 "ael.y"
{ free((yyvaluep->str));};
-#line 1657 "ael.tab.c"
+#line 1668 "ael.tab.c"
break;
case 85: /* "eval_arglist" */
#line 164 "ael.y"
@@ -1661,7 +1672,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1665 "ael.tab.c"
+#line 1676 "ael.tab.c"
break;
case 86: /* "case_statements" */
#line 164 "ael.y"
@@ -1669,7 +1680,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1673 "ael.tab.c"
+#line 1684 "ael.tab.c"
break;
case 87: /* "case_statement" */
#line 164 "ael.y"
@@ -1677,7 +1688,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1681 "ael.tab.c"
+#line 1692 "ael.tab.c"
break;
case 88: /* "macro_statements" */
#line 164 "ael.y"
@@ -1685,7 +1696,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1689 "ael.tab.c"
+#line 1700 "ael.tab.c"
break;
case 89: /* "macro_statement" */
#line 164 "ael.y"
@@ -1693,7 +1704,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1697 "ael.tab.c"
+#line 1708 "ael.tab.c"
break;
case 90: /* "switches" */
#line 164 "ael.y"
@@ -1701,7 +1712,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1705 "ael.tab.c"
+#line 1716 "ael.tab.c"
break;
case 91: /* "eswitches" */
#line 164 "ael.y"
@@ -1709,7 +1720,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1713 "ael.tab.c"
+#line 1724 "ael.tab.c"
break;
case 92: /* "switchlist" */
#line 164 "ael.y"
@@ -1717,7 +1728,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1721 "ael.tab.c"
+#line 1732 "ael.tab.c"
break;
case 93: /* "included_entry" */
#line 164 "ael.y"
@@ -1725,7 +1736,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1729 "ael.tab.c"
+#line 1740 "ael.tab.c"
break;
case 94: /* "includeslist" */
#line 164 "ael.y"
@@ -1733,7 +1744,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1737 "ael.tab.c"
+#line 1748 "ael.tab.c"
break;
case 95: /* "includes" */
#line 164 "ael.y"
@@ -1741,7 +1752,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1745 "ael.tab.c"
+#line 1756 "ael.tab.c"
break;
default:
@@ -2836,91 +2847,96 @@ yyreduce:
case 119:
#line 580 "ael.y"
+ { (yyval.pval)=(yyvsp[(1) - (1)].pval);;}
+ break;
+
+ case 120:
+#line 581 "ael.y"
{
(yyval.pval) = npval2(PV_CATCH, &(yylsp[(1) - (5)]), &(yylsp[(5) - (5)]));
(yyval.pval)->u1.str = (yyvsp[(2) - (5)].str);
(yyval.pval)->u2.statements = (yyvsp[(4) - (5)].pval); set_dads((yyval.pval),(yyvsp[(4) - (5)].pval));;}
break;
- case 120:
-#line 586 "ael.y"
+ case 121:
+#line 587 "ael.y"
{
(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));;}
break;
- case 121:
-#line 591 "ael.y"
+ case 122:
+#line 592 "ael.y"
{
(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));;}
break;
- case 122:
-#line 596 "ael.y"
- { (yyval.pval) = NULL; ;}
- break;
-
case 123:
#line 597 "ael.y"
- { (yyval.pval) = linku1(nword((yyvsp[(1) - (3)].str), &(yylsp[(1) - (3)])), (yyvsp[(3) - (3)].pval)); ;}
+ { (yyval.pval) = NULL; ;}
break;
case 124:
#line 598 "ael.y"
- { char *x; asprintf(&x,"%s@%s", (yyvsp[(1) - (5)].str),(yyvsp[(3) - (5)].str)); free((yyvsp[(1) - (5)].str)); free((yyvsp[(3) - (5)].str));
- (yyval.pval) = linku1(nword(x, &(yylsp[(1) - (5)])), (yyvsp[(5) - (5)].pval));;}
+ { (yyval.pval) = linku1(nword((yyvsp[(1) - (3)].str), &(yylsp[(1) - (3)])), (yyvsp[(3) - (3)].pval)); ;}
break;
case 125:
-#line 600 "ael.y"
- {(yyval.pval)=(yyvsp[(1) - (2)].pval);;}
+#line 599 "ael.y"
+ { char *x; asprintf(&x,"%s@%s", (yyvsp[(1) - (5)].str),(yyvsp[(3) - (5)].str)); free((yyvsp[(1) - (5)].str)); free((yyvsp[(3) - (5)].str));
+ (yyval.pval) = linku1(nword(x, &(yylsp[(1) - (5)])), (yyvsp[(5) - (5)].pval));;}
break;
case 126:
-#line 603 "ael.y"
- { (yyval.pval) = nword((yyvsp[(1) - (1)].str), &(yylsp[(1) - (1)])); ;}
+#line 601 "ael.y"
+ {(yyval.pval)=(yyvsp[(1) - (2)].pval);;}
break;
case 127:
#line 604 "ael.y"
+ { (yyval.pval) = nword((yyvsp[(1) - (1)].str), &(yylsp[(1) - (1)])); ;}
+ break;
+
+ case 128:
+#line 605 "ael.y"
{
(yyval.pval) = nword((yyvsp[(1) - (3)].str), &(yylsp[(1) - (3)]));
(yyval.pval)->u2.arglist = (yyvsp[(3) - (3)].pval);
prev_word=0; /* XXX sure ? */ ;}
break;
- case 128:
-#line 611 "ael.y"
- { (yyval.pval) = (yyvsp[(1) - (2)].pval); ;}
- break;
-
case 129:
#line 612 "ael.y"
- { (yyval.pval) = linku1((yyvsp[(1) - (3)].pval), (yyvsp[(2) - (3)].pval)); ;}
+ { (yyval.pval) = (yyvsp[(1) - (2)].pval); ;}
break;
case 130:
#line 613 "ael.y"
- {(yyval.pval)=(yyvsp[(1) - (2)].pval);;}
+ { (yyval.pval) = linku1((yyvsp[(1) - (3)].pval), (yyvsp[(2) - (3)].pval)); ;}
break;
case 131:
-#line 616 "ael.y"
+#line 614 "ael.y"
+ {(yyval.pval)=(yyvsp[(1) - (2)].pval);;}
+ break;
+
+ case 132:
+#line 617 "ael.y"
{
(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));;}
break;
- case 132:
-#line 619 "ael.y"
+ case 133:
+#line 620 "ael.y"
{
(yyval.pval) = npval2(PV_INCLUDES, &(yylsp[(1) - (3)]), &(yylsp[(3) - (3)]));;}
break;
/* Line 1270 of yacc.c. */
-#line 2924 "ael.tab.c"
+#line 2940 "ael.tab.c"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -3139,7 +3155,7 @@ yyreturn:
}
-#line 624 "ael.y"
+#line 625 "ael.y"
static char *token_equivs1[] =
diff --git a/pbx/ael/ael.y b/pbx/ael/ael.y
index 9c6effe0e..9c332dc03 100644
--- a/pbx/ael/ael.y
+++ b/pbx/ael/ael.y
@@ -577,6 +577,7 @@ macro_statements: /* empty */ { $$ = NULL; }
;
macro_statement : statement {$$=$1;}
+ | includes { $$=$1;}
| KW_CATCH word LC statements RC {
$$ = npval2(PV_CATCH, &@1, &@5);
$$->u1.str = $2;
diff --git a/pbx/pbx_ael.c b/pbx/pbx_ael.c
index eda306261..7ccc5e82d 100644
--- a/pbx/pbx_ael.c
+++ b/pbx/pbx_ael.c
@@ -3780,7 +3780,29 @@ void ast_compile_ael2(struct ast_context **local_contexts, struct pval *root)
np2->appargs = strdup(buf);
linkprio(exten, np2);
}
-
+ /* add any includes */
+ for (p2=p->u3.macro_statements; p2; p2=p2->next) {
+ pval *p3;
+
+ switch (p2->type) {
+ case PV_INCLUDES:
+ for (p3 = p2->u1.list; p3 ;p3=p3->next) {
+ if ( p3->u2.arglist ) {
+ snprintf(buf,sizeof(buf), "%s|%s|%s|%s|%s",
+ p3->u1.str,
+ p3->u2.arglist->u1.str,
+ p3->u2.arglist->next->u1.str,
+ p3->u2.arglist->next->next->u1.str,
+ p3->u2.arglist->next->next->next->u1.str);
+ ast_context_add_include2(context, buf, registrar);
+ } else
+ ast_context_add_include2(context, p3->u1.str, registrar);
+ }
+ break;
+ default:
+ break;
+ }
+ }
/* CONTAINS APPCALLS, CATCH, just like extensions... */
gen_prios(exten, p->u1.str, p->u3.macro_statements, 0, context );
if (exten->return_needed) {