cvs: ZendEngine2(PHP_5_3) / zend_ini_scanner.c zend_ini_scanner.l zend_ini_scanner_defs.h

"Brian Shire" <[email protected]> Tue, 19 May 2009 15:59:36 -0000
Newsgroups gmane.comp.php.cvs.zend
Message-ID <cvsshire1242748776@cvsserver>
--shire1242748776
Content-Type: text/plain

shire		Tue May 19 15:59:36 2009 UTC

  Modified files:              (Branch: PHP_5_3)
    /ZendEngine2	zend_ini_scanner.c zend_ini_scanner.l 
                	zend_ini_scanner_defs.h 
  Log:
  MFH: Fix bug #47859 parse_ini_file() does not like asterisk (*) in key in the beginning, and allow [*_-] chars at start of ini labels
  
  
--shire1242748776
Content-Type: text/plain
Content-Disposition: attachment; filename="shire-20090519155936.txt"

http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_ini_scanner.c?r1=1.1.2.17&r2=1.1.2.18&diff_format=u
Index: ZendEngine2/zend_ini_scanner.c
diff -u ZendEngine2/zend_ini_scanner.c:1.1.2.17 ZendEngine2/zend_ini_scanner.c:1.1.2.18
--- ZendEngine2/zend_ini_scanner.c:1.1.2.17	Sat Feb 14 21:20:14 2009
+++ ZendEngine2/zend_ini_scanner.c	Tue May 19 15:59:36 2009
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.13.6.dev on Mon Feb  2 19:23:18 2009 */
+/* Generated by re2c 0.13.5 on Tue May 19 08:53:54 2009 */
 #line 1 "Zend/zend_ini_scanner.l"
 /*
    +----------------------------------------------------------------------+
@@ -22,7 +22,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_ini_scanner.c,v 1.1.2.17 2009/02/14 21:20:14 rasmus Exp $ */
+/* $Id: zend_ini_scanner.c,v 1.1.2.18 2009/05/19 15:59:36 shire Exp $ */
 
 #include <errno.h>
 #include "zend.h"
@@ -339,21 +339,21 @@
 	{
 		static const unsigned char yybm[] = {
 			128, 128, 128, 128, 128, 128, 128, 128, 
-			128, 192,   0, 128, 128,   0, 128, 128, 
+			128, 160,   0, 128, 128,   0, 128, 128, 
 			128, 128, 128, 128, 128, 128, 128, 128, 
 			128, 128, 128, 128, 128, 128, 128, 128, 
-			192, 128, 128, 128, 128, 128, 128, 128, 
-			128, 128, 160, 128, 128, 160, 160, 128, 
-			160, 160, 160, 160, 160, 160, 160, 160, 
-			160, 160, 128, 128, 128, 128, 128, 128, 
-			128, 160, 160, 160, 160, 160, 160, 160, 
-			160, 160, 160, 160, 160, 160, 160, 160, 
-			160, 160, 160, 160, 160, 160, 160, 160, 
-			160, 160, 160, 128, 128, 128, 128, 160, 
-			128, 160, 160, 160, 160, 160, 160, 160, 
-			160, 160, 160, 160, 160, 160, 160, 160, 
-			160, 160, 160, 160, 160, 160, 160, 160, 
-			160, 160, 160, 128, 128, 128, 128, 128, 
+			160, 128, 128, 128, 128, 128, 128, 128, 
+			128, 128, 192, 128, 128, 192, 192, 128, 
+			192, 192, 192, 192, 192, 192, 192, 192, 
+			192, 192, 128, 128, 128, 128, 128, 128, 
+			128, 192, 192, 192, 192, 192, 192, 192, 
+			192, 192, 192, 192, 192, 192, 192, 192, 
+			192, 192, 192, 192, 192, 192, 192, 192, 
+			192, 192, 192, 128, 128, 128, 128, 192, 
+			128, 192, 192, 192, 192, 192, 192, 192, 
+			192, 192, 192, 192, 192, 192, 192, 192, 
+			192, 192, 192, 192, 192, 192, 192, 192, 
+			192, 192, 192, 128, 128, 128, 128, 128, 
 			128, 128, 128, 128, 128, 128, 128, 128, 
 			128, 128, 128, 128, 128, 128, 128, 128, 
 			128, 128, 128, 128, 128, 128, 128, 128, 
@@ -371,7 +371,8 @@
 			128, 128, 128, 128, 128, 128, 128, 128, 
 			128, 128, 128, 128, 128, 128, 128, 128, 
 		};
-		YYDEBUG(1, *YYCURSOR);
+
+		YYDEBUG(0, *YYCURSOR);
 		YYFILL(6);
 		yych = *YYCURSOR;
 		YYDEBUG(-1, yych);
@@ -388,11 +389,8 @@
 		case '\'':
 		case '(':
 		case ')':
-		case '*':
 		case '+':
 		case ',':
-		case '-':
-		case '.':
 		case '/':
 		case ':':
 		case '<':
@@ -406,6 +404,9 @@
 		case '}':
 		case '~':	goto yy10;
 		case '#':	goto yy12;
+		case '*':
+		case '-':
+		case '.':	goto yy13;
 		case '0':
 		case '1':
 		case '2':
@@ -458,7 +459,7 @@
 		case 'v':
 		case 'w':
 		case 'x':
-		case 'z':	goto yy13;
+		case 'z':	goto yy14;
 		case ';':	goto yy15;
 		case '=':	goto yy16;
 		case 'F':
@@ -474,6 +475,14 @@
 		case '[':	goto yy23;
 		default:	goto yy3;
 		}
