diff --git a/include/asterisk/ael_structs.h b/include/asterisk/ael_structs.h
index 4bd0710e337efb2d374ae036b204b3d5fb17aa19..e17d302ee00f4ec7bf79d57b832cad0c60507950 100644
--- a/include/asterisk/ael_structs.h
+++ b/include/asterisk/ael_structs.h
@@ -2,7 +2,7 @@
 #define _ASTERISK_AEL_STRUCTS_H
 
 #if !defined(SOLARIS) && !defined(__CYGWIN__)
-#include <err.h>
+/* #include <err.h> */
 #else
 #define quad_t int64_t
 #endif
diff --git a/main/ast_expr2.c b/main/ast_expr2.c
index bd152549b6f052598910246f78cb5f561042dc40..5c1d9bf717af09cc7e337785f39808ea7d207e03 100644
--- a/main/ast_expr2.c
+++ b/main/ast_expr2.c
@@ -153,7 +153,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
 #include <unistd.h>
 #include <ctype.h>
 #if !defined(SOLARIS) && !defined(__CYGWIN__)
-#include <err.h>
+	/* #include <err.h> */
 #else
 #define quad_t int64_t
 #endif
diff --git a/main/ast_expr2.fl b/main/ast_expr2.fl
index df9668fe8c04c590e285355949d88c8fc96536d0..58c52288383892adfe1f095401e5540731a15969 100644
--- a/main/ast_expr2.fl
+++ b/main/ast_expr2.fl
@@ -35,7 +35,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
 #include <locale.h>
 #include <ctype.h>
 #if !defined(SOLARIS) && !defined(__CYGWIN__)
-#include <err.h>
+/* #include <err.h> */
 #else
 #define quad_t int64_t
 #endif
diff --git a/main/ast_expr2.y b/main/ast_expr2.y
index 85c34b2c994e6f9f952755947b9d92ba5defb814..79add052377fb54cd463cdbf598f15c1843e080a 100644
--- a/main/ast_expr2.y
+++ b/main/ast_expr2.y
@@ -26,7 +26,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
 #include <unistd.h>
 #include <ctype.h>
 #if !defined(SOLARIS) && !defined(__CYGWIN__)
-#include <err.h>
+	/* #include <err.h> */
 #else
 #define quad_t int64_t
 #endif
diff --git a/main/ast_expr2f.c b/main/ast_expr2f.c
index eb4691dc4cca4a3377e9d17dbb71dc6e62a7b292..3fec4a216b91b2139eac9414014d1835dcd56118 100644
--- a/main/ast_expr2f.c
+++ b/main/ast_expr2f.c
@@ -9,7 +9,7 @@
 #define FLEX_SCANNER
 #define YY_FLEX_MAJOR_VERSION 2
 #define YY_FLEX_MINOR_VERSION 5
-#define YY_FLEX_SUBMINOR_VERSION 33
+#define YY_FLEX_SUBMINOR_VERSION 31
 #if YY_FLEX_SUBMINOR_VERSION > 0
 #define FLEX_BETA
 #endif
@@ -31,15 +31,7 @@
 
 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
 
-#if __STDC_VERSION__ >= 199901L
-
-/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
- * if you want the limit (max/min) macros for int types. 
- */
-#ifndef __STDC_LIMIT_MACROS
-#define __STDC_LIMIT_MACROS 1
-#endif
-
+#if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L
 #include <inttypes.h>
 typedef int8_t flex_int8_t;
 typedef uint8_t flex_uint8_t;
@@ -162,10 +154,6 @@ int ast_yylex_init (yyscan_t* scanner);
 #define YY_BUF_SIZE 16384
 #endif
 
-/* The state buf must be large enough to hold one state per character in the main buffer.
- */
-#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
-
 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
 #define YY_TYPEDEF_YY_BUFFER_STATE
 typedef struct yy_buffer_state *YY_BUFFER_STATE;
@@ -1367,7 +1355,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
 #include <locale.h>
 #include <ctype.h>
 #if !defined(SOLARIS) && !defined(__CYGWIN__)
-#include <err.h>
+/* #include <err.h> */
 #else
 #define quad_t int64_t
 #endif
@@ -1423,19 +1411,17 @@ int ast_yyget_column(yyscan_t yyscanner);
 static int curlycount = 0;
 static char *expr2_token_subst(char *mess);
 
-#line 1427 "ast_expr2f.c"
+#line 1415 "ast_expr2f.c"
 
 #define INITIAL 0
 #define var 1
 #define trail 2
 
-#ifndef YY_NO_UNISTD_H
 /* Special case for "unistd.h", since it is non-ANSI. We include it way
  * down here because we want the user's section 1 to have been scanned first.
  * The user has a chance to override it with an option.
  */
 #include <unistd.h>
-#endif
 
 #ifndef YY_EXTRA_TYPE
 #define YY_EXTRA_TYPE void *
@@ -1479,8 +1465,6 @@ struct yyguts_t
 
     }; /* end struct yyguts_t */
 
-static int yy_init_globals (yyscan_t yyscanner );
-
     /* This must go here because YYSTYPE and YYLTYPE are included
      * from bison output in section 1.*/
     #    define yylval yyg->yylval_r
@@ -1615,11 +1599,9 @@ static int input (yyscan_t yyscanner );
 #ifndef YY_DECL
 #define YY_DECL_IS_OURS 1
 
-extern int ast_yylex \
-               (YYSTYPE * yylval_param,YYLTYPE * yylloc_param ,yyscan_t yyscanner);
+extern int ast_yylex (YYSTYPE * yylval_param,YYLTYPE * yylloc_param ,yyscan_t yyscanner);
 
-#define YY_DECL int ast_yylex \
-               (YYSTYPE * yylval_param, YYLTYPE * yylloc_param , yyscan_t yyscanner)
+#define YY_DECL int ast_yylex (YYSTYPE * yylval_param, YYLTYPE * yylloc_param , yyscan_t yyscanner)
 #endif /* !YY_DECL */
 
 /* Code executed at the beginning of each rule, after yytext and yyleng
@@ -1649,15 +1631,15 @@ YY_DECL
 #line 104 "ast_expr2.fl"
 
 
-#line 1653 "ast_expr2f.c"
+#line 1635 "ast_expr2f.c"
 
     yylval = yylval_param;
 
     yylloc = yylloc_param;
 
-	if ( !yyg->yy_init )
+	if ( yyg->yy_init )
 		{
-		yyg->yy_init = 1;
+		yyg->yy_init = 0;
 
 #ifdef YY_USER_INIT
 		YY_USER_INIT;
@@ -1966,7 +1948,7 @@ YY_RULE_SETUP
 #line 205 "ast_expr2.fl"
 ECHO;
 	YY_BREAK
-#line 1970 "ast_expr2f.c"
+#line 1952 "ast_expr2f.c"
 case YY_STATE_EOF(INITIAL):
 case YY_STATE_EOF(var):
 	yyterminate();
@@ -2154,7 +2136,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
 
 	else
 		{
-			int num_to_read =
+			size_t num_to_read =
 			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
 
 		while ( num_to_read <= 0 )
@@ -2199,7 +2181,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
 
 		/* Read in more data. */
 		YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
