[asterisk-commits] murf: branch 1.4 r109309 - in /branches/1.4/pbx/ael: ./ ael-test/ ael-test/ae...

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Tue Mar 18 01:37:34 CDT 2008


Author: murf
Date: Tue Mar 18 01:37:15 2008
New Revision: 109309

URL: http://svn.digium.com/view/asterisk?view=rev&rev=109309
Log:
(closes issue #11903)
Reported by: atis

Many thanks to atis for spotting this problem and reporting it.
The fix was to straighten out how items are placed on and removed
from the file stack. Regressions as well as the provided test case
helped to straighten out all code paths. valgrind was used to make
sure all memory allocated was freed.

Sorry for not solving this earlier. I got distracted.

Added the ntest23 regression test, which is mainly a copy of ntest22, 
but with a few juicy errors thrown in, to replicate the kind of 
error that atis spotted.



Added:
    branches/1.4/pbx/ael/ael-test/ael-ntest23/
    branches/1.4/pbx/ael/ael-test/ael-ntest23/extensions.ael   (with props)
    branches/1.4/pbx/ael/ael-test/ael-ntest23/qq.ael   (with props)
    branches/1.4/pbx/ael/ael-test/ael-ntest23/t1/
    branches/1.4/pbx/ael/ael-test/ael-ntest23/t1/a.ael   (with props)
    branches/1.4/pbx/ael/ael-test/ael-ntest23/t1/b.ael   (with props)
    branches/1.4/pbx/ael/ael-test/ael-ntest23/t1/c.ael   (with props)
    branches/1.4/pbx/ael/ael-test/ael-ntest23/t2/
    branches/1.4/pbx/ael/ael-test/ael-ntest23/t2/d.ael   (with props)
    branches/1.4/pbx/ael/ael-test/ael-ntest23/t2/e.ael   (with props)
    branches/1.4/pbx/ael/ael-test/ael-ntest23/t2/f.ael   (with props)
    branches/1.4/pbx/ael/ael-test/ael-ntest23/t3/
    branches/1.4/pbx/ael/ael-test/ael-ntest23/t3/g.ael   (with props)
    branches/1.4/pbx/ael/ael-test/ael-ntest23/t3/h.ael   (with props)
    branches/1.4/pbx/ael/ael-test/ael-ntest23/t3/i.ael   (with props)
    branches/1.4/pbx/ael/ael-test/ael-ntest23/t3/j.ael   (with props)
    branches/1.4/pbx/ael/ael-test/ref.ael-ntest23   (with props)
Modified:
    branches/1.4/pbx/ael/ael.flex
    branches/1.4/pbx/ael/ael_lex.c

Added: branches/1.4/pbx/ael/ael-test/ael-ntest23/extensions.ael
URL: http://svn.digium.com/view/asterisk/branches/1.4/pbx/ael/ael-test/ael-ntest23/extensions.ael?view=auto&rev=109309
==============================================================================
--- branches/1.4/pbx/ael/ael-test/ael-ntest23/extensions.ael (added)
+++ branches/1.4/pbx/ael/ael-test/ael-ntest23/extensions.ael Tue Mar 18 01:37:15 2008
@@ -1,0 +1,7 @@
+#include "t1/*.ael"
+
+context z ()
+{
+	123 => NoOp(hi there, z);
+	124 => NoOp(hi there, z);
+}

Propchange: branches/1.4/pbx/ael/ael-test/ael-ntest23/extensions.ael
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: branches/1.4/pbx/ael/ael-test/ael-ntest23/extensions.ael
------------------------------------------------------------------------------
    svn:keywords = Author Id Date Revision

Propchange: branches/1.4/pbx/ael/ael-test/ael-ntest23/extensions.ael
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: branches/1.4/pbx/ael/ael-test/ael-ntest23/qq.ael
URL: http://svn.digium.com/view/asterisk/branches/1.4/pbx/ael/ael-test/ael-ntest23/qq.ael?view=auto&rev=109309
==============================================================================
--- branches/1.4/pbx/ael/ael-test/ael-ntest23/qq.ael (added)
+++ branches/1.4/pbx/ael/ael-test/ael-ntest23/qq.ael Tue Mar 18 01:37:15 2008
@@ -1,0 +1,6 @@
+
+
+context qq
+{
+	567 => NoOp(hi there, qq);
+}

Propchange: branches/1.4/pbx/ael/ael-test/ael-ntest23/qq.ael
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: branches/1.4/pbx/ael/ael-test/ael-ntest23/qq.ael
------------------------------------------------------------------------------
    svn:keywords = Author Id Date Revision

Propchange: branches/1.4/pbx/ael/ael-test/ael-ntest23/qq.ael
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: branches/1.4/pbx/ael/ael-test/ael-ntest23/t1/a.ael
URL: http://svn.digium.com/view/asterisk/branches/1.4/pbx/ael/ael-test/ael-ntest23/t1/a.ael?view=auto&rev=109309
==============================================================================
--- branches/1.4/pbx/ael/ael-test/ael-ntest23/t1/a.ael (added)
+++ branches/1.4/pbx/ael/ael-test/ael-ntest23/t1/a.ael Tue Mar 18 01:37:15 2008
@@ -1,0 +1,4 @@
+context a
+{
+	134 => NoOp(hi there, a);
+}

Propchange: branches/1.4/pbx/ael/ael-test/ael-ntest23/t1/a.ael
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: branches/1.4/pbx/ael/ael-test/ael-ntest23/t1/a.ael
------------------------------------------------------------------------------
    svn:keywords = Author Id Date Revision

Propchange: branches/1.4/pbx/ael/ael-test/ael-ntest23/t1/a.ael
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: branches/1.4/pbx/ael/ael-test/ael-ntest23/t1/b.ael
URL: http://svn.digium.com/view/asterisk/branches/1.4/pbx/ael/ael-test/ael-ntest23/t1/b.ael?view=auto&rev=109309
==============================================================================
--- branches/1.4/pbx/ael/ael-test/ael-ntest23/t1/b.ael (added)
+++ branches/1.4/pbx/ael/ael-test/ael-ntest23/t1/b.ael Tue Mar 18 01:37:15 2008
@@ -1,0 +1,6 @@
+
+
+context b
+{
+	456 => NoOp(hithere, b);
+}

Propchange: branches/1.4/pbx/ael/ael-test/ael-ntest23/t1/b.ael
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: branches/1.4/pbx/ael/ael-test/ael-ntest23/t1/b.ael
------------------------------------------------------------------------------
    svn:keywords = Author Id Date Revision

Propchange: branches/1.4/pbx/ael/ael-test/ael-ntest23/t1/b.ael
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: branches/1.4/pbx/ael/ael-test/ael-ntest23/t1/c.ael
URL: http://svn.digium.com/view/asterisk/branches/1.4/pbx/ael/ael-test/ael-ntest23/t1/c.ael?view=auto&rev=109309
==============================================================================
--- branches/1.4/pbx/ael/ael-test/ael-ntest23/t1/c.ael (added)
+++ branches/1.4/pbx/ael/ael-test/ael-ntest23/t1/c.ael Tue Mar 18 01:37:15 2008
@@ -1,0 +1,13 @@
+
+
+context c()
+{
+	567 => NoOp(hi there, c);
+}
+
+#include "t2/*.ael"
+
+context w()
+{
+	890 => NoOp(hi there, w);
+}

Propchange: branches/1.4/pbx/ael/ael-test/ael-ntest23/t1/c.ael
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: branches/1.4/pbx/ael/ael-test/ael-ntest23/t1/c.ael
------------------------------------------------------------------------------
    svn:keywords = Author Id Date Revision

Propchange: branches/1.4/pbx/ael/ael-test/ael-ntest23/t1/c.ael
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: branches/1.4/pbx/ael/ael-test/ael-ntest23/t2/d.ael
URL: http://svn.digium.com/view/asterisk/branches/1.4/pbx/ael/ael-test/ael-ntest23/t2/d.ael?view=auto&rev=109309
==============================================================================
--- branches/1.4/pbx/ael/ael-test/ael-ntest23/t2/d.ael (added)
+++ branches/1.4/pbx/ael/ael-test/ael-ntest23/t2/d.ael Tue Mar 18 01:37:15 2008
@@ -1,0 +1,4 @@
+context d
+{
+	134 => NoOp(hi there, d);
+}

Propchange: branches/1.4/pbx/ael/ael-test/ael-ntest23/t2/d.ael
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: branches/1.4/pbx/ael/ael-test/ael-ntest23/t2/d.ael
------------------------------------------------------------------------------
    svn:keywords = Author Id Date Revision

Propchange: branches/1.4/pbx/ael/ael-test/ael-ntest23/t2/d.ael
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: branches/1.4/pbx/ael/ael-test/ael-ntest23/t2/e.ael
URL: http://svn.digium.com/view/asterisk/branches/1.4/pbx/ael/ael-test/ael-ntest23/t2/e.ael?view=auto&rev=109309
==============================================================================
--- branches/1.4/pbx/ael/ael-test/ael-ntest23/t2/e.ael (added)
+++ branches/1.4/pbx/ael/ael-test/ael-ntest23/t2/e.ael Tue Mar 18 01:37:15 2008
@@ -1,0 +1,6 @@
+
+
+context e
+{
+	456 => NoOp(hithere, e);
+}

Propchange: branches/1.4/pbx/ael/ael-test/ael-ntest23/t2/e.ael
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: branches/1.4/pbx/ael/ael-test/ael-ntest23/t2/e.ael
------------------------------------------------------------------------------
    svn:keywords = Author Id Date Revision

Propchange: branches/1.4/pbx/ael/ael-test/ael-ntest23/t2/e.ael
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: branches/1.4/pbx/ael/ael-test/ael-ntest23/t2/f.ael
URL: http://svn.digium.com/view/asterisk/branches/1.4/pbx/ael/ael-test/ael-ntest23/t2/f.ael?view=auto&rev=109309
==============================================================================
--- branches/1.4/pbx/ael/ael-test/ael-ntest23/t2/f.ael (added)
+++ branches/1.4/pbx/ael/ael-test/ael-ntest23/t2/f.ael Tue Mar 18 01:37:15 2008
@@ -1,0 +1,9 @@
+#include "qq.ael"
+
+context f
+{
+	567 => NoOp(hi there, f);
+}
+
+#include "t3/*.ael"
+

Propchange: branches/1.4/pbx/ael/ael-test/ael-ntest23/t2/f.ael
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: branches/1.4/pbx/ael/ael-test/ael-ntest23/t2/f.ael
------------------------------------------------------------------------------
    svn:keywords = Author Id Date Revision

Propchange: branches/1.4/pbx/ael/ael-test/ael-ntest23/t2/f.ael
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: branches/1.4/pbx/ael/ael-test/ael-ntest23/t3/g.ael
URL: http://svn.digium.com/view/asterisk/branches/1.4/pbx/ael/ael-test/ael-ntest23/t3/g.ael?view=auto&rev=109309
==============================================================================
--- branches/1.4/pbx/ael/ael-test/ael-ntest23/t3/g.ael (added)
+++ branches/1.4/pbx/ael/ael-test/ael-ntest23/t3/g.ael Tue Mar 18 01:37:15 2008
@@ -1,0 +1,4 @@
+context g
+{
+	134 => NoOp(hi there, g);
+}

Propchange: branches/1.4/pbx/ael/ael-test/ael-ntest23/t3/g.ael
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: branches/1.4/pbx/ael/ael-test/ael-ntest23/t3/g.ael
------------------------------------------------------------------------------
    svn:keywords = Author Id Date Revision

Propchange: branches/1.4/pbx/ael/ael-test/ael-ntest23/t3/g.ael
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: branches/1.4/pbx/ael/ael-test/ael-ntest23/t3/h.ael
URL: http://svn.digium.com/view/asterisk/branches/1.4/pbx/ael/ael-test/ael-ntest23/t3/h.ael?view=auto&rev=109309
==============================================================================
--- branches/1.4/pbx/ael/ael-test/ael-ntest23/t3/h.ael (added)
+++ branches/1.4/pbx/ael/ael-test/ael-ntest23/t3/h.ael Tue Mar 18 01:37:15 2008
@@ -1,0 +1,6 @@
+
+
+context h
+{
+	456 => NoOp(hithere, h);
+}

Propchange: branches/1.4/pbx/ael/ael-test/ael-ntest23/t3/h.ael
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: branches/1.4/pbx/ael/ael-test/ael-ntest23/t3/h.ael
------------------------------------------------------------------------------
    svn:keywords = Author Id Date Revision

Propchange: branches/1.4/pbx/ael/ael-test/ael-ntest23/t3/h.ael
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: branches/1.4/pbx/ael/ael-test/ael-ntest23/t3/i.ael
URL: http://svn.digium.com/view/asterisk/branches/1.4/pbx/ael/ael-test/ael-ntest23/t3/i.ael?view=auto&rev=109309
==============================================================================
--- branches/1.4/pbx/ael/ael-test/ael-ntest23/t3/i.ael (added)
+++ branches/1.4/pbx/ael/ael-test/ael-ntest23/t3/i.ael Tue Mar 18 01:37:15 2008
@@ -1,0 +1,4 @@
+context i
+{
+	134 => NoOp(hi there, i);
+}

Propchange: branches/1.4/pbx/ael/ael-test/ael-ntest23/t3/i.ael
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: branches/1.4/pbx/ael/ael-test/ael-ntest23/t3/i.ael
------------------------------------------------------------------------------
    svn:keywords = Author Id Date Revision

Propchange: branches/1.4/pbx/ael/ael-test/ael-ntest23/t3/i.ael
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: branches/1.4/pbx/ael/ael-test/ael-ntest23/t3/j.ael
URL: http://svn.digium.com/view/asterisk/branches/1.4/pbx/ael/ael-test/ael-ntest23/t3/j.ael?view=auto&rev=109309
==============================================================================
--- branches/1.4/pbx/ael/ael-test/ael-ntest23/t3/j.ael (added)
+++ branches/1.4/pbx/ael/ael-test/ael-ntest23/t3/j.ael Tue Mar 18 01:37:15 2008
@@ -1,0 +1,6 @@
+
+
+context j
+{
+	567 => NoOp(hi there, j);
+}

Propchange: branches/1.4/pbx/ael/ael-test/ael-ntest23/t3/j.ael
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: branches/1.4/pbx/ael/ael-test/ael-ntest23/t3/j.ael
------------------------------------------------------------------------------
    svn:keywords = Author Id Date Revision

Propchange: branches/1.4/pbx/ael/ael-test/ael-ntest23/t3/j.ael
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: branches/1.4/pbx/ael/ael-test/ref.ael-ntest23
URL: http://svn.digium.com/view/asterisk/branches/1.4/pbx/ael/ael-test/ref.ael-ntest23?view=auto&rev=109309
==============================================================================
--- branches/1.4/pbx/ael/ael-test/ref.ael-ntest23 (added)
+++ branches/1.4/pbx/ael/ael-test/ref.ael-ntest23 Tue Mar 18 01:37:15 2008
@@ -1,0 +1,25 @@
+
+(If you find progress and other non-error messages irritating, you can use -q to suppress them)
+
+(You can use the -n option if you aren't interested in seeing all the instructions generated by the compiler)
+
+
+(You can use the -w option to dump extensions.conf format to extensions.conf.aeldump)
+LOG: lev:2 file:pbx_ael.c  line:4094 func: pbx_load_module  Starting AEL load process.
+LOG: lev:2 file:pbx_ael.c  line:4101 func: pbx_load_module  AEL load process: calculated config file name './extensions.ael'.
+LOG: lev:2 file:ael.flex  line:663 func: setup_filestack    --Read in included file ./t1/a.ael, 41 chars
+LOG: lev:2 file:ael.flex  line:663 func: setup_filestack    --Read in included file ./t1/b.ael, 42 chars
+LOG: lev:2 file:ael.flex  line:663 func: setup_filestack    --Read in included file ./t1/c.ael, 110 chars
+LOG: lev:4 file:ael.y  line:756 func: ael_yyerror  ==== File: ./t1/c.ael, Line 3, Cols: 10-10: Error: syntax error, unexpected '(', expecting '{'
+LOG: lev:2 file:ael.flex  line:663 func: setup_filestack    --Read in included file ./t2/d.ael, 41 chars
+LOG: lev:2 file:ael.flex  line:663 func: setup_filestack    --Read in included file ./t2/e.ael, 42 chars
+LOG: lev:2 file:ael.flex  line:663 func: setup_filestack    --Read in included file ./t2/f.ael, 82 chars
+LOG: lev:2 file:ael.flex  line:663 func: setup_filestack    --Read in included file ./qq.ael, 45 chars
+LOG: lev:2 file:ael.flex  line:663 func: setup_filestack    --Read in included file ./t3/g.ael, 41 chars
+LOG: lev:2 file:ael.flex  line:663 func: setup_filestack    --Read in included file ./t3/h.ael, 42 chars
+LOG: lev:2 file:ael.flex  line:663 func: setup_filestack    --Read in included file ./t3/i.ael, 41 chars
+LOG: lev:2 file:ael.flex  line:663 func: setup_filestack    --Read in included file ./t3/j.ael, 43 chars
+LOG: lev:4 file:ael.y  line:756 func: ael_yyerror  ==== File: ./t1/c.ael, Line 10, Cols: 10-10: Error: syntax error, unexpected '(', expecting '{'
+LOG: lev:2 file:pbx_ael.c  line:4109 func: pbx_load_module  AEL load process: parsed config file name './extensions.ael'.
+LOG: lev:4 file:pbx_ael.c  line:4122 func: pbx_load_module  Sorry, but 2 syntax errors and 0 semantic errors were detected. It doesn't make sense to compile.
+LOG: lev:4 file:ael2_parse  line:543 func: main  0 contexts, 0 extensions, 0 priorities

Propchange: branches/1.4/pbx/ael/ael-test/ref.ael-ntest23
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: branches/1.4/pbx/ael/ael-test/ref.ael-ntest23
------------------------------------------------------------------------------
    svn:keywords = Author Id Date Revision

Propchange: branches/1.4/pbx/ael/ael-test/ref.ael-ntest23
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: branches/1.4/pbx/ael/ael.flex
URL: http://svn.digium.com/view/asterisk/branches/1.4/pbx/ael/ael.flex?view=diff&rev=109309&r1=109308&r2=109309
==============================================================================
--- branches/1.4/pbx/ael/ael.flex (original)
+++ branches/1.4/pbx/ael/ael.flex Tue Mar 18 01:37:15 2008
@@ -438,8 +438,6 @@
 <<EOF>>		{
 		char fnamebuf[2048];
 		if (include_stack_index > 0 && include_stack[include_stack_index-1].globbuf_pos < include_stack[include_stack_index-1].globbuf.gl_pathc-1) {
-			free(my_file);
-			my_file = 0;
 			yy_delete_buffer( YY_CURRENT_BUFFER, yyscanner );
 			include_stack[include_stack_index-1].globbuf_pos++;
 			setup_filestack(fnamebuf, sizeof(fnamebuf), &include_stack[include_stack_index-1].globbuf, include_stack[include_stack_index-1].globbuf_pos, yyscanner, 0);
@@ -450,13 +448,13 @@
 				free(include_stack[include_stack_index].fname);
 				include_stack[include_stack_index].fname = 0;
 			}
+			if (my_file) {
+				free(my_file);
+				my_file = 0;
+			}
 			if ( --include_stack_index < 0 ) {
 				yyterminate();
 			} else {
-				if (my_file) {
-					free(my_file);
-					my_file = 0;
-				}
 				globfree(&include_stack[include_stack_index].globbuf);
 				include_stack[include_stack_index].globbuf_pos = -1;
 				
@@ -663,12 +661,16 @@
 			buffer[stats.st_size] = 0;
 			ast_log(LOG_NOTICE,"  --Read in included file %s, %d chars\n",fnamebuf2, (int)stats.st_size);
 			fclose(in1);
+			if (include_stack[include_stack_index].fname) {
+			   	free(include_stack[include_stack_index].fname);
+				include_stack[include_stack_index].fname = 0;
+			}
+			include_stack[include_stack_index].fname = strdup(my_file);
+			include_stack[include_stack_index].lineno = my_lineno;
+			include_stack[include_stack_index].colno = my_col+yyleng;
 			if (my_file)
 				free(my_file);
 			my_file = strdup(fnamebuf2);
-			include_stack[include_stack_index].fname = strdup(my_file);
-			include_stack[include_stack_index].lineno = my_lineno;
-			include_stack[include_stack_index].colno = my_col+yyleng;
 			if (create)
 				include_stack[include_stack_index].globbuf = *globbuf;
 

Modified: branches/1.4/pbx/ael/ael_lex.c
URL: http://svn.digium.com/view/asterisk/branches/1.4/pbx/ael/ael_lex.c?view=diff&rev=109309&r1=109308&r2=109309
==============================================================================
--- branches/1.4/pbx/ael/ael_lex.c (original)
+++ branches/1.4/pbx/ael/ael_lex.c Tue Mar 18 01:37:15 2008
@@ -1735,8 +1735,6 @@
 {
 		char fnamebuf[2048];
 		if (include_stack_index > 0 && include_stack[include_stack_index-1].globbuf_pos < include_stack[include_stack_index-1].globbuf.gl_pathc-1) {
-			free(my_file);
-			my_file = 0;
 			ael_yy_delete_buffer(YY_CURRENT_BUFFER,yyscanner );
 			include_stack[include_stack_index-1].globbuf_pos++;
 			setup_filestack(fnamebuf, sizeof(fnamebuf), &include_stack[include_stack_index-1].globbuf, include_stack[include_stack_index-1].globbuf_pos, yyscanner, 0);
@@ -1747,13 +1745,13 @@
 				free(include_stack[include_stack_index].fname);
 				include_stack[include_stack_index].fname = 0;
 			}
+			if (my_file) {
+				free(my_file);
+				my_file = 0;
+			}
 			if ( --include_stack_index < 0 ) {
 				yyterminate();
 			} else {
-				if (my_file) {
-					free(my_file);
-					my_file = 0;
-				}
 				globfree(&include_stack[include_stack_index].globbuf);
 				include_stack[include_stack_index].globbuf_pos = -1;
 				
@@ -1768,10 +1766,10 @@
 	YY_BREAK
 case 62:
 YY_RULE_SETUP
-#line 472 "ael.flex"
+#line 470 "ael.flex"
 ECHO;
 	YY_BREAK
-#line 1774 "ael_lex.c"
+#line 1772 "ael_lex.c"
 
 	case YY_END_OF_BUFFER:
 		{
@@ -2896,7 +2894,7 @@
 
 #define YYTABLES_NAME "yytables"
 
-#line 472 "ael.flex"
+#line 470 "ael.flex"
 
 
 
@@ -3092,12 +3090,16 @@
 			buffer[stats.st_size] = 0;
 			ast_log(LOG_NOTICE,"  --Read in included file %s, %d chars\n",fnamebuf2, (int)stats.st_size);
 			fclose(in1);
+			if (include_stack[include_stack_index].fname) {
+			   	free(include_stack[include_stack_index].fname);
+				include_stack[include_stack_index].fname = 0;
+			}
+			include_stack[include_stack_index].fname = strdup(my_file);
+			include_stack[include_stack_index].lineno = my_lineno;
+			include_stack[include_stack_index].colno = my_col+yyleng;
 			if (my_file)
 				free(my_file);
 			my_file = strdup(fnamebuf2);
-			include_stack[include_stack_index].fname = strdup(my_file);
-			include_stack[include_stack_index].lineno = my_lineno;
-			include_stack[include_stack_index].colno = my_col+yyleng;
 			if (create)
 				include_stack[include_stack_index].globbuf = *globbuf;
 




More information about the asterisk-commits mailing list