+yy2:
+		YYDEBUG(2, *YYCURSOR);
+		yyleng = YYCURSOR - SCNG(yy_text);
+#line 389 "Zend/zend_ini_scanner.l"
+		{ /* Get option name */
+	RETURN_TOKEN(TC_LABEL, yytext, yyleng);
+}
+#line 486 "Zend/zend_ini_scanner.c"
 yy3:
 		YYDEBUG(3, *YYCURSOR);
 		++YYCURSOR;
@@ -483,7 +492,7 @@
 		{
 	return 0;
 }
-#line 487 "Zend/zend_ini_scanner.c"
+#line 496 "Zend/zend_ini_scanner.c"
 yy5:
 		YYDEBUG(5, *YYCURSOR);
 		yyaccept = 0;
@@ -497,7 +506,7 @@
 	/* eat whitespace */
 	goto restart;
 }
-#line 501 "Zend/zend_ini_scanner.c"
+#line 510 "Zend/zend_ini_scanner.c"
 yy7:
 		YYDEBUG(7, *YYCURSOR);
 		++YYCURSOR;
@@ -509,7 +518,7 @@
 	SCNG(lineno)++;
 	return END_OF_LINE;
 }
-#line 513 "Zend/zend_ini_scanner.c"
+#line 522 "Zend/zend_ini_scanner.c"
 yy9:
 		YYDEBUG(9, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -524,7 +533,7 @@
 		{ /* Disallow these chars outside option values */
 	return yytext[0];
 }
-#line 528 "Zend/zend_ini_scanner.c"
+#line 537 "Zend/zend_ini_scanner.c"
 yy12:
 		YYDEBUG(12, *YYCURSOR);
 		yyaccept = 1;
@@ -532,17 +541,12 @@
 		goto yy57;
 yy13:
 		YYDEBUG(13, *YYCURSOR);
-		++YYCURSOR;
-		yych = *YYCURSOR;
-		goto yy26;
+		yych = *++YYCURSOR;
+		goto yy29;
 yy14:
 		YYDEBUG(14, *YYCURSOR);
-		yyleng = YYCURSOR - SCNG(yy_text);
-#line 389 "Zend/zend_ini_scanner.l"
-		{ /* Get option name */
-	RETURN_TOKEN(TC_LABEL, yytext, yyleng);
-}
-#line 546 "Zend/zend_ini_scanner.c"
+		yych = *++YYCURSOR;
+		goto yy29;
 yy15:
 		YYDEBUG(15, *YYCURSOR);
 		yyaccept = 1;
@@ -565,27 +569,27 @@
 	}
 	return '=';
 }
-#line 569 "Zend/zend_ini_scanner.c"
+#line 573 "Zend/zend_ini_scanner.c"
 yy18:
 		YYDEBUG(18, *YYCURSOR);
 		yych = *++YYCURSOR;
 		if (yych == 'A') goto yy46;
 		if (yych == 'a') goto yy46;
-		goto yy26;
+		goto yy29;
 yy19:
 		YYDEBUG(19, *YYCURSOR);
 		yych = *++YYCURSOR;
 		if (yych <= 'U') {
 			if (yych == 'O') goto yy42;
-			if (yych <= 'T') goto yy26;
+			if (yych <= 'T') goto yy29;
 			goto yy43;
 		} else {
 			if (yych <= 'o') {
-				if (yych <= 'n') goto yy26;
+				if (yych <= 'n') goto yy29;
 				goto yy42;
 			} else {
 				if (yych == 'u') goto yy43;
-				goto yy26;
+				goto yy29;
 			}
 		}
 yy20:
@@ -593,15 +597,15 @@
 		yych = *++YYCURSOR;
 		if (yych <= 'N') {
 			if (yych == 'F') goto yy37;
-			if (yych <= 'M') goto yy26;
+			if (yych <= 'M') goto yy29;
 			goto yy31;
 		} else {
 			if (yych <= 'f') {
-				if (yych <= 'e') goto yy26;
+				if (yych <= 'e') goto yy29;
 				goto yy37;
 			} else {
 				if (yych == 'n') goto yy31;
-				goto yy26;
+				goto yy29;
 			}
 		}
 yy21:
@@ -609,16 +613,19 @@
 		yych = *++YYCURSOR;
 		if (yych == 'R') goto yy35;
 		if (yych == 'r') goto yy35;
-		goto yy26;
+		goto yy29;
 yy22:
 		YYDEBUG(22, *YYCURSOR);
 		yych = *++YYCURSOR;