-			yyg->yy_n_chars, (size_t) num_to_read );
+			yyg->yy_n_chars, num_to_read );
 
 		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
 		}
@@ -2268,7 +2250,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
     static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state , yyscan_t yyscanner)
 {
 	register int yy_is_jam;
-    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; /* This var may be unused depending upon options. */
+    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
 	register char *yy_cp = yyg->yy_c_buf_p;
 
 	yy_current_state = yy_NUL_trans[yy_current_state];
@@ -2708,26 +2690,26 @@ YY_BUFFER_STATE ast_yy_scan_buffer  (char * base, yy_size_t  size , yyscan_t yys
 
 /** Setup the input buffer state to scan a string. The next call to ast_yylex() will
  * scan from a @e copy of @a str.
- * @param yystr a NUL-terminated string to scan
+ * @param str a NUL-terminated string to scan
  * @param yyscanner The scanner object.
  * @return the newly allocated buffer state object.
  * @note If you want to scan bytes that may contain NUL values, then use
  *       ast_yy_scan_bytes() instead.
  */
-YY_BUFFER_STATE ast_yy_scan_string (yyconst char * yystr , yyscan_t yyscanner)
+YY_BUFFER_STATE ast_yy_scan_string (yyconst char * str , yyscan_t yyscanner)
 {
     
-	return ast_yy_scan_bytes(yystr,strlen(yystr) ,yyscanner);
+	return ast_yy_scan_bytes(str,strlen(str) ,yyscanner);
 }
 
 /** Setup the input buffer state to scan the given bytes. The next call to ast_yylex() will
  * scan from a @e copy of @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 bytes the byte buffer to scan
+ * @param 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.
  */
-YY_BUFFER_STATE ast_yy_scan_bytes  (yyconst char * yybytes, int  _yybytes_len , yyscan_t yyscanner)
+YY_BUFFER_STATE ast_yy_scan_bytes  (yyconst char * bytes, int  len , yyscan_t yyscanner)
 {
 	YY_BUFFER_STATE b;
 	char *buf;
@@ -2735,15 +2717,15 @@ YY_BUFFER_STATE ast_yy_scan_bytes  (yyconst char * yybytes, int  _yybytes_len ,
 	int i;
     
 	/* Get memory for full buffer, including space for trailing EOB's. */
-	n = _yybytes_len + 2;
+	n = len + 2;
 	buf = (char *) ast_yyalloc(n ,yyscanner );
 	if ( ! buf )
 		YY_FATAL_ERROR( "out of dynamic memory in ast_yy_scan_bytes()" );
 
-	for ( i = 0; i < _yybytes_len; ++i )
-		buf[i] = yybytes[i];
+	for ( i = 0; i < len; ++i )
+		buf[i] = bytes[i];
 
-	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
+	buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
 
 	b = ast_yy_scan_buffer(buf,n ,yyscanner);
 	if ( ! b )
@@ -2884,7 +2866,7 @@ void ast_yyset_lineno (int  line_number , yyscan_t yyscanner)
 }
 
 /** Set the current column.
- * @param column_no
+ * @param line_number
  * @param yyscanner The scanner object.
  */
 void ast_yyset_column (int  column_no , yyscan_t yyscanner)
@@ -2954,51 +2936,21 @@ void ast_yyset_lloc (YYLTYPE *  yylloc_param , yyscan_t yyscanner)
     yylloc = yylloc_param;
 }
     
-/* User-visible API */
-
-/* ast_yylex_init is special because it creates the scanner itself, so it is
- * the ONLY reentrant function that doesn't take the scanner as the last argument.
- * That's why we explicitly handle the declaration, instead of using our macros.
- */
-
-int ast_yylex_init(yyscan_t* ptr_yy_globals)
-
-{
-    if (ptr_yy_globals == NULL){
-        errno = EINVAL;
-        return 1;
-    }
-
-    *ptr_yy_globals = (yyscan_t) ast_yyalloc ( sizeof( struct yyguts_t ), NULL );
-
-    if (*ptr_yy_globals == NULL){
-        errno = ENOMEM;
-        return 1;
-    }
-
-    /* By setting to 0xAA, we expose bugs in yy_init_globals. Leave at 0x00 for releases. */
-    memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t));
-
-    return yy_init_globals ( *ptr_yy_globals );
-}
-
 static int yy_init_globals (yyscan_t yyscanner)
 {
     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
     /* Initialization is the same as for the non-reentrant scanner.
-     * This function is called from ast_yylex_destroy(), so don't allocate here.
-     */
+       This function is called once per scanner lifetime. */
 
     yyg->yy_buffer_stack = 0;
     yyg->yy_buffer_stack_top = 0;
     yyg->yy_buffer_stack_max = 0;
     yyg->yy_c_buf_p = (char *) 0;
-    yyg->yy_init = 0;
+    yyg->yy_init = 1;
     yyg->yy_start = 0;
-
     yyg->yy_start_stack_ptr = 0;
     yyg->yy_start_stack_depth = 0;
-    yyg->yy_start_stack =  NULL;
+    yyg->yy_start_stack = (int *) 0;
 
 /* Defined in main.c */
 #ifdef YY_STDINIT
@@ -3015,6 +2967,33 @@ static int yy_init_globals (yyscan_t yyscanner)
     return 0;
 }
 
