dect
/
asterisk
Archived
13
0
Fork 0

Merged revisions 293197 via svnmerge from

https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r293197 | tilghman | 2010-10-28 15:00:06 -0500 (Thu, 28 Oct 2010) | 33 lines
  
  Merged revisions 293195-293196 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r293195 | tilghman | 2010-10-28 14:52:52 -0500 (Thu, 28 Oct 2010) | 12 lines
    
    Merged revisions 293194 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r293194 | tilghman | 2010-10-28 14:44:37 -0500 (Thu, 28 Oct 2010) | 5 lines
      
      "!00" evaluated as false, which is incorrect.  Fixing.
      
      Reported (though the reporter did not understand he was reporting a bug) on the asterisk-users list:
      http://lists.digium.com/pipermail/asterisk-users/2010-October/255505.html
    ........
  ................
    r293196 | tilghman | 2010-10-28 14:54:34 -0500 (Thu, 28 Oct 2010) | 12 lines
    
    Merged revisions 293194 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r293194 | tilghman | 2010-10-28 14:44:37 -0500 (Thu, 28 Oct 2010) | 5 lines
      
      "!00" evaluated as false, which is incorrect.  Fixing.
      
      Reported (though the reporter did not understand he was reporting a bug) on the asterisk-users list:
      http://lists.digium.com/pipermail/asterisk-users/2010-October/255505.html
    ........
  ................
................


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@293198 f38db490-d61c-443f-a65b-d21fe96a405b
This commit is contained in:
tilghman 2010-10-28 20:01:28 +00:00
parent 4fa3407e83
commit ca6027726c
6 changed files with 1301 additions and 741 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,14 +1,15 @@
/* A Bison parser, made by GNU Bison 2.3. */
/* A Bison parser, made by GNU Bison 2.4.1. */
/* Skeleton interface for Bison's Yacc-like parsers in C
Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
@ -16,9 +17,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA. */
along with this program. If not, see <http://www.gnu.org/licenses/>. */
/* As a special exception, you may create a larger work that contains
part or all of the Bison parser skeleton and distribute that work
@ -33,6 +32,7 @@
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
/* Tokens. */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
@ -64,47 +64,27 @@
TOKEN = 280
};
#endif
/* Tokens. */
#define TOK_COMMA 258
#define TOK_COLONCOLON 259
#define TOK_COND 260
#define TOK_OR 261
#define TOK_AND 262
#define TOK_NE 263
#define TOK_LE 264
#define TOK_GE 265
#define TOK_LT 266
#define TOK_GT 267
#define TOK_EQ 268
#define TOK_MINUS 269
#define TOK_PLUS 270
#define TOK_MOD 271
#define TOK_DIV 272
#define TOK_MULT 273
#define TOK_COMPL 274
#define TOK_TILDETILDE 275
#define TOK_EQTILDE 276
#define TOK_COLON 277
#define TOK_LP 278
#define TOK_RP 279
#define TOKEN 280
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
#line 345 "ast_expr2.y"
{
/* Line 1676 of yacc.c */
#line 345 "ast_expr2.y"
struct val *val;
struct expr_node *arglist;
}
/* Line 1489 of yacc.c. */
#line 104 "ast_expr2.h"
YYSTYPE;
/* Line 1676 of yacc.c */
#line 84 "ast_expr2.h"
} YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
# define YYSTYPE_IS_TRIVIAL 1
#endif
@ -123,3 +103,4 @@ typedef struct YYLTYPE
#endif

View File

@ -1402,6 +1402,8 @@ op_compl (struct val *a)
v1 = 0;
else if (strlen(a->u.s) == 1 && a->u.s[0] == '0' )
v1 = 0;
else
v1 = atoi(a->u.s);
}
break;
@ -1414,6 +1416,8 @@ op_compl (struct val *a)
v1 = 0;
else if (strlen(a->u.s) == 1 && a->u.s[0] == '0' )
v1 = 0;
else
v1 = atoi(a->u.s);
}
break;
}

File diff suppressed because it is too large Load Diff

View File