-		if (yych == 'E') goto yy27;
-		if (yych == 'e') goto yy27;
-		goto yy26;
+		if (yych == 'E') goto yy30;
+		if (yych == 'e') goto yy30;
+		goto yy29;
 yy23:
 		YYDEBUG(23, *YYCURSOR);
 		++YYCURSOR;
+		if (yybm[0+(yych = *YYCURSOR)] & 32) {
+			goto yy25;
+		}
 		YYDEBUG(24, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
 #line 327 "Zend/zend_ini_scanner.l"
@@ -631,35 +638,17 @@
 	}
 	return TC_SECTION;
 }
-#line 635 "Zend/zend_ini_scanner.c"
+#line 642 "Zend/zend_ini_scanner.c"
 yy25:
 		YYDEBUG(25, *YYCURSOR);
 		++YYCURSOR;
 		YYFILL(1);
 		yych = *YYCURSOR;
-yy26:
 		YYDEBUG(26, *YYCURSOR);
 		if (yybm[0+yych] & 32) {
 			goto yy25;
 		}
-		if (yych == '[') goto yy28;
-		goto yy14;
-yy27:
 		YYDEBUG(27, *YYCURSOR);
-		yych = *++YYCURSOR;
-		if (yych == 'S') goto yy31;
-		if (yych == 's') goto yy31;
-		goto yy26;
-yy28:
-		YYDEBUG(28, *YYCURSOR);
-		++YYCURSOR;
-		YYFILL(1);
-		yych = *YYCURSOR;
-		YYDEBUG(29, *YYCURSOR);
-		if (yybm[0+yych] & 64) {
-			goto yy28;
-		}
-		YYDEBUG(30, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
 #line 352 "Zend/zend_ini_scanner.l"
 		{ /* Start of option with offset */
@@ -671,14 +660,31 @@
 
 	RETURN_TOKEN(TC_OFFSET, yytext, yyleng);
 }
-#line 675 "Zend/zend_ini_scanner.c"
+#line 664 "Zend/zend_ini_scanner.c"
+yy28:
+		YYDEBUG(28, *YYCURSOR);
+		++YYCURSOR;
+		YYFILL(1);
+		yych = *YYCURSOR;
+yy29:
+		YYDEBUG(29, *YYCURSOR);
+		if (yybm[0+yych] & 64) {
+			goto yy28;
+		}
+		if (yych == '[') goto yy25;
+		goto yy2;
+yy30:
+		YYDEBUG(30, *YYCURSOR);
+		yych = *++YYCURSOR;
+		if (yych == 'S') goto yy31;
+		if (yych != 's') goto yy29;
 yy31:
 		YYDEBUG(31, *YYCURSOR);
 		++YYCURSOR;
-		if (yybm[0+(yych = *YYCURSOR)] & 32) {
-			goto yy25;
+		if (yybm[0+(yych = *YYCURSOR)] & 64) {
+			goto yy28;
 		}
-		if (yych == '[') goto yy28;
+		if (yych == '[') goto yy25;
 		goto yy34;
 yy32:
 		YYDEBUG(32, *YYCURSOR);
@@ -687,7 +693,7 @@
 		{ /* TRUE value (when used outside option value/offset this causes parse error!) */
 	RETURN_TOKEN(BOOL_TRUE, "1", 1);
 }
-#line 691 "Zend/zend_ini_scanner.c"
+#line 697 "Zend/zend_ini_scanner.c"
 yy33:
 		YYDEBUG(33, *YYCURSOR);
 		++YYCURSOR;
@@ -702,25 +708,25 @@
 		YYDEBUG(35, *YYCURSOR);
 		yych = *++YYCURSOR;
 		if (yych == 'U') goto yy36;
-		if (yych != 'u') goto yy26;
+		if (yych != 'u') goto yy29;
 yy36:
 		YYDEBUG(36, *YYCURSOR);
 		yych = *++YYCURSOR;
 		if (yych == 'E') goto yy31;
 		if (yych == 'e') goto yy31;
-		goto yy26;
+		goto yy29;
 yy37:
 		YYDEBUG(37, *YYCURSOR);
 		yych = *++YYCURSOR;
 		if (yych == 'F') goto yy38;
-		if (yych != 'f') goto yy26;
+		if (yych != 'f') goto yy29;
 yy38:
 		YYDEBUG(38, *YYCURSOR);
 		++YYCURSOR;
-		if (yybm[0+(yych = *YYCURSOR)] & 32) {
-			goto yy25;
+		if (yybm[0+(yych = *YYCURSOR)] & 64) {
+			goto yy28;
 		}
-		if (yych == '[') goto yy28;
+		if (yych == '[') goto yy25;
 		goto yy41;
 yy39:
 		YYDEBUG(39, *YYCURSOR);
@@ -729,7 +735,7 @@
 		{ /* FALSE value (when used outside option value/offset this causes parse error!)*/
 	RETURN_TOKEN(BOOL_FALSE, "", 0);
 }
-#line 733 "Zend/zend_ini_scanner.c"
+#line 739 "Zend/zend_ini_scanner.c"
 yy40:
 		YYDEBUG(40, *YYCURSOR);
 		++YYCURSOR;
@@ -745,32 +751,32 @@
 		yych = *++YYCURSOR;
 		if (yych <= 'N') {
 			if (yych <= '.') {
-				if (yych == '*') goto yy25;
+				if (yych == '*') goto yy28;
 				if (yych <= ',') goto yy41;
-				goto yy25;
+				goto yy28;
 			} else {
 				if (yych <= '9') {
 					if (yych <= '/') goto yy41;
-					goto yy25;
+					goto yy28;
 				} else {
 					if (yych <= '@') goto yy41;
-					if (yych <= 'M') goto yy25;
+					if (yych <= 'M') goto yy28;
 					goto yy45;
 				}
 			}
 		} else {
 			if (yych <= '_') {
-				if (yych <= 'Z') goto yy25;
-				if (yych <= '[') goto yy28;
+				if (yych <= 'Z') goto yy28;
+				if (yych <= '[') goto yy25;
 				if (yych <= '^') goto yy41;
-				goto yy25;
+				goto yy28;
 			} else {
 				if (yych <= 'm') {
 					if (yych <= '`') goto yy41;
-					goto yy25;
+					goto yy28;
 				} else {
 					if (yych <= 'n') goto yy45;
-					if (yych <= 'z') goto yy25;
+					if (yych <= 'z') goto yy28;
 					goto yy41;
 				}
 			}
@@ -779,35 +785,35 @@
 		YYDEBUG(43, *YYCURSOR);
 		yych = *++YYCURSOR;
 		if (yych == 'L') goto yy44;
-		if (yych != 'l') goto yy26;
+		if (yych != 'l') goto yy29;
 yy44:
 		YYDEBUG(44, *YYCURSOR);
 		yych = *++YYCURSOR;
 		if (yych == 'L') goto yy38;
 		if (yych == 'l') goto yy38;
-		goto yy26;
+		goto yy29;
 yy45:
 		YYDEBUG(45, *YYCURSOR);
 		yych = *++YYCURSOR;
 		if (yych == 'E') goto yy38;
 		if (yych == 'e') goto yy38;
-		goto yy26;
+		goto yy29;
 yy46:
 		YYDEBUG(46, *YYCURSOR);
 		yych = *++YYCURSOR;
 		if (yych == 'L') goto yy47;
-		if (yych != 'l') goto yy26;
+		if (yych != 'l') goto yy29;
 yy47:
 		YYDEBUG(47, *YYCURSOR);
 		yych = *++YYCURSOR;
 		if (yych == 'S') goto yy48;
-		if (yych != 's') goto yy26;
+		if (yych != 's') goto yy29;
 yy48:
 		YYDEBUG(48, *YYCURSOR);
 		yych = *++YYCURSOR;
 		if (yych == 'E') goto yy38;
 		if (yych == 'e') goto yy38;
-		goto yy26;
+		goto yy29;
 yy49:
 		YYDEBUG(49, *YYCURSOR);
 		++YYCURSOR;
@@ -841,7 +847,7 @@
 	SCNG(lineno)++;
 	return END_OF_LINE;
 }
-#line 845 "Zend/zend_ini_scanner.c"
+#line 851 "Zend/zend_ini_scanner.c"
 yy55:
 		YYDEBUG(55, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -870,7 +876,7 @@
 	SCNG(lineno)++;
 	return END_OF_LINE;
 }
-#line 874 "Zend/zend_ini_scanner.c"
+#line 880 "Zend/zend_ini_scanner.c"
 yy60:
 		YYDEBUG(60, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -976,7 +982,7 @@
 	zend_ini_escape_string(ini_lval, yytext, yyleng, '"' TSRMLS_CC);
 	return TC_QUOTED_STRING;
 }
-#line 980 "Zend/zend_ini_scanner.c"
+#line 986 "Zend/zend_ini_scanner.c"
 yy69:
 		YYDEBUG(69, *YYCURSOR);
 		++YYCURSOR;
@@ -990,7 +996,7 @@
 	yy_pop_state(TSRMLS_C);
 	return '"';
 }
-#line 994 "Zend/zend_ini_scanner.c"
+#line 1000 "Zend/zend_ini_scanner.c"
 yy71:
 		YYDEBUG(71, *YYCURSOR);
 		++YYCURSOR;
@@ -1009,7 +1015,7 @@
 		{
 	return 0;
 }
-#line 1013 "Zend/zend_ini_scanner.c"
+#line 1019 "Zend/zend_ini_scanner.c"
 yy73:
 		YYDEBUG(73, *YYCURSOR);
 		yyaccept = 1;
@@ -1022,7 +1028,7 @@
 yy75:
 		YYDEBUG(75, *YYCURSOR);
 		YYCURSOR = YYMARKER;
-		if (yyaccept == 0) {
+		if (yyaccept <= 0) {
 			goto yy68;
 		} else {
 			goto yy72;
@@ -1130,7 +1136,7 @@
 	yy_push_state(ST_VARNAME TSRMLS_CC);
 	return TC_DOLLAR_CURLY;
 }
-#line 1134 "Zend/zend_ini_scanner.c"
+#line 1140 "Zend/zend_ini_scanner.c"
 yy90:
 		YYDEBUG(90, *YYCURSOR);
 		++YYCURSOR;
@@ -1233,7 +1239,7 @@
 		{ /* Get rest as section/offset value */
 	RETURN_TOKEN(TC_STRING, yytext, yyleng);
 }
-#line 1237 "Zend/zend_ini_scanner.c"
+#line 1243 "Zend/zend_ini_scanner.c"
 yy96:
 		YYDEBUG(96, *YYCURSOR);
 		yyaccept = 0;
@@ -1254,7 +1260,7 @@
 		{
 	return 0;
 }
-#line 1258 "Zend/zend_ini_scanner.c"
+#line 1264 "Zend/zend_ini_scanner.c"
 yy99:
 		YYDEBUG(99, *YYCURSOR);
 		++YYCURSOR;
@@ -1266,7 +1272,7 @@
 	yy_push_state(ST_DOUBLE_QUOTES TSRMLS_CC);
 	return '"';
 }
-#line 1270 "Zend/zend_ini_scanner.c"
+#line 1276 "Zend/zend_ini_scanner.c"
 yy101:
 		YYDEBUG(101, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -1332,7 +1338,7 @@
 		{ /* Get number option value as string */
 	RETURN_TOKEN(TC_NUMBER, yytext, yyleng);
 }
-#line 1336 "Zend/zend_ini_scanner.c"
+#line 1342 "Zend/zend_ini_scanner.c"
 yy107:
 		YYDEBUG(107, *YYCURSOR);
 		yyaccept = 3;
@@ -1362,7 +1368,7 @@
 		{ /* Get constant option value */
 	RETURN_TOKEN(TC_CONSTANT, yytext, yyleng);
 }
-#line 1366 "Zend/zend_ini_scanner.c"
+#line 1372 "Zend/zend_ini_scanner.c"
 yy109:
 		YYDEBUG(109, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -1378,7 +1384,7 @@
 	BEGIN(INITIAL);
 	return ']';
 }
-#line 1382 "Zend/zend_ini_scanner.c"
+#line 1388 "Zend/zend_ini_scanner.c"
 yy112:
 		YYDEBUG(112, *YYCURSOR);
 		yyaccept = 0;
@@ -1414,13 +1420,13 @@
 		YYDEBUG(116, *YYCURSOR);
 		YYCURSOR = YYMARKER;
 		if (yyaccept <= 1) {
-			if (yyaccept == 0) {
+			if (yyaccept <= 0) {
 				goto yy95;
 			} else {
 				goto yy98;
 			}
 		} else {
-			if (yyaccept == 2) {
+			if (yyaccept <= 2) {
 				goto yy106;
 			} else {
 				goto yy108;
@@ -1677,7 +1683,7 @@
 	}
 	RETURN_TOKEN(TC_RAW, yytext, yyleng);
 }
-#line 1681 "Zend/zend_ini_scanner.c"
+#line 1687 "Zend/zend_ini_scanner.c"
 yy137:
 		YYDEBUG(137, *YYCURSOR);
 		++YYCURSOR;
@@ -1688,7 +1694,7 @@
 	yy_push_state(ST_VARNAME TSRMLS_CC);
 	return TC_DOLLAR_CURLY;
 }
-#line 1692 "Zend/zend_ini_scanner.c"
+#line 1698 "Zend/zend_ini_scanner.c"
 yy139:
 		YYDEBUG(139, *YYCURSOR);
 		yyaccept = 0;
@@ -1804,7 +1810,7 @@
 	}
 	RETURN_TOKEN(TC_RAW, yytext, yyleng);
 }
-#line 1808 "Zend/zend_ini_scanner.c"
+#line 1814 "Zend/zend_ini_scanner.c"
 yy147:
 		YYDEBUG(147, *YYCURSOR);
 		yyaccept = 0;
@@ -1832,7 +1838,7 @@
 	SCNG(lineno)++;
 	return END_OF_LINE;
 }
-#line 1836 "Zend/zend_ini_scanner.c"
+#line 1842 "Zend/zend_ini_scanner.c"
 yy150:
 		YYDEBUG(150, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -1851,7 +1857,7 @@
 	BEGIN(INITIAL);
 	return END_OF_LINE;
 }
-#line 1855 "Zend/zend_ini_scanner.c"
+#line 1861 "Zend/zend_ini_scanner.c"
 yy153:
 		YYDEBUG(153, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -1879,7 +1885,7 @@
 	SCNG(lineno)++;
 	return END_OF_LINE;
 }
-#line 1883 "Zend/zend_ini_scanner.c"
+#line 1889 "Zend/zend_ini_scanner.c"
 yy158:
 		YYDEBUG(158, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -1985,7 +1991,7 @@
 		{ /* Raw value, only used when SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW. */
 	RETURN_TOKEN(TC_RAW, yytext, yyleng);
 }
-#line 1989 "Zend/zend_ini_scanner.c"
+#line 1995 "Zend/zend_ini_scanner.c"
 yy169:
 		YYDEBUG(169, *YYCURSOR);
 		++YYCURSOR;
@@ -1995,7 +2001,7 @@
 		{
 	return 0;
 }
-#line 1999 "Zend/zend_ini_scanner.c"
+#line 2005 "Zend/zend_ini_scanner.c"
 yy171:
 		YYDEBUG(171, *YYCURSOR);
 		++YYCURSOR;
@@ -2010,7 +2016,7 @@
 	SCNG(lineno)++;
 	return ']';
 }
-#line 2014 "Zend/zend_ini_scanner.c"
+#line 2020 "Zend/zend_ini_scanner.c"
 yy173:
 		YYDEBUG(173, *YYCURSOR);
 		++YYCURSOR;
@@ -2135,7 +2141,7 @@
 		{ /* Get rest as section/offset value */
 	RETURN_TOKEN(TC_STRING, yytext, yyleng);
 }
-#line 2139 "Zend/zend_ini_scanner.c"
+#line 2145 "Zend/zend_ini_scanner.c"
 yy183:
 		YYDEBUG(183, *YYCURSOR);
 		yyaccept = 0;
@@ -2158,7 +2164,7 @@
 		{
 	return 0;
 }
-#line 2162 "Zend/zend_ini_scanner.c"
+#line 2168 "Zend/zend_ini_scanner.c"
 yy186:
 		YYDEBUG(186, *YYCURSOR);
 		++YYCURSOR;
@@ -2170,7 +2176,7 @@
 	yy_push_state(ST_DOUBLE_QUOTES TSRMLS_CC);
 	return '"';
 }