+/* User-visible API */
+
+/* ast_yylex_init is special because it creates the scanner itself, so it is
+ * the ONLY reentrant function that doesn't take the scanner as the last argument.
+ * That's why we explicitly handle the declaration, instead of using our macros.
+ */
+
+int ast_yylex_init(yyscan_t* ptr_yy_globals)
+
+{
+    if (ptr_yy_globals == NULL){
+        errno = EINVAL;
+        return 1;
+    }
+
+    *ptr_yy_globals = (yyscan_t) ast_yyalloc ( sizeof( struct yyguts_t ), NULL );
+
+    if (*ptr_yy_globals == NULL){
+        errno = ENOMEM;
+        return 1;
+    }
+
+    memset(*ptr_yy_globals,0,sizeof(struct yyguts_t));
+
+    return yy_init_globals ( *ptr_yy_globals );
+}
+
 /* ast_yylex_destroy is for both reentrant and non-reentrant scanners. */
 int ast_yylex_destroy  (yyscan_t yyscanner)
 {
@@ -3035,13 +3014,8 @@ int ast_yylex_destroy  (yyscan_t yyscanner)
         ast_yyfree(yyg->yy_start_stack ,yyscanner );
         yyg->yy_start_stack = NULL;
 
-    /* Reset the globals. This is important in a non-reentrant scanner so the next time
-     * ast_yylex() is called, initialization will occur. */
-    yy_init_globals( yyscanner);
-
     /* Destroy the main struct (reentrant only). */
     ast_yyfree ( yyscanner , yyscanner );
-    yyscanner = NULL;
     return 0;
 }
 
@@ -3053,6 +3027,7 @@ int ast_yylex_destroy  (yyscan_t yyscanner)
 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n , yyscan_t yyscanner)
 {
 	register int i;
+    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
 	for ( i = 0; i < n; ++i )
 		s1[i] = s2[i];
 }
@@ -3062,6 +3037,7 @@ static void yy_flex_strncpy (char* s1, yyconst char * s2, int n , yyscan_t yysca
 static int yy_flex_strlen (yyconst char * s , yyscan_t yyscanner)
 {
 	register int n;
+    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
 	for ( n = 0; s[n]; ++n )
 		;
 
@@ -3093,6 +3069,18 @@ void ast_yyfree (void * ptr , yyscan_t yyscanner)
 
 #define YYTABLES_NAME "yytables"
 
+#undef YY_NEW_FILE
+#undef YY_FLUSH_BUFFER
+#undef yy_set_bol
+#undef yy_new_buffer
+#undef yy_set_interactive
+#undef yytext_ptr
+#undef YY_DO_BEFORE_ACTION
+
+#ifdef YY_DECL_IS_OURS
+#undef YY_DECL_IS_OURS
+#undef YY_DECL
+#endif
 #line 205 "ast_expr2.fl"
 
 
@@ -3134,11 +3122,11 @@ int ast_expr(char *expr, char *buf, int length)
 			res_length = snprintf(buf, length, "%ld", (long int) io.val->u.i);
 			return_value = (res_length <= length) ? res_length : length;
 		} else {
-#if defined(STANDALONE) || defined(LOW_MEMORY)
+#ifdef STANDALONE
 			strncpy(buf, io.val->u.s, length - 1);
-#else /* !STANDALONE && !LOW_MEMORY */
+#else /* !STANDALONE */
 			ast_copy_string(buf, io.val->u.s, length);
-#endif /* STANDALONE || LOW_MEMORY */
+#endif /* STANDALONE */
 			return_value = strlen(buf);
 			free(io.val->u.s);
 		}
diff --git a/pbx/ael/ael.tab.c b/pbx/ael/ael.tab.c
index 980a2e51a8246a3a852f6dfe42b4a75c884774d9..8db187c6dc5dc5a19f6e43f2019139a2cf1a013a 100644
--- a/pbx/ael/ael.tab.c
+++ b/pbx/ael/ael.tab.c
@@ -1,7 +1,9 @@
-/* A Bison parser, made by GNU Bison 2.1a.  */
+/* A Bison parser, made by GNU Bison 2.3.  */
 
-/* Skeleton parser for Yacc-like parsing with Bison,
-   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+/* Skeleton implementation 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
    it under the terms of the GNU General Public License as published by
@@ -18,10 +20,18 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor,
    Boston, MA 02110-1301, USA.  */
 
-/* As a special exception, when this file is copied by Bison into a
-   Bison output file, you may use that output file without restriction.
-   This special exception was added by the Free Software Foundation
-   in version 1.24 of Bison.  */
+/* As a special exception, you may create a larger work that contains
+   part or all of the Bison parser skeleton and distribute that work
+   under terms of your choice, so long as that work isn't itself a
+   parser generator using the skeleton or a modified version thereof
+   as a parser skeleton.  Alternatively, if you modify or redistribute
+   the parser skeleton itself, you may (at your option) remove this
+   special exception, which will cause the skeleton and the resulting
+   Bison output files to be licensed under the GNU General Public
+   License without this special exception.
+
+   This special exception was added by the Free Software Foundation in
+   version 2.2 of Bison.  */
 
 /* C LALR(1) parser skeleton written by Richard Stallman, by
    simplifying the original so-called "semantic" parser.  */
@@ -37,7 +47,7 @@
 #define YYBISON 1
 
 /* Bison version.  */
-#define YYBISON_VERSION "2.1a"
+#define YYBISON_VERSION "2.3"
 
 /* Skeleton name.  */
 #define YYSKELETON_NAME "yacc.c"
@@ -229,8 +239,8 @@ typedef union YYSTYPE
 	char	*str;		/* strings */
 	struct pval *pval;	/* full objects */
 }
-/* Line 198 of yacc.c.  */
-#line 234 "ael.tab.c"
+/* Line 193 of yacc.c.  */
+#line 244 "ael.tab.c"
 	YYSTYPE;
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
 # define YYSTYPE_IS_DECLARED 1
@@ -274,8 +284,8 @@ static pval *nword(char *string, YYLTYPE *pos);
 static pval *update_last(pval *, YYLTYPE *);
 
 
-/* Line 221 of yacc.c.  */
-#line 279 "ael.tab.c"
+/* Line 216 of yacc.c.  */
+#line 289 "ael.tab.c"
 
 #ifdef short
 # undef short
@@ -405,8 +415,13 @@ YYID (i)
 #  ifndef YYSTACK_ALLOC_MAXIMUM
 #   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
 #  endif
-#  ifdef __cplusplus
-extern "C" {
+#  if (defined __cplusplus && ! defined _STDLIB_H \
+       && ! ((defined YYMALLOC || defined malloc) \
+	     && (defined YYFREE || defined free)))
+#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+#   ifndef _STDLIB_H
+#    define _STDLIB_H 1
+#   endif
 #  endif
 #  ifndef YYMALLOC
 #   define YYMALLOC malloc
@@ -422,9 +437,6 @@ void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
 void free (void *); /* INFRINGES ON USER NAME SPACE */
 #   endif
 #  endif
-#  ifdef __cplusplus
-}
-#  endif
 # endif
 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
 
@@ -1029,14 +1041,14 @@ do {									  \
 #if (defined __STDC__ || defined __C99__FUNC__ \
      || defined __cplusplus || defined _MSC_VER)
 static void