@ -1,14 +1,15 @@
/* A Bison parser, made by GNU Bison 2.3. */
/* A Bison parser, made by GNU Bison 2.4.1. */
/* Skeleton interface for Bison's Yacc-like parsers in C
Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
@ -16,9 +17,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA. */
along with this program. If not, see <http://www.gnu.org/licenses/>. */
/* As a special exception, you may create a larger work that contains
part or all of the Bison parser skeleton and distribute that work
@ -33,6 +32,7 @@
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
/* Tokens. */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
@ -82,66 +82,28 @@
word = 298
};
#endif
/* Tokens. */
#define KW_CONTEXT 258
#define LC 259
#define RC 260
#define LP 261
#define RP 262
#define SEMI 263
#define EQ 264
#define COMMA 265
#define COLON 266
#define AMPER 267
#define BAR 268
#define AT 269
#define KW_MACRO 270
#define KW_GLOBALS 271
#define KW_IGNOREPAT 272
#define KW_SWITCH 273
#define KW_IF 274
#define KW_IFTIME 275
#define KW_ELSE 276
#define KW_RANDOM 277
#define KW_ABSTRACT 278
#define KW_EXTEND 279
#define EXTENMARK 280
#define KW_GOTO 281
#define KW_JUMP 282
#define KW_RETURN 283
#define KW_BREAK 284
#define KW_CONTINUE 285
#define KW_REGEXTEN 286
#define KW_HINT 287
#define KW_FOR 288
#define KW_WHILE 289
#define KW_CASE 290
#define KW_PATTERN 291
#define KW_DEFAULT 292
#define KW_CATCH 293
#define KW_SWITCHES 294
#define KW_ESWITCHES 295
#define KW_INCLUDES 296
#define KW_LOCAL 297
#define word 298
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
#line 59 "ael.y"
{
/* Line 1676 of yacc.c */
#line 59 "ael.y"
int intval; /* integer value, typically flags */
char *str; /* strings */
struct pval *pval; /* full objects */
}
/* Line 1489 of yacc.c. */
#line 141 "ael.tab.h"
YYSTYPE;
/* Line 1676 of yacc.c */
#line 103 "ael.tab.h"
} YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
# define YYSTYPE_IS_TRIVIAL 1
#endif
@ -160,3 +122,4 @@ typedef struct YYLTYPE
#endif

View File

@ -1,3 +1,5 @@
#include "asterisk.h"
#line 2 "ael_lex.c"
#line 4 "ael_lex.c"
@ -16,7 +18,6 @@
/* First, we deal with platform-specific or compiler-specific issues. */
#include "asterisk.h"
/* begin standard C headers. */
#include <stdio.h>
#include <string.h>
@ -160,7 +161,15 @@ typedef void* yyscan_t;
/* Size of default input buffer. */
#ifndef YY_BUF_SIZE
#ifdef __ia64__
/* On IA-64, the buffer size is 16k, not 8k.
* Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
* Ditto for the __ia64__ case accordingly.
*/
#define YY_BUF_SIZE 32768
#else
#define YY_BUF_SIZE 16384
#endif /* __ia64__ */
#endif
/* The state buf must be large enough to hold one state per character in the main buffer.
@ -952,7 +961,7 @@ static void pbcwhere(const char *text, int *line, int *col )
#define STORE_POS
#define STORE_LOC
#endif
#line 955 "ael_lex.c"
#line 963 "ael_lex.c"
#define INITIAL 0
#define paren 1
@ -1096,7 +1105,12 @@ static int input (yyscan_t yyscanner );
/* Amount of stuff to slurp up with each read. */
#ifndef YY_READ_BUF_SIZE
#ifdef __ia64__
/* On IA-64, the buffer size is 16k, not 8k */
#define YY_READ_BUF_SIZE 16384
#else
#define YY_READ_BUF_SIZE 8192
#endif /* __ia64__ */
#endif
/* Copy whatever the last rule matched to the standard output. */
@ -1203,7 +1217,7 @@ YY_DECL
#line 217 "ael.flex"
#line 1206 "ael_lex.c"
#line 1219 "ael_lex.c"
yylval = yylval_param;
@ -2037,7 +2051,7 @@ YY_RULE_SETUP
#line 656 "ael.flex"
YY_FATAL_ERROR( "flex scanner jammed" );
YY_BREAK
#line 2040 "ael_lex.c"
#line 2053 "ael_lex.c"
case YY_END_OF_BUFFER:
{
@ -2808,8 +2822,8 @@ YY_BUFFER_STATE ael_yy_scan_string (yyconst char * yystr , yyscan_t yyscanner)
/** Setup the input buffer state to scan the given bytes. The next call to ael_yylex() will
* scan from a @e copy of @a bytes.
* @param bytes the byte buffer to scan
* @param len the number of bytes in the buffer pointed to by @a bytes.
* @param yybytes the byte buffer to scan
* @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
* @param yyscanner The scanner object.
* @return the newly allocated buffer state object.
*/
@ -3221,6 +3235,7 @@ static void pbcpush(char x)
void ael_yyfree(void *ptr, yyscan_t yyscanner)
{
if (ptr)
free( (char*) ptr );
}
@ -3360,6 +3375,7 @@ struct pval *ael2_parse(char *filename, int *errors)
*errors = 1;
return 0;
}
if (my_file)
free(my_file);
my_file = strdup(filename);
stat(filename, &stats);