-#line 2174 "Zend/zend_ini_scanner.c"
+#line 2180 "Zend/zend_ini_scanner.c"
 yy188:
 		YYDEBUG(188, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -2236,7 +2242,7 @@
 		{ /* Get number option value as string */
 	RETURN_TOKEN(TC_NUMBER, yytext, yyleng);
 }
-#line 2240 "Zend/zend_ini_scanner.c"
+#line 2246 "Zend/zend_ini_scanner.c"
 yy194:
 		YYDEBUG(194, *YYCURSOR);
 		yyaccept = 3;
@@ -2266,7 +2272,7 @@
 		{ /* Get constant option value */
 	RETURN_TOKEN(TC_CONSTANT, yytext, yyleng);
 }
-#line 2270 "Zend/zend_ini_scanner.c"
+#line 2276 "Zend/zend_ini_scanner.c"
 yy196:
 		YYDEBUG(196, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -2285,7 +2291,7 @@
 	SCNG(lineno)++;
 	return ']';
 }
-#line 2289 "Zend/zend_ini_scanner.c"
+#line 2295 "Zend/zend_ini_scanner.c"
 yy199:
 		YYDEBUG(199, *YYCURSOR);
 		++YYCURSOR;
@@ -2343,13 +2349,13 @@
 		YYDEBUG(207, *YYCURSOR);
 		YYCURSOR = YYMARKER;
 		if (yyaccept <= 1) {
-			if (yyaccept == 0) {
+			if (yyaccept <= 0) {
 				goto yy182;
 			} else {
 				goto yy185;
 			}
 		} else {
-			if (yyaccept == 2) {
+			if (yyaccept <= 2) {
 				goto yy193;
 			} else {
 				goto yy195;
@@ -2606,7 +2612,7 @@
 	}
 	RETURN_TOKEN(TC_RAW, yytext, yyleng);
 }
-#line 2610 "Zend/zend_ini_scanner.c"
+#line 2616 "Zend/zend_ini_scanner.c"
 yy228:
 		YYDEBUG(228, *YYCURSOR);
 		++YYCURSOR;
@@ -2617,7 +2623,7 @@
 	yy_push_state(ST_VARNAME TSRMLS_CC);
 	return TC_DOLLAR_CURLY;
 }
-#line 2621 "Zend/zend_ini_scanner.c"
+#line 2627 "Zend/zend_ini_scanner.c"
 yy230:
 		YYDEBUG(230, *YYCURSOR);
 		yyaccept = 0;
@@ -2801,7 +2807,7 @@
 	BEGIN(INITIAL);
 	return END_OF_LINE;
 }
-#line 2805 "Zend/zend_ini_scanner.c"
+#line 2811 "Zend/zend_ini_scanner.c"
 yy237:
 		YYDEBUG(237, *YYCURSOR);
 		yyaccept = 0;
@@ -2814,7 +2820,7 @@
 		{ /* Get everything else as option/offset value */
 	RETURN_TOKEN(TC_STRING, yytext, yyleng);
 }
-#line 2818 "Zend/zend_ini_scanner.c"
+#line 2824 "Zend/zend_ini_scanner.c"
 yy239:
 		YYDEBUG(239, *YYCURSOR);
 		yyaccept = 1;
@@ -2827,7 +2833,7 @@
 		{
 	RETURN_TOKEN(TC_WHITESPACE, yytext, yyleng);
 }
-#line 2831 "Zend/zend_ini_scanner.c"
+#line 2837 "Zend/zend_ini_scanner.c"
 yy241:
 		YYDEBUG(241, *YYCURSOR);
 		++YYCURSOR;
@@ -2840,7 +2846,7 @@
 	SCNG(lineno)++;
 	return END_OF_LINE;
 }