-yy_symbol_value_print (FILE *yyoutput, int yytype, const YYSTYPE * const yyvaluep, const YYLTYPE * const yylocationp, struct parse_io *parseio)
+yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, struct parse_io *parseio)
 #else
 static void
 yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp, parseio)
     FILE *yyoutput;
     int yytype;
-    const YYSTYPE * const yyvaluep;
-    const YYLTYPE * const yylocationp;
+    YYSTYPE const * const yyvaluep;
+    YYLTYPE const * const yylocationp;
     struct parse_io *parseio;
 #endif
 {
@@ -1065,14 +1077,14 @@ yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp, parseio)
 #if (defined __STDC__ || defined __C99__FUNC__ \
      || defined __cplusplus || defined _MSC_VER)
 static void
-yy_symbol_print (FILE *yyoutput, int yytype, const YYSTYPE * const yyvaluep, const YYLTYPE * const yylocationp, struct parse_io *parseio)
+yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, struct parse_io *parseio)
 #else
 static void
 yy_symbol_print (yyoutput, yytype, yyvaluep, yylocationp, parseio)
     FILE *yyoutput;
     int yytype;
-    const YYSTYPE * const yyvaluep;
-    const YYLTYPE * const yylocationp;
+    YYSTYPE const * const yyvaluep;
+    YYLTYPE const * const yylocationp;
     struct parse_io *parseio;
 #endif
 {
@@ -1250,7 +1262,7 @@ yytnamerr (char *yyres, const char *yystr)
 {
   if (*yystr == '"')
     {
-      size_t yyn = 0;
+      YYSIZE_T yyn = 0;
       char const *yyp = yystr;
 
       for (;;)
@@ -1297,7 +1309,7 @@ yysyntax_error (char *yyresult, int yystate, int yychar)
 {
   int yyn = yypact[yystate];
 
-  if (! (YYPACT_NINF < yyn && yyn < YYLAST))
+  if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
     return 0;
   else
     {
@@ -1335,7 +1347,7 @@ yysyntax_error (char *yyresult, int yystate, int yychar)
       int yyxbegin = yyn < 0 ? -yyn : 0;
 
       /* Stay within bounds of both yycheck and yytname.  */
-      int yychecklim = YYLAST - yyn;
+      int yychecklim = YYLAST - yyn + 1;
       int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
       int yycount = 1;
 
@@ -1427,7 +1439,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
       case 41: /* "word" */
 #line 177 "ael.y"
 	{ free((yyvaluep->str));};
-#line 1431 "ael.tab.c"
+#line 1443 "ael.tab.c"
 	break;
       case 44: /* "objects" */
 #line 164 "ael.y"
@@ -1435,7 +1447,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1439 "ael.tab.c"
+#line 1451 "ael.tab.c"
 	break;
       case 45: /* "object" */
 #line 164 "ael.y"
@@ -1443,12 +1455,12 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1447 "ael.tab.c"
+#line 1459 "ael.tab.c"
 	break;
       case 46: /* "context_name" */
 #line 177 "ael.y"
 	{ free((yyvaluep->str));};
-#line 1452 "ael.tab.c"
+#line 1464 "ael.tab.c"
 	break;
       case 47: /* "context" */
 #line 164 "ael.y"
@@ -1456,7 +1468,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1460 "ael.tab.c"
+#line 1472 "ael.tab.c"
 	break;
       case 49: /* "macro" */
 #line 164 "ael.y"
@@ -1464,7 +1476,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1468 "ael.tab.c"
+#line 1480 "ael.tab.c"
 	break;
       case 50: /* "globals" */
 #line 164 "ael.y"
@@ -1472,7 +1484,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1476 "ael.tab.c"
+#line 1488 "ael.tab.c"
 	break;
       case 51: /* "global_statements" */
 #line 164 "ael.y"
@@ -1480,7 +1492,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1484 "ael.tab.c"
+#line 1496 "ael.tab.c"
 	break;
       case 52: /* "assignment" */
 #line 164 "ael.y"
@@ -1488,7 +1500,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1492 "ael.tab.c"
+#line 1504 "ael.tab.c"
 	break;
       case 54: /* "arglist" */
 #line 164 "ael.y"
@@ -1496,7 +1508,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1500 "ael.tab.c"
+#line 1512 "ael.tab.c"
 	break;
       case 55: /* "elements" */
 #line 164 "ael.y"
@@ -1504,7 +1516,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1508 "ael.tab.c"
+#line 1520 "ael.tab.c"
 	break;
       case 56: /* "element" */
 #line 164 "ael.y"
@@ -1512,7 +1524,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1516 "ael.tab.c"
+#line 1528 "ael.tab.c"
 	break;
       case 57: /* "ignorepat" */
 #line 164 "ael.y"
@@ -1520,7 +1532,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1524 "ael.tab.c"
+#line 1536 "ael.tab.c"
 	break;
       case 58: /* "extension" */
 #line 164 "ael.y"
@@ -1528,7 +1540,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1532 "ael.tab.c"
+#line 1544 "ael.tab.c"
 	break;
       case 59: /* "statements" */
 #line 164 "ael.y"
@@ -1536,12 +1548,12 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1540 "ael.tab.c"
+#line 1552 "ael.tab.c"
 	break;
       case 60: /* "timerange" */
 #line 177 "ael.y"
 	{ free((yyvaluep->str));};
-#line 1545 "ael.tab.c"
+#line 1557 "ael.tab.c"
 	break;
       case 61: /* "timespec" */
 #line 164 "ael.y"
@@ -1549,12 +1561,12 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1553 "ael.tab.c"
+#line 1565 "ael.tab.c"
 	break;
       case 62: /* "test_expr" */
 #line 177 "ael.y"
 	{ free((yyvaluep->str));};
-#line 1558 "ael.tab.c"
+#line 1570 "ael.tab.c"
 	break;
       case 64: /* "if_like_head" */
 #line 164 "ael.y"
@@ -1562,22 +1574,22 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1566 "ael.tab.c"
+#line 1578 "ael.tab.c"
 	break;
       case 65: /* "word_list" */
 #line 177 "ael.y"
 	{ free((yyvaluep->str));};
-#line 1571 "ael.tab.c"
+#line 1583 "ael.tab.c"
 	break;
       case 67: /* "word3_list" */
 #line 177 "ael.y"
 	{ free((yyvaluep->str));};
-#line 1576 "ael.tab.c"
+#line 1588 "ael.tab.c"
 	break;
       case 68: /* "goto_word" */
 #line 177 "ael.y"
 	{ free((yyvaluep->str));};
-#line 1581 "ael.tab.c"
+#line 1593 "ael.tab.c"
 	break;
       case 69: /* "switch_statement" */
 #line 164 "ael.y"
@@ -1585,7 +1597,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1589 "ael.tab.c"
+#line 1601 "ael.tab.c"
 	break;
       case 70: /* "statement" */
 #line 164 "ael.y"
@@ -1593,7 +1605,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1597 "ael.tab.c"
+#line 1609 "ael.tab.c"
 	break;
       case 75: /* "opt_else" */
 #line 164 "ael.y"
@@ -1601,7 +1613,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1605 "ael.tab.c"
+#line 1617 "ael.tab.c"
 	break;
       case 76: /* "target" */
 #line 164 "ael.y"
@@ -1609,12 +1621,12 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1613 "ael.tab.c"
+#line 1625 "ael.tab.c"
 	break;
       case 77: /* "opt_pri" */
 #line 177 "ael.y"
 	{ free((yyvaluep->str));};
-#line 1618 "ael.tab.c"
+#line 1630 "ael.tab.c"
 	break;
       case 78: /* "jumptarget" */
 #line 164 "ael.y"
@@ -1622,7 +1634,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1626 "ael.tab.c"
+#line 1638 "ael.tab.c"
 	break;
       case 79: /* "macro_call" */
 #line 164 "ael.y"
@@ -1630,7 +1642,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1634 "ael.tab.c"
+#line 1646 "ael.tab.c"
 	break;
       case 81: /* "application_call_head" */
 #line 164 "ael.y"
@@ -1638,7 +1650,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1642 "ael.tab.c"
+#line 1654 "ael.tab.c"
 	break;
       case 83: /* "application_call" */
 #line 164 "ael.y"
@@ -1646,12 +1658,12 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1650 "ael.tab.c"
+#line 1662 "ael.tab.c"
 	break;
       case 84: /* "opt_word" */
 #line 177 "ael.y"
 	{ free((yyvaluep->str));};
-#line 1655 "ael.tab.c"
+#line 1667 "ael.tab.c"
 	break;
       case 85: /* "eval_arglist" */
 #line 164 "ael.y"
@@ -1659,7 +1671,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1663 "ael.tab.c"
+#line 1675 "ael.tab.c"
 	break;
       case 86: /* "case_statements" */
 #line 164 "ael.y"
@@ -1667,7 +1679,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1671 "ael.tab.c"
+#line 1683 "ael.tab.c"
 	break;
       case 87: /* "case_statement" */
 #line 164 "ael.y"
@@ -1675,7 +1687,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1679 "ael.tab.c"
+#line 1691 "ael.tab.c"
 	break;
       case 88: /* "macro_statements" */
 #line 164 "ael.y"
@@ -1683,7 +1695,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1687 "ael.tab.c"
+#line 1699 "ael.tab.c"
 	break;
       case 89: /* "macro_statement" */
 #line 164 "ael.y"
@@ -1691,7 +1703,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1695 "ael.tab.c"
+#line 1707 "ael.tab.c"
 	break;
       case 90: /* "switches" */
 #line 164 "ael.y"
@@ -1699,7 +1711,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1703 "ael.tab.c"
+#line 1715 "ael.tab.c"
 	break;
       case 91: /* "eswitches" */
 #line 164 "ael.y"
@@ -1707,7 +1719,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1711 "ael.tab.c"
+#line 1723 "ael.tab.c"
 	break;
       case 92: /* "switchlist" */
 #line 164 "ael.y"
@@ -1715,7 +1727,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1719 "ael.tab.c"
+#line 1731 "ael.tab.c"
 	break;
       case 93: /* "included_entry" */
 #line 164 "ael.y"
@@ -1723,7 +1735,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1727 "ael.tab.c"
+#line 1739 "ael.tab.c"
 	break;
       case 94: /* "includeslist" */
 #line 164 "ael.y"
@@ -1731,7 +1743,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1735 "ael.tab.c"
+#line 1747 "ael.tab.c"
 	break;
       case 95: /* "includes" */
 #line 164 "ael.y"
@@ -1739,7 +1751,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
 		destroy_pval((yyvaluep->pval));
 		prev_word=0;
 	};
-#line 1743 "ael.tab.c"
+#line 1755 "ael.tab.c"
 	break;
 
       default:
@@ -2911,8 +2923,8 @@ yyreduce:
     break;
 
 
-/* Line 1270 of yacc.c.  */
-#line 2916 "ael.tab.c"
+/* Line 1267 of yacc.c.  */
+#line 2928 "ael.tab.c"
       default: break;
     }
   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -3127,7 +3139,8 @@ yyreturn:
   if (yymsg != yymsgbuf)
     YYSTACK_FREE (yymsg);
 #endif
-  return yyresult;
+  /* Make sure YYID is used.  */
+  return YYID (yyresult);
 }
 
 
diff --git a/pbx/ael/ael.tab.h b/pbx/ael/ael.tab.h
index c908e027927f4ad870f757b73c758b87e2a92b37..a0abe410f93ac73f6436120eac8c6a3fd4e34d6b 100644
--- a/pbx/ael/ael.tab.h
+++ b/pbx/ael/ael.tab.h
@@ -1,7 +1,9 @@
-/* A Bison parser, made by GNU Bison 2.1a.  */
+/* A Bison parser, made by GNU Bison 2.3.  */
 
-/* Skeleton parser for Yacc-like parsing with Bison,
-   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+/* 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
    it under the terms of the GNU General Public License as published by
@@ -18,10 +20,18 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor,
    Boston, MA 02110-1301, USA.  */
 
-/* As a special exception, when this file is copied by Bison into a
-   Bison output file, you may use that output file without restriction.
-   This special exception was added by the Free Software Foundation
-   in version 1.24 of Bison.  */
+/* As a special exception, you may create a larger work that contains
+   part or all of the Bison parser skeleton and distribute that work
+   under terms of your choice, so long as that work isn't itself a
+   parser generator using the skeleton or a modified version thereof
+   as a parser skeleton.  Alternatively, if you modify or redistribute
+   the parser skeleton itself, you may (at your option) remove this
+   special exception, which will cause the skeleton and the resulting
+   Bison output files to be licensed under the GNU General Public
+   License without this special exception.
+
+   This special exception was added by the Free Software Foundation in
+   version 2.2 of Bison.  */
 
 /* Tokens.  */
 #ifndef YYTOKENTYPE
@@ -122,8 +132,8 @@ typedef union YYSTYPE
 	char	*str;		/* strings */
 	struct pval *pval;	/* full objects */
 }
-/* Line 1536 of yacc.c.  */
-#line 127 "ael.tab.h"
+/* Line 1529 of yacc.c.  */
+#line 137 "ael.tab.h"
 	YYSTYPE;
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
 # define YYSTYPE_IS_DECLARED 1
@@ -146,5 +156,3 @@ typedef struct YYLTYPE
 #endif
 
 
-
-
diff --git a/pbx/ael/ael_lex.c b/pbx/ael/ael_lex.c
index 7468a46bb6ffd529590ba3c6a2ca95224d7e79b3..daddeb118bc71f07c1868e1a4276b1c5c19628c3 100644
--- a/pbx/ael/ael_lex.c
+++ b/pbx/ael/ael_lex.c
@@ -730,7 +730,7 @@ static yyconst flex_int16_t yy_chk[1033] =
 #define yymore() (yyg->yy_more_flag = 1)
 #define YY_MORE_ADJ yyg->yy_more_len
 #define YY_RESTORE_YY_MORE_OFFSET
-#line 1 "ael.flex"
+#line 1 "ael/ael.flex"
 /*
  * Asterisk -- An open source telephony toolkit.
  *
@@ -775,7 +775,7 @@ static yyconst flex_int16_t yy_chk[1033] =
  * bison-bridge passes an additional yylval argument to ael_yylex().
  * bison-locations is probably not needed.
  */
-#line 59 "ael.flex"
+#line 59 "ael/ael.flex"
 ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
 
 #include <sys/types.h>
@@ -889,13 +889,11 @@ static void pbcwhere(const char *text, int *line, int *col )
 #define argg 3
 #define comment 4
 
-#ifndef YY_NO_UNISTD_H
 /* Special case for "unistd.h", since it is non-ANSI. We include it way
  * down here because we want the user's section 1 to have been scanned first.
  * The user has a chance to override it with an option.
  */
 #include <unistd.h>
-#endif
 
 #ifndef YY_EXTRA_TYPE
 #define YY_EXTRA_TYPE void *
@@ -939,8 +937,6 @@ struct yyguts_t
 
     }; /* end struct yyguts_t */
 
