diff options
-rw-r--r-- | channels/chan_dahdi.c | 6 | ||||
-rw-r--r-- | main/ast_expr2.c | 154 | ||||
-rw-r--r-- | main/ast_expr2.h | 4 |
3 files changed, 84 insertions, 80 deletions
diff --git a/channels/chan_dahdi.c b/channels/chan_dahdi.c index 75dda32ca..7d0b0afdc 100644 --- a/channels/chan_dahdi.c +++ b/channels/chan_dahdi.c @@ -10520,7 +10520,11 @@ static void *pri_dchannel(void *vpri) } else if (p->owner) p->owner->_softhangup |= AST_SOFTHANGUP_DEV; } - p->inalarm = 1; + /* For PTMP connections with non persistent layer 2 we want + * to *not* declare inalarm unless there actually is an alarm */ + if (p->sig != SIG_BRI_PTMP) { + p->inalarm = 1; + } } } } diff --git a/main/ast_expr2.c b/main/ast_expr2.c index ebe7fe742..8b62ef726 100644 --- a/main/ast_expr2.c +++ b/main/ast_expr2.c @@ -126,7 +126,7 @@ /* Copy the first part of user declarations. */ -#line 1 "ast_expr2.y" +#line 1 "/usr/src/asterisk/1.6.0/main/ast_expr2.y" /* Written by Pace Willisson (pace@blitz.com) * and placed in the public domain. @@ -482,13 +482,13 @@ int ast_yyerror(const char *,YYLTYPE *, struct parse_io *); #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE -#line 343 "ast_expr2.y" +#line 343 "/usr/src/asterisk/1.6.0/main/ast_expr2.y" { struct val *val; struct expr_node *arglist; } /* Line 187 of yacc.c. */ -#line 492 "ast_expr2.c" +#line 492 "/usr/src/asterisk/1.6.0/main/ast_expr2.c" YYSTYPE; # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 @@ -510,13 +510,13 @@ typedef struct YYLTYPE /* Copy the second part of user declarations. */ -#line 348 "ast_expr2.y" +#line 348 "/usr/src/asterisk/1.6.0/main/ast_expr2.y" extern int ast_yylex __P((YYSTYPE *, YYLTYPE *, yyscan_t)); /* Line 216 of yacc.c. */ -#line 520 "ast_expr2.c" +#line 520 "/usr/src/asterisk/1.6.0/main/ast_expr2.c" #ifdef short # undef short @@ -1467,114 +1467,114 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp) switch (yytype) { case 4: /* "TOK_COLONCOLON" */ -#line 368 "ast_expr2.y" +#line 368 "/usr/src/asterisk/1.6.0/main/ast_expr2.y" { free_value((yyvaluep->val)); }; -#line 1473 "ast_expr2.c" +#line 1473 "/usr/src/asterisk/1.6.0/main/ast_expr2.c" break; case 5: /* "TOK_COND" */ -#line 368 "ast_expr2.y" +#line 368 "/usr/src/asterisk/1.6.0/main/ast_expr2.y" { free_value((yyvaluep->val)); }; -#line 1478 "ast_expr2.c" +#line 1478 "/usr/src/asterisk/1.6.0/main/ast_expr2.c" break; case 6: /* "TOK_OR" */ -#line 368 "ast_expr2.y" +#line 368 "/usr/src/asterisk/1.6.0/main/ast_expr2.y" { free_value((yyvaluep->val)); }; -#line 1483 "ast_expr2.c" +#line 1483 "/usr/src/asterisk/1.6.0/main/ast_expr2.c" break; case 7: /* "TOK_AND" */ -#line 368 "ast_expr2.y" +#line 368 "/usr/src/asterisk/1.6.0/main/ast_expr2.y" { free_value((yyvaluep->val)); }; -#line 1488 "ast_expr2.c" +#line 1488 "/usr/src/asterisk/1.6.0/main/ast_expr2.c" break; case 8: /* "TOK_NE" */ -#line 368 "ast_expr2.y" +#line 368 "/usr/src/asterisk/1.6.0/main/ast_expr2.y" { free_value((yyvaluep->val)); }; -#line 1493 "ast_expr2.c" +#line 1493 "/usr/src/asterisk/1.6.0/main/ast_expr2.c" break; case 9: /* "TOK_LE" */ -#line 368 "ast_expr2.y" +#line 368 "/usr/src/asterisk/1.6.0/main/ast_expr2.y" { free_value((yyvaluep->val)); }; -#line 1498 "ast_expr2.c" +#line 1498 "/usr/src/asterisk/1.6.0/main/ast_expr2.c" break; case 10: /* "TOK_GE" */ -#line 368 "ast_expr2.y" +#line 368 "/usr/src/asterisk/1.6.0/main/ast_expr2.y" { free_value((yyvaluep->val)); }; -#line 1503 "ast_expr2.c" +#line 1503 "/usr/src/asterisk/1.6.0/main/ast_expr2.c" break; case 11: /* "TOK_LT" */ -#line 368 "ast_expr2.y" +#line 368 "/usr/src/asterisk/1.6.0/main/ast_expr2.y" { free_value((yyvaluep->val)); }; -#line 1508 "ast_expr2.c" +#line 1508 "/usr/src/asterisk/1.6.0/main/ast_expr2.c" break; case 12: /* "TOK_GT" */ -#line 368 "ast_expr2.y" +#line 368 "/usr/src/asterisk/1.6.0/main/ast_expr2.y" { free_value((yyvaluep->val)); }; -#line 1513 "ast_expr2.c" +#line 1513 "/usr/src/asterisk/1.6.0/main/ast_expr2.c" break; case 13: /* "TOK_EQ" */ -#line 368 "ast_expr2.y" +#line 368 "/usr/src/asterisk/1.6.0/main/ast_expr2.y" { free_value((yyvaluep->val)); }; -#line 1518 "ast_expr2.c" +#line 1518 "/usr/src/asterisk/1.6.0/main/ast_expr2.c" break; case 14: /* "TOK_MINUS" */ -#line 368 "ast_expr2.y" +#line 368 "/usr/src/asterisk/1.6.0/main/ast_expr2.y" { free_value((yyvaluep->val)); }; -#line 1523 "ast_expr2.c" +#line 1523 "/usr/src/asterisk/1.6.0/main/ast_expr2.c" break; case 15: /* "TOK_PLUS" */ -#line 368 "ast_expr2.y" +#line 368 "/usr/src/asterisk/1.6.0/main/ast_expr2.y" { free_value((yyvaluep->val)); }; -#line 1528 "ast_expr2.c" +#line 1528 "/usr/src/asterisk/1.6.0/main/ast_expr2.c" break; case 16: /* "TOK_MOD" */ -#line 368 "ast_expr2.y" +#line 368 "/usr/src/asterisk/1.6.0/main/ast_expr2.y" { free_value((yyvaluep->val)); }; -#line 1533 "ast_expr2.c" +#line 1533 "/usr/src/asterisk/1.6.0/main/ast_expr2.c" break; case 17: /* "TOK_DIV" */ -#line 368 "ast_expr2.y" +#line 368 "/usr/src/asterisk/1.6.0/main/ast_expr2.y" { free_value((yyvaluep->val)); }; -#line 1538 "ast_expr2.c" +#line 1538 "/usr/src/asterisk/1.6.0/main/ast_expr2.c" break; case 18: /* "TOK_MULT" */ -#line 368 "ast_expr2.y" +#line 368 "/usr/src/asterisk/1.6.0/main/ast_expr2.y" { free_value((yyvaluep->val)); }; -#line 1543 "ast_expr2.c" +#line 1543 "/usr/src/asterisk/1.6.0/main/ast_expr2.c" break; case 19: /* "TOK_COMPL" */ -#line 368 "ast_expr2.y" +#line 368 "/usr/src/asterisk/1.6.0/main/ast_expr2.y" { free_value((yyvaluep->val)); }; -#line 1548 "ast_expr2.c" +#line 1548 "/usr/src/asterisk/1.6.0/main/ast_expr2.c" break; case 20: /* "TOK_EQTILDE" */ -#line 368 "ast_expr2.y" +#line 368 "/usr/src/asterisk/1.6.0/main/ast_expr2.y" { free_value((yyvaluep->val)); }; -#line 1553 "ast_expr2.c" +#line 1553 "/usr/src/asterisk/1.6.0/main/ast_expr2.c" break; case 21: /* "TOK_COLON" */ -#line 368 "ast_expr2.y" +#line 368 "/usr/src/asterisk/1.6.0/main/ast_expr2.y" { free_value((yyvaluep->val)); }; -#line 1558 "ast_expr2.c" +#line 1558 "/usr/src/asterisk/1.6.0/main/ast_expr2.c" break; case 22: /* "TOK_LP" */ -#line 368 "ast_expr2.y" +#line 368 "/usr/src/asterisk/1.6.0/main/ast_expr2.y" { free_value((yyvaluep->val)); }; -#line 1563 "ast_expr2.c" +#line 1563 "/usr/src/asterisk/1.6.0/main/ast_expr2.c" break; case 23: /* "TOK_RP" */ -#line 368 "ast_expr2.y" +#line 368 "/usr/src/asterisk/1.6.0/main/ast_expr2.y" { free_value((yyvaluep->val)); }; -#line 1568 "ast_expr2.c" +#line 1568 "/usr/src/asterisk/1.6.0/main/ast_expr2.c" break; case 24: /* "TOKEN" */ -#line 368 "ast_expr2.y" +#line 368 "/usr/src/asterisk/1.6.0/main/ast_expr2.y" { free_value((yyvaluep->val)); }; -#line 1573 "ast_expr2.c" +#line 1573 "/usr/src/asterisk/1.6.0/main/ast_expr2.c" break; case 28: /* "expr" */ -#line 368 "ast_expr2.y" +#line 368 "/usr/src/asterisk/1.6.0/main/ast_expr2.y" { free_value((yyvaluep->val)); }; -#line 1578 "ast_expr2.c" +#line 1578 "/usr/src/asterisk/1.6.0/main/ast_expr2.c" break; default: @@ -1897,7 +1897,7 @@ yyreduce: switch (yyn) { case 2: -#line 374 "ast_expr2.y" +#line 374 "/usr/src/asterisk/1.6.0/main/ast_expr2.y" { ((struct parse_io *)parseio)->val = (struct val *)calloc(sizeof(struct val),1); ((struct parse_io *)parseio)->val->type = (yyvsp[(1) - (1)].val)->type; if( (yyvsp[(1) - (1)].val)->type == AST_EXPR_number ) @@ -1909,7 +1909,7 @@ yyreduce: break; case 3: -#line 382 "ast_expr2.y" +#line 382 "/usr/src/asterisk/1.6.0/main/ast_expr2.y" {/* nothing */ ((struct parse_io *)parseio)->val = (struct val *)calloc(sizeof(struct val),1); ((struct parse_io *)parseio)->val->type = AST_EXPR_string; ((struct parse_io *)parseio)->val->u.s = strdup(""); @@ -1917,12 +1917,12 @@ yyreduce: break; case 4: -#line 389 "ast_expr2.y" +#line 389 "/usr/src/asterisk/1.6.0/main/ast_expr2.y" { (yyval.arglist) = alloc_expr_node(AST_EXPR_NODE_VAL); (yyval.arglist)->val = (yyvsp[(1) - (1)].val);;} break; case 5: -#line 390 "ast_expr2.y" +#line 390 "/usr/src/asterisk/1.6.0/main/ast_expr2.y" {struct expr_node *x = alloc_expr_node(AST_EXPR_NODE_VAL); struct expr_node *t; DESTROY((yyvsp[(2) - (3)].val)); @@ -1932,7 +1932,7 @@ yyreduce: break; case 6: -#line 396 "ast_expr2.y" +#line 396 "/usr/src/asterisk/1.6.0/main/ast_expr2.y" {struct expr_node *x = alloc_expr_node(AST_EXPR_NODE_VAL); struct expr_node *t; /* NULL args should OK */ DESTROY((yyvsp[(2) - (2)].val)); @@ -1942,7 +1942,7 @@ yyreduce: break; case 7: -#line 405 "ast_expr2.y" +#line 405 "/usr/src/asterisk/1.6.0/main/ast_expr2.y" { (yyval.val) = op_func((yyvsp[(1) - (4)].val),(yyvsp[(3) - (4)].arglist), ((struct parse_io *)parseio)->chan); DESTROY((yyvsp[(2) - (4)].val)); DESTROY((yyvsp[(4) - (4)].val)); @@ -1952,12 +1952,12 @@ yyreduce: break; case 8: -#line 411 "ast_expr2.y" +#line 411 "/usr/src/asterisk/1.6.0/main/ast_expr2.y" {(yyval.val) = (yyvsp[(1) - (1)].val);;} break; case 9: -#line 412 "ast_expr2.y" +#line 412 "/usr/src/asterisk/1.6.0/main/ast_expr2.y" { (yyval.val) = (yyvsp[(2) - (3)].val); (yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column; (yyloc).first_line=0; (yyloc).last_line=0; @@ -1965,7 +1965,7 @@ yyreduce: break; case 10: -#line 416 "ast_expr2.y" +#line 416 "/usr/src/asterisk/1.6.0/main/ast_expr2.y" { (yyval.val) = op_or ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val)); DESTROY((yyvsp[(2) - (3)].val)); (yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column; @@ -1973,7 +1973,7 @@ yyreduce: break; case 11: -#line 420 "ast_expr2.y" +#line 420 "/usr/src/asterisk/1.6.0/main/ast_expr2.y" { (yyval.val) = op_and ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val)); DESTROY((yyvsp[(2) - (3)].val)); (yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column; @@ -1981,7 +1981,7 @@ yyreduce: break; case 12: -#line 424 "ast_expr2.y" +#line 424 "/usr/src/asterisk/1.6.0/main/ast_expr2.y" { (yyval.val) = op_eq ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val)); DESTROY((yyvsp[(2) - (3)].val)); (yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column; @@ -1989,7 +1989,7 @@ yyreduce: break; case 13: -#line 428 "ast_expr2.y" +#line 428 "/usr/src/asterisk/1.6.0/main/ast_expr2.y" { (yyval.val) = op_gt ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val)); DESTROY((yyvsp[(2) - (3)].val)); (yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column; @@ -1997,7 +1997,7 @@ yyreduce: break; case 14: -#line 432 "ast_expr2.y" +#line 432 "/usr/src/asterisk/1.6.0/main/ast_expr2.y" { (yyval.val) = op_lt ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val)); DESTROY((yyvsp[(2) - (3)].val)); (yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column; @@ -2005,7 +2005,7 @@ yyreduce: break; case 15: -#line 436 "ast_expr2.y" +#line 436 "/usr/src/asterisk/1.6.0/main/ast_expr2.y" { (yyval.val) = op_ge ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val)); DESTROY((yyvsp[(2) - (3)].val)); (yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column; @@ -2013,7 +2013,7 @@ yyreduce: break; case 16: -#line 440 "ast_expr2.y" +#line 440 "/usr/src/asterisk/1.6.0/main/ast_expr2.y" { (yyval.val) = op_le ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val)); DESTROY((yyvsp[(2) - (3)].val)); (yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column; @@ -2021,7 +2021,7 @@ yyreduce: break; case 17: -#line 444 "ast_expr2.y" +#line 444 "/usr/src/asterisk/1.6.0/main/ast_expr2.y" { (yyval.val) = op_ne ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val)); DESTROY((yyvsp[(2) - (3)].val)); (yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column; @@ -2029,7 +2029,7 @@ yyreduce: break; case 18: -#line 448 "ast_expr2.y" +#line 448 "/usr/src/asterisk/1.6.0/main/ast_expr2.y" { (yyval.val) = op_plus ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val)); DESTROY((yyvsp[(2) - (3)].val)); (yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column; @@ -2037,7 +2037,7 @@ yyreduce: break; case 19: -#line 452 "ast_expr2.y" +#line 452 "/usr/src/asterisk/1.6.0/main/ast_expr2.y" { (yyval.val) = op_minus ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val)); DESTROY((yyvsp[(2) - (3)].val)); (yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column; @@ -2045,7 +2045,7 @@ yyreduce: break; case 20: -#line 456 "ast_expr2.y" +#line 456 "/usr/src/asterisk/1.6.0/main/ast_expr2.y" { (yyval.val) = op_negate ((yyvsp[(2) - (2)].val)); DESTROY((yyvsp[(1) - (2)].val)); (yyloc).first_column = (yylsp[(1) - (2)]).first_column; (yyloc).last_column = (yylsp[(2) - (2)]).last_column; @@ -2053,7 +2053,7 @@ yyreduce: break; case 21: -#line 460 "ast_expr2.y" +#line 460 "/usr/src/asterisk/1.6.0/main/ast_expr2.y" { (yyval.val) = op_compl ((yyvsp[(2) - (2)].val)); DESTROY((yyvsp[(1) - (2)].val)); (yyloc).first_column = (yylsp[(1) - (2)]).first_column; (yyloc).last_column = (yylsp[(2) - (2)]).last_column; @@ -2061,7 +2061,7 @@ yyreduce: break; case 22: -#line 464 "ast_expr2.y" +#line 464 "/usr/src/asterisk/1.6.0/main/ast_expr2.y" { (yyval.val) = op_times ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val)); DESTROY((yyvsp[(2) - (3)].val)); (yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column; @@ -2069,7 +2069,7 @@ yyreduce: break; case 23: -#line 468 "ast_expr2.y" +#line 468 "/usr/src/asterisk/1.6.0/main/ast_expr2.y" { (yyval.val) = op_div ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val)); DESTROY((yyvsp[(2) - (3)].val)); (yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column; @@ -2077,7 +2077,7 @@ yyreduce: break; case 24: -#line 472 "ast_expr2.y" +#line 472 "/usr/src/asterisk/1.6.0/main/ast_expr2.y" { (yyval.val) = op_rem ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val)); DESTROY((yyvsp[(2) - (3)].val)); (yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column; @@ -2085,7 +2085,7 @@ yyreduce: break; case 25: -#line 476 "ast_expr2.y" +#line 476 "/usr/src/asterisk/1.6.0/main/ast_expr2.y" { (yyval.val) = op_colon ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val)); DESTROY((yyvsp[(2) - (3)].val)); (yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column; @@ -2093,7 +2093,7 @@ yyreduce: break; case 26: -#line 480 "ast_expr2.y" +#line 480 "/usr/src/asterisk/1.6.0/main/ast_expr2.y" { (yyval.val) = op_eqtilde ((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val)); DESTROY((yyvsp[(2) - (3)].val)); (yyloc).first_column = (yylsp[(1) - (3)]).first_column; (yyloc).last_column = (yylsp[(3) - (3)]).last_column; @@ -2101,7 +2101,7 @@ yyreduce: break; case 27: -#line 484 "ast_expr2.y" +#line 484 "/usr/src/asterisk/1.6.0/main/ast_expr2.y" { (yyval.val) = op_cond ((yyvsp[(1) - (5)].val), (yyvsp[(3) - (5)].val), (yyvsp[(5) - (5)].val)); DESTROY((yyvsp[(2) - (5)].val)); DESTROY((yyvsp[(4) - (5)].val)); @@ -2111,7 +2111,7 @@ yyreduce: /* Line 1267 of yacc.c. */ -#line 2115 "ast_expr2.c" +#line 2115 "/usr/src/asterisk/1.6.0/main/ast_expr2.c" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); @@ -2331,7 +2331,7 @@ yyreturn: } -#line 491 "ast_expr2.y" +#line 491 "/usr/src/asterisk/1.6.0/main/ast_expr2.y" static struct expr_node *alloc_expr_node(enum node_type nt) diff --git a/main/ast_expr2.h b/main/ast_expr2.h index 2cb7e1a98..6988bcde6 100644 --- a/main/ast_expr2.h +++ b/main/ast_expr2.h @@ -92,13 +92,13 @@ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE -#line 343 "ast_expr2.y" +#line 343 "/usr/src/asterisk/1.6.0/main/ast_expr2.y" { struct val *val; struct expr_node *arglist; } /* Line 1489 of yacc.c. */ -#line 102 "ast_expr2.h" +#line 102 "/usr/src/asterisk/1.6.0/main/ast_expr2.h" YYSTYPE; # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 |