-#line 2844 "Zend/zend_ini_scanner.c"
+#line 2850 "Zend/zend_ini_scanner.c"
 yy243:
 		YYDEBUG(243, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -2858,7 +2864,7 @@
 		{ /* Boolean operators */
 	return yytext[0];
 }
-#line 2862 "Zend/zend_ini_scanner.c"
+#line 2868 "Zend/zend_ini_scanner.c"
 yy246:
 		YYDEBUG(246, *YYCURSOR);
 		++YYCURSOR;
@@ -2870,7 +2876,7 @@
 	yy_push_state(ST_DOUBLE_QUOTES TSRMLS_CC);
 	return '"';
 }
-#line 2874 "Zend/zend_ini_scanner.c"
+#line 2880 "Zend/zend_ini_scanner.c"
 yy248:
 		YYDEBUG(248, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -2950,7 +2956,7 @@
 		{ /* Get number option value as string */
 	RETURN_TOKEN(TC_NUMBER, yytext, yyleng);
 }
-#line 2954 "Zend/zend_ini_scanner.c"
+#line 2960 "Zend/zend_ini_scanner.c"
 yy254:
 		YYDEBUG(254, *YYCURSOR);
 		yyaccept = 2;
@@ -2967,7 +2973,7 @@
 	BEGIN(INITIAL);
 	return END_OF_LINE;
 }