-static int yy_init_globals (yyscan_t yyscanner );
-
     /* This must go here because YYSTYPE and YYLTYPE are included
      * from bison output in section 1.*/
     #    define yylval yyg->yylval_r
@@ -1091,11 +1087,9 @@ static int input (yyscan_t yyscanner );
 #ifndef YY_DECL
 #define YY_DECL_IS_OURS 1
 
-extern int ael_yylex \
-               (YYSTYPE * yylval_param,YYLTYPE * yylloc_param ,yyscan_t yyscanner);
+extern int ael_yylex (YYSTYPE * yylval_param,YYLTYPE * yylloc_param ,yyscan_t yyscanner);
 
-#define YY_DECL int ael_yylex \
-               (YYSTYPE * yylval_param, YYLTYPE * yylloc_param , yyscan_t yyscanner)
+#define YY_DECL int ael_yylex (YYSTYPE * yylval_param, YYLTYPE * yylloc_param , yyscan_t yyscanner)
 #endif /* !YY_DECL */
 
 /* Code executed at the beginning of each rule, after yytext and yyleng
@@ -1122,10 +1116,10 @@ YY_DECL
 	register int yy_act;
     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
 
-#line 173 "ael.flex"
+#line 173 "ael/ael.flex"
 
 
-#line 1128 "ael_lex.c"
+#line 1122 "ael_lex.c"
 
     yylval = yylval_param;
 
@@ -1216,250 +1210,250 @@ do_action:	/* This label is used only to access EOF actions. */
 
 case 1:
 YY_RULE_SETUP
-#line 175 "ael.flex"
+#line 175 "ael/ael.flex"
 { STORE_POS; return LC;}
 	YY_BREAK
 case 2:
 YY_RULE_SETUP
-#line 176 "ael.flex"
+#line 176 "ael/ael.flex"
 { STORE_POS; return RC;}
 	YY_BREAK
 case 3:
 YY_RULE_SETUP
-#line 177 "ael.flex"
+#line 177 "ael/ael.flex"
 { STORE_POS; return LP;}
 	YY_BREAK
 case 4:
 YY_RULE_SETUP
-#line 178 "ael.flex"
+#line 178 "ael/ael.flex"
 { STORE_POS; return RP;}
 	YY_BREAK
 case 5:
 YY_RULE_SETUP
-#line 179 "ael.flex"
+#line 179 "ael/ael.flex"
 { STORE_POS; return SEMI;}
 	YY_BREAK
 case 6:
 YY_RULE_SETUP
-#line 180 "ael.flex"
+#line 180 "ael/ael.flex"
 { STORE_POS; return EQ;}
 	YY_BREAK
 case 7:
 YY_RULE_SETUP
-#line 181 "ael.flex"
+#line 181 "ael/ael.flex"
 { STORE_POS; return COMMA;}
 	YY_BREAK
 case 8:
 YY_RULE_SETUP
-#line 182 "ael.flex"
+#line 182 "ael/ael.flex"
 { STORE_POS; return COLON;}
 	YY_BREAK
 case 9:
 YY_RULE_SETUP
-#line 183 "ael.flex"
+#line 183 "ael/ael.flex"
 { STORE_POS; return AMPER;}
 	YY_BREAK
 case 10:
 YY_RULE_SETUP
-#line 184 "ael.flex"
+#line 184 "ael/ael.flex"
 { STORE_POS; return BAR;}
 	YY_BREAK
 case 11:
 YY_RULE_SETUP
-#line 185 "ael.flex"
+#line 185 "ael/ael.flex"
 { STORE_POS; return EXTENMARK;}
 	YY_BREAK
 case 12:
 YY_RULE_SETUP
-#line 186 "ael.flex"
+#line 186 "ael/ael.flex"
 { STORE_POS; return AT;}
 	YY_BREAK
 case 13:
 YY_RULE_SETUP
-#line 187 "ael.flex"
+#line 187 "ael/ael.flex"
 {/*comment*/}
 	YY_BREAK
 case 14:
 YY_RULE_SETUP
-#line 188 "ael.flex"
+#line 188 "ael/ael.flex"
 { STORE_POS; return KW_CONTEXT;}
 	YY_BREAK
 case 15:
 YY_RULE_SETUP
-#line 189 "ael.flex"
+#line 189 "ael/ael.flex"
 { STORE_POS; return KW_ABSTRACT;}
 	YY_BREAK
 case 16:
 YY_RULE_SETUP
-#line 190 "ael.flex"
+#line 190 "ael/ael.flex"
 { STORE_POS; return KW_MACRO;};
 	YY_BREAK
 case 17:
 YY_RULE_SETUP
-#line 191 "ael.flex"
+#line 191 "ael/ael.flex"
 { STORE_POS; return KW_GLOBALS;}
 	YY_BREAK
 case 18:
 YY_RULE_SETUP