-#line 2971 "Zend/zend_ini_scanner.c"
+#line 2977 "Zend/zend_ini_scanner.c"
 yy257:
 		YYDEBUG(257, *YYCURSOR);
 		yyaccept = 4;
@@ -3007,7 +3013,7 @@
 		{ /* Get constant option value */
 	RETURN_TOKEN(TC_CONSTANT, yytext, yyleng);
 }
-#line 3011 "Zend/zend_ini_scanner.c"
+#line 3017 "Zend/zend_ini_scanner.c"
 yy259:
 		YYDEBUG(259, *YYCURSOR);
 		yyaccept = 4;
@@ -3407,13 +3413,13 @@
 		YYCURSOR = YYMARKER;
 		if (yyaccept <= 3) {
 			if (yyaccept <= 1) {
-				if (yyaccept == 0) {
+				if (yyaccept <= 0) {
 					goto yy238;
 				} else {
 					goto yy240;
 				}
 			} else {
-				if (yyaccept == 2) {
+				if (yyaccept <= 2) {
 					goto yy236;
 				} else {
 					goto yy253;
@@ -3421,7 +3427,7 @@
 			}
 		} else {
 			if (yyaccept <= 5) {
-				if (yyaccept == 4) {
+				if (yyaccept <= 4) {
 					goto yy258;
 				} else {
 					goto yy275;
@@ -3503,7 +3509,7 @@
 		{ /* TRUE value (when used outside option value/offset this causes parse error!) */
 	RETURN_TOKEN(BOOL_TRUE, "1", 1);
 }
-#line 3507 "Zend/zend_ini_scanner.c"
+#line 3513 "Zend/zend_ini_scanner.c"
 yy276:
 		YYDEBUG(276, *YYCURSOR);
 		++YYCURSOR;
@@ -3707,7 +3713,7 @@
 		{ /* FALSE value (when used outside option value/offset this causes parse error!)*/
 	RETURN_TOKEN(BOOL_FALSE, "", 0);
 }
-#line 3711 "Zend/zend_ini_scanner.c"
+#line 3717 "Zend/zend_ini_scanner.c"
 yy283:
 		YYDEBUG(283, *YYCURSOR);
 		++YYCURSOR;
@@ -4089,7 +4095,7 @@
 	SCNG(lineno)++;
 	return END_OF_LINE;
 }
-#line 4093 "Zend/zend_ini_scanner.c"
+#line 4099 "Zend/zend_ini_scanner.c"
 yy296:
 		YYDEBUG(296, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -4310,7 +4316,7 @@
 	}
 	RETURN_TOKEN(TC_RAW, yytext, yyleng);
 }
-#line 4314 "Zend/zend_ini_scanner.c"
+#line 4320 "Zend/zend_ini_scanner.c"
 yy309:
 		YYDEBUG(309, *YYCURSOR);
 		++YYCURSOR;
@@ -4321,7 +4327,7 @@
 	yy_push_state(ST_VARNAME TSRMLS_CC);
 	return TC_DOLLAR_CURLY;
 }
-#line 4325 "Zend/zend_ini_scanner.c"
+#line 4331 "Zend/zend_ini_scanner.c"
 yy311:
 		YYDEBUG(311, *YYCURSOR);
 		++YYCURSOR;
@@ -4411,43 +4417,48 @@
 		YYDEBUG(318, *YYCURSOR);
 		YYFILL(2);
 		yych = *YYCURSOR;
-		if (yych <= '^') {
-			if (yych <= '9') {
-				if (yych >= '0') goto yy322;
-			} else {
-				if (yych <= '@') goto yy320;
-				if (yych <= 'Z') goto yy322;
+		if (yych <= '@') {
+			if (yych <= ',') {
+				if (yych == '*') goto yy323;
+				goto yy321;
+			} else {
+				if (yych == '/') goto yy321;
+				if (yych <= '9') goto yy323;
+				goto yy321;
 			}
 		} else {
-			if (yych <= 'z') {
-				if (yych != '`') goto yy322;
+			if (yych <= '`') {
+				if (yych <= 'Z') goto yy323;
+				if (yych == '_') goto yy323;
+				goto yy321;
 			} else {
+				if (yych <= 'z') goto yy323;
 				if (yych == '}') goto yy324;
+				goto yy321;
 			}
 		}
 yy320:
 		YYDEBUG(320, *YYCURSOR);
-		++YYCURSOR;
+		yyleng = YYCURSOR - SCNG(yy_text);
+#line 372 "Zend/zend_ini_scanner.l"
+		{ /* Variable name */
+	RETURN_TOKEN(TC_VARNAME, yytext, yyleng);
+}
+#line 4448 "Zend/zend_ini_scanner.c"
+yy321:
 		YYDEBUG(321, *YYCURSOR);
+		++YYCURSOR;
+		YYDEBUG(322, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
 #line 502 "Zend/zend_ini_scanner.l"
 		{
 	return 0;
 }
-#line 4438 "Zend/zend_ini_scanner.c"
-yy322:
-		YYDEBUG(322, *YYCURSOR);
-		++YYCURSOR;
-		yych = *YYCURSOR;
-		goto yy327;
+#line 4458 "Zend/zend_ini_scanner.c"
 yy323:
 		YYDEBUG(323, *YYCURSOR);
-		yyleng = YYCURSOR - SCNG(yy_text);
-#line 372 "Zend/zend_ini_scanner.l"
-		{ /* Variable name */
-	RETURN_TOKEN(TC_VARNAME, yytext, yyleng);
-}
-#line 4451 "Zend/zend_ini_scanner.c"
+		yych = *++YYCURSOR;
+		goto yy327;
 yy324:
 		YYDEBUG(324, *YYCURSOR);
 		++YYCURSOR;
@@ -4458,7 +4469,7 @@
 	yy_pop_state(TSRMLS_C);
 	return '}';
 }
-#line 4462 "Zend/zend_ini_scanner.c"
+#line 4473 "Zend/zend_ini_scanner.c"
 yy326:
 		YYDEBUG(326, *YYCURSOR);
 		++YYCURSOR;
@@ -4469,7 +4480,7 @@
 		if (yybm[0+yych] & 128) {
 			goto yy326;
 		}
-		goto yy323;
+		goto yy320;
 	}
 }
 #line 506 "Zend/zend_ini_scanner.l"
http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_ini_scanner.l?r1=1.41.2.2.2.2.2.16&r2=1.41.2.2.2.2.2.17&diff_format=u
Index: ZendEngine2/zend_ini_scanner.l
diff -u ZendEngine2/zend_ini_scanner.l:1.41.2.2.2.2.2.16 ZendEngine2/zend_ini_scanner.l:1.41.2.2.2.2.2.17
--- ZendEngine2/zend_ini_scanner.l:1.41.2.2.2.2.2.16	Mon Feb  2 19:23:13 2009
+++ ZendEngine2/zend_ini_scanner.l	Tue May 19 15:59:36 2009
@@ -20,7 +20,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_ini_scanner.l,v 1.41.2.2.2.2.2.16 2009/02/02 19:23:13 nlopess Exp $ */
+/* $Id: zend_ini_scanner.l,v 1.41.2.2.2.2.2.17 2009/05/19 15:59:36 shire Exp $ */
 
 #include <errno.h>
 #include "zend.h"
@@ -308,7 +308,7 @@
 TABS_AND_SPACES [ \t]
 WHITESPACE [ \t]+
 CONSTANT [a-zA-Z][a-zA-Z0-9_]*
-LABEL [a-zA-Z0-9_][a-zA-Z0-9*._-]*
+LABEL [a-zA-Z0-9*._-]*
 TOKENS [:,.\[\]"'()|^&+-/*=%$!~<>?@{}]
 OPERATORS [&|~()!]
 DOLLAR_CURLY "${"
http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_ini_scanner_defs.h?r1=1.1.2.14&r2=1.1.2.15&diff_format=u
Index: ZendEngine2/zend_ini_scanner_defs.h
diff -u ZendEngine2/zend_ini_scanner_defs.h:1.1.2.14 ZendEngine2/zend_ini_scanner_defs.h:1.1.2.15
--- ZendEngine2/zend_ini_scanner_defs.h:1.1.2.14	Sat Feb 14 21:20:14 2009
+++ ZendEngine2/zend_ini_scanner_defs.h	Tue May 19 15:59:36 2009
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.13.6.dev on Mon Feb  2 19:23:18 2009 */
+/* Generated by re2c 0.13.5 on Tue May 19 08:53:54 2009 */
 #line 3 "Zend/zend_ini_scanner_defs.h"
 
 enum YYCONDTYPE {


--shire1242748776
Content-Type: text/plain; charset=us-ascii

-- 
Zend Engine CVS Mailing List (http://cvs.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
--shire1242748776--