-#line 192 "ael.flex"
+#line 192 "ael/ael.flex"
 { STORE_POS; return KW_IGNOREPAT;}
 	YY_BREAK
 case 19:
 YY_RULE_SETUP
-#line 193 "ael.flex"
+#line 193 "ael/ael.flex"
 { STORE_POS; return KW_SWITCH;}
 	YY_BREAK
 case 20:
 YY_RULE_SETUP
-#line 194 "ael.flex"
+#line 194 "ael/ael.flex"
 { STORE_POS; return KW_IF;}
 	YY_BREAK
 case 21:
 YY_RULE_SETUP
-#line 195 "ael.flex"
+#line 195 "ael/ael.flex"
 { STORE_POS; return KW_IFTIME;}
 	YY_BREAK
 case 22:
 YY_RULE_SETUP
-#line 196 "ael.flex"
+#line 196 "ael/ael.flex"
 { STORE_POS; return KW_RANDOM;}
 	YY_BREAK
 case 23:
 YY_RULE_SETUP
-#line 197 "ael.flex"
+#line 197 "ael/ael.flex"
 { STORE_POS; return KW_REGEXTEN;}
 	YY_BREAK
 case 24:
 YY_RULE_SETUP
-#line 198 "ael.flex"
+#line 198 "ael/ael.flex"
 { STORE_POS; return KW_HINT;}
 	YY_BREAK
 case 25:
 YY_RULE_SETUP
-#line 199 "ael.flex"
+#line 199 "ael/ael.flex"
 { STORE_POS; return KW_ELSE;}
 	YY_BREAK
 case 26:
 YY_RULE_SETUP
-#line 200 "ael.flex"
+#line 200 "ael/ael.flex"
 { STORE_POS; return KW_GOTO;}
 	YY_BREAK
 case 27:
 YY_RULE_SETUP
-#line 201 "ael.flex"
+#line 201 "ael/ael.flex"
 { STORE_POS; return KW_JUMP;}
 	YY_BREAK
 case 28:
 YY_RULE_SETUP
-#line 202 "ael.flex"
+#line 202 "ael/ael.flex"
 { STORE_POS; return KW_RETURN;}
 	YY_BREAK
 case 29:
 YY_RULE_SETUP
-#line 203 "ael.flex"
+#line 203 "ael/ael.flex"
 { STORE_POS; return KW_BREAK;}
 	YY_BREAK
 case 30:
 YY_RULE_SETUP
-#line 204 "ael.flex"
+#line 204 "ael/ael.flex"
 { STORE_POS; return KW_CONTINUE;}
 	YY_BREAK
 case 31:
 YY_RULE_SETUP
-#line 205 "ael.flex"
+#line 205 "ael/ael.flex"
 { STORE_POS; return KW_FOR;}
 	YY_BREAK
 case 32:
 YY_RULE_SETUP
-#line 206 "ael.flex"
+#line 206 "ael/ael.flex"
 { STORE_POS; return KW_WHILE;}
 	YY_BREAK
 case 33:
 YY_RULE_SETUP
-#line 207 "ael.flex"
+#line 207 "ael/ael.flex"
 { STORE_POS; return KW_CASE;}
 	YY_BREAK
 case 34:
 YY_RULE_SETUP
-#line 208 "ael.flex"
+#line 208 "ael/ael.flex"
 { STORE_POS; return KW_DEFAULT;}
 	YY_BREAK
 case 35:
 YY_RULE_SETUP
-#line 209 "ael.flex"
+#line 209 "ael/ael.flex"
 { STORE_POS; return KW_PATTERN;}
 	YY_BREAK
 case 36:
 YY_RULE_SETUP
-#line 210 "ael.flex"
+#line 210 "ael/ael.flex"
 { STORE_POS; return KW_CATCH;}
 	YY_BREAK
 case 37:
 YY_RULE_SETUP
-#line 211 "ael.flex"
+#line 211 "ael/ael.flex"
 { STORE_POS; return KW_SWITCHES;}
 	YY_BREAK
 case 38:
 YY_RULE_SETUP
-#line 212 "ael.flex"
+#line 212 "ael/ael.flex"
 { STORE_POS; return KW_ESWITCHES;}
 	YY_BREAK
 case 39:
 YY_RULE_SETUP
-#line 213 "ael.flex"
+#line 213 "ael/ael.flex"
 { STORE_POS; return KW_INCLUDES;}
 	YY_BREAK
 case 40:
 YY_RULE_SETUP
-#line 214 "ael.flex"
+#line 214 "ael/ael.flex"
 { BEGIN(comment); my_col += 2; }
 	YY_BREAK
 case 41:
 YY_RULE_SETUP
-#line 216 "ael.flex"
+#line 216 "ael/ael.flex"
 { my_col += yyleng; }
 	YY_BREAK
 case 42:
 /* rule 42 can match eol */
 YY_RULE_SETUP
-#line 217 "ael.flex"
+#line 217 "ael/ael.flex"
 { ++my_lineno; my_col=1;}
 	YY_BREAK
 case 43:
 YY_RULE_SETUP
-#line 218 "ael.flex"
+#line 218 "ael/ael.flex"
 { my_col += yyleng; }
 	YY_BREAK
 case 44:
 /* rule 44 can match eol */
 YY_RULE_SETUP
-#line 219 "ael.flex"
+#line 219 "ael/ael.flex"
 { ++my_lineno; my_col=1;}
 	YY_BREAK
 case 45:
 YY_RULE_SETUP
-#line 220 "ael.flex"
+#line 220 "ael/ael.flex"
 { my_col += 2; BEGIN(INITIAL); }
 	YY_BREAK
 case 46:
 /* rule 46 can match eol */
 YY_RULE_SETUP
-#line 222 "ael.flex"
+#line 222 "ael/ael.flex"
 { my_lineno++; my_col = 1; }
 	YY_BREAK
 case 47:
 YY_RULE_SETUP
-#line 223 "ael.flex"
+#line 223 "ael/ael.flex"
 { my_col += yyleng; }
 	YY_BREAK
 case 48:
 YY_RULE_SETUP
-#line 224 "ael.flex"
+#line 224 "ael/ael.flex"
 { my_col += (yyleng*8)-(my_col%8); }
 	YY_BREAK
 case 49:
 YY_RULE_SETUP
-#line 226 "ael.flex"
+#line 226 "ael/ael.flex"
 {
 		STORE_POS;
 		yylval->str = strdup(yytext);
@@ -1477,7 +1471,7 @@ YY_RULE_SETUP
 case 50:
 /* rule 50 can match eol */
 YY_RULE_SETUP
-#line 242 "ael.flex"
+#line 242 "ael/ael.flex"
 {
 		if ( pbcpop(')') ) {	/* error */
 			STORE_LOC;
@@ -1503,7 +1497,7 @@ YY_RULE_SETUP
 case 51:
 /* rule 51 can match eol */
 YY_RULE_SETUP
-#line 264 "ael.flex"
+#line 264 "ael/ael.flex"
 {
 		char c = yytext[yyleng-1];
 		if (c == '(')
@@ -1515,7 +1509,7 @@ YY_RULE_SETUP
 case 52:
 /* rule 52 can match eol */
 YY_RULE_SETUP
-#line 272 "ael.flex"
+#line 272 "ael/ael.flex"
 {
 		char c = yytext[yyleng-1];
 		if ( pbcpop(c))  { /* error */
@@ -1540,7 +1534,7 @@ YY_RULE_SETUP
 case 53:
 /* rule 53 can match eol */
 YY_RULE_SETUP
-#line 294 "ael.flex"
+#line 294 "ael/ael.flex"
 {
 		char c = yytext[yyleng-1];
 		if (c == '(')
@@ -1552,7 +1546,7 @@ YY_RULE_SETUP
 case 54:
 /* rule 54 can match eol */
 YY_RULE_SETUP
-#line 302 "ael.flex"
+#line 302 "ael/ael.flex"
 {
 		if ( pbcpop(')') ) { /* error */
 			STORE_LOC;
@@ -1580,7 +1574,7 @@ YY_RULE_SETUP
 case 55:
 /* rule 55 can match eol */
 YY_RULE_SETUP
-#line 326 "ael.flex"
+#line 326 "ael/ael.flex"
 {
 		if( parencount != 0) { /* printf("Folding in a comma!\n"); */
 			yymore();
@@ -1598,7 +1592,7 @@ YY_RULE_SETUP
 case 56:
 /* rule 56 can match eol */
 YY_RULE_SETUP
-#line 340 "ael.flex"
+#line 340 "ael/ael.flex"
 {
 		char c = yytext[yyleng-1];
 		if ( pbcpop(c) ) { /* error */
@@ -1619,7 +1613,7 @@ YY_RULE_SETUP
 case 57:
 /* rule 57 can match eol */
 YY_RULE_SETUP
-#line 357 "ael.flex"
+#line 357 "ael/ael.flex"
 {
 		char c = yytext[yyleng-1];
 		yymore();
@@ -1629,7 +1623,7 @@ YY_RULE_SETUP
 case 58:
 /* rule 58 can match eol */
 YY_RULE_SETUP
-#line 363 "ael.flex"
+#line 363 "ael/ael.flex"
 {
 		char c = yytext[yyleng-1];
 		if ( pbcpop(c) ) { /* error */
@@ -1645,7 +1639,7 @@ YY_RULE_SETUP
 case 59:
 /* rule 59 can match eol */
 YY_RULE_SETUP
-#line 375 "ael.flex"
+#line 375 "ael/ael.flex"
 {
 		STORE_LOC;
 		yylval->str = strdup(yytext);
@@ -1658,7 +1652,7 @@ YY_RULE_SETUP
 case 60:
 /* rule 60 can match eol */
 YY_RULE_SETUP
-#line 384 "ael.flex"
+#line 384 "ael/ael.flex"
 {
 		FILE *in1;
 		char fnamebuf[1024],*p1,*p2;
@@ -1689,7 +1683,7 @@ YY_RULE_SETUP
 			if (*(p1+1) != '/')
 				snprintf(fnamebuf, sizeof(fnamebuf), "%s/%s", ast_config_AST_CONFIG_DIR, p1 + 1);
 			else
-#if defined(STANDALONE) || defined(LOW_MEMORY)
+#ifdef STANDALONE
 				strncpy(fnamebuf, p1 + 1, sizeof(fnamebuf) - 1);
 #else
 				ast_copy_string(fnamebuf, p1 + 1, sizeof(fnamebuf));
@@ -1727,7 +1721,7 @@ case YY_STATE_EOF(paren):
 case YY_STATE_EOF(semic):
 case YY_STATE_EOF(argg):
 case YY_STATE_EOF(comment):
-#line 447 "ael.flex"
+#line 447 "ael/ael.flex"
 {
 		if ( --include_stack_index < 0 ) {
 			yyterminate();
@@ -1743,10 +1737,10 @@ case YY_STATE_EOF(comment):
 	YY_BREAK
 case 61:
 YY_RULE_SETUP
-#line 460 "ael.flex"
+#line 460 "ael/ael.flex"
 ECHO;
 	YY_BREAK
-#line 1749 "ael_lex.c"
+#line 1743 "ael_lex.c"
 
 	case YY_END_OF_BUFFER:
 		{
@@ -1932,7 +1926,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
 
 	else
 		{
-			int num_to_read =
+			size_t num_to_read =
 			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
 
 		while ( num_to_read <= 0 )
@@ -2497,10 +2491,10 @@ YY_BUFFER_STATE ael_yy_scan_buffer  (char * base, yy_size_t  size , yyscan_t yys
  * @note If you want to scan bytes that may contain NUL values, then use
  *       ael_yy_scan_bytes() instead.
  */
-YY_BUFFER_STATE ael_yy_scan_string (yyconst char * yy_str , yyscan_t yyscanner)
+YY_BUFFER_STATE ael_yy_scan_string (yyconst char * str , yyscan_t yyscanner)
 {
     
-	return ael_yy_scan_bytes(yy_str,strlen(yy_str) ,yyscanner);
+	return ael_yy_scan_bytes(str,strlen(str) ,yyscanner);
 }
 
 /** Setup the input buffer state to scan the given bytes. The next call to ael_yylex() will
@@ -2882,7 +2876,7 @@ void ael_yyfree (void * ptr , yyscan_t yyscanner)
 #undef YY_DECL_IS_OURS
 #undef YY_DECL
 #endif
-#line 460 "ael.flex"
+#line 460 "ael/ael.flex"
 
 
 
diff --git a/utils/ael_main.c b/utils/ael_main.c
index e589dc96712145b235ac486bbe57490dc5ae4a3e..0798fc553a8cc1162fee64f6bf43028361b5e685 100644
--- a/utils/ael_main.c
+++ b/utils/ael_main.c
@@ -5,9 +5,6 @@
 #include <string.h>
 #include <locale.h>
 #include <ctype.h>
-#if !defined(SOLARIS) && !defined(__CYGWIN__)
-#include <err.h>
-#endif
 #include <errno.h>
 #include <regex.h>
 #include <limits.h>