cvs: ZendEngine2 / zend_ini_scanner.c zend_ini_scanner.l zend_ini_scanner_defs.h

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

shire		Tue May 19 15:59:25 2009 UTC

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

http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_ini_scanner.c?r1=1.12&r2=1.13&diff_format=u
Index: ZendEngine2/zend_ini_scanner.c
diff -u ZendEngine2/zend_ini_scanner.c:1.12 ZendEngine2/zend_ini_scanner.c:1.13
--- ZendEngine2/zend_ini_scanner.c:1.12	Mon Feb  2 19:31:53 2009
+++ ZendEngine2/zend_ini_scanner.c	Tue May 19 15:59:25 2009
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.13.6.dev on Mon Feb  2 19:30:53 2009 */
+/* Generated by re2c 0.13.5 on Tue May 19 08:46:59 2009 */
 #line 1 "Zend/zend_ini_scanner.l"
 /*
    +----------------------------------------------------------------------+
@@ -22,7 +22,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_ini_scanner.c,v 1.12 2009/02/02 19:31:53 nlopess Exp $ */
+/* $Id: zend_ini_scanner.c,v 1.13 2009/05/19 15:59:25 shire Exp $ */
 
 #include <errno.h>
 #include "zend.h"
@@ -340,21 +340,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, 
@@ -372,7 +372,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);
@@ -389,11 +390,8 @@
 		case '\'':
 		case '(':
 		case ')':
-		case '*':
 		case '+':
 		case ',':
-		case '-':
-		case '.':
 		case '/':
 		case ':':
 		case '<':
@@ -406,6 +404,9 @@
 		case '|':
 		case '}':
 		case '~':	goto yy10;
+		case '*':
+		case '-':
+		case '.':	goto yy12;
 		case '0':
 		case '1':
 		case '2':
@@ -458,7 +459,7 @@
 		case 'v':
 		case 'w':
 		case 'x':
-		case 'z':	goto yy12;
+		case 'z':	goto yy13;
 		case ';':	goto yy14;
 		case '=':	goto yy15;
 		case 'F':
@@ -474,6 +475,14 @@
 		case '[':	goto yy22;
 		default:	goto yy3;
 		}
+yy2:
+		YYDEBUG(2, *YYCURSOR);
+		yyleng = YYCURSOR - SCNG(yy_text);
+#line 391 "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,20 +533,15 @@
 		{ /* 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);
-		++YYCURSOR;
-		yych = *YYCURSOR;
-		goto yy25;
+		yych = *++YYCURSOR;
+		goto yy28;
 yy13:
 		YYDEBUG(13, *YYCURSOR);
-		yyleng = YYCURSOR - SCNG(yy_text);
-#line 391 "Zend/zend_ini_scanner.l"
-		{ /* Get option name */
-	RETURN_TOKEN(TC_LABEL, yytext, yyleng);
-}
-#line 541 "Zend/zend_ini_scanner.c"
+		yych = *++YYCURSOR;
+		goto yy28;
 yy14:
 		YYDEBUG(14, *YYCURSOR);
 		yyaccept = 1;
@@ -560,27 +564,27 @@
 	}
 	return '=';
 }
-#line 564 "Zend/zend_ini_scanner.c"
+#line 568 "Zend/zend_ini_scanner.c"
 yy17:
 		YYDEBUG(17, *YYCURSOR);
 		yych = *++YYCURSOR;
 		if (yych == 'A') goto yy45;
 		if (yych == 'a') goto yy45;
-		goto yy25;
+		goto yy28;
 yy18:
 		YYDEBUG(18, *YYCURSOR);
 		yych = *++YYCURSOR;
 		if (yych <= 'U') {
 			if (yych == 'O') goto yy41;
-			if (yych <= 'T') goto yy25;
+			if (yych <= 'T') goto yy28;
 			goto yy42;
 		} else {
 			if (yych <= 'o') {
-				if (yych <= 'n') goto yy25;
+				if (yych <= 'n') goto yy28;
 				goto yy41;
 			} else {
 				if (yych == 'u') goto yy42;
-				goto yy25;
+				goto yy28;
 			}
 		}
 yy19:
@@ -588,15 +592,15 @@
 		yych = *++YYCURSOR;
 		if (yych <= 'N') {
 			if (yych == 'F') goto yy36;
-			if (yych <= 'M') goto yy25;
+			if (yych <= 'M') goto yy28;
 			goto yy30;
 		} else {
 			if (yych <= 'f') {
-				if (yych <= 'e') goto yy25;
+				if (yych <= 'e') goto yy28;
 				goto yy36;
 			} else {
 				if (yych == 'n') goto yy30;
-				goto yy25;
+				goto yy28;
 			}
 		}
 yy20:
@@ -604,16 +608,19 @@
 		yych = *++YYCURSOR;
 		if (yych == 'R') goto yy34;
 		if (yych == 'r') goto yy34;
-		goto yy25;
+		goto yy28;
 yy21:
 		YYDEBUG(21, *YYCURSOR);
 		yych = *++YYCURSOR;
-		if (yych == 'E') goto yy26;
-		if (yych == 'e') goto yy26;
-		goto yy25;
+		if (yych == 'E') goto yy29;
+		if (yych == 'e') goto yy29;
+		goto yy28;
 yy22:
 		YYDEBUG(22, *YYCURSOR);
 		++YYCURSOR;
+		if (yybm[0+(yych = *YYCURSOR)] & 32) {
+			goto yy24;
+		}
 		YYDEBUG(23, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
 #line 329 "Zend/zend_ini_scanner.l"
@@ -626,35 +633,17 @@
 	}
 	return TC_SECTION;
 }
-#line 630 "Zend/zend_ini_scanner.c"
+#line 637 "Zend/zend_ini_scanner.c"
 yy24:
 		YYDEBUG(24, *YYCURSOR);
 		++YYCURSOR;
 		YYFILL(1);
 		yych = *YYCURSOR;
-yy25:
 		YYDEBUG(25, *YYCURSOR);
 		if (yybm[0+yych] & 32) {
 			goto yy24;
 		}
-		if (yych == '[') goto yy27;
-		goto yy13;
-yy26:
 		YYDEBUG(26, *YYCURSOR);
-		yych = *++YYCURSOR;
-		if (yych == 'S') goto yy30;
-		if (yych == 's') goto yy30;
-		goto yy25;
-yy27:
-		YYDEBUG(27, *YYCURSOR);
-		++YYCURSOR;
-		YYFILL(1);
-		yych = *YYCURSOR;
-		YYDEBUG(28, *YYCURSOR);
-		if (yybm[0+yych] & 64) {
-			goto yy27;
-		}
-		YYDEBUG(29, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
 #line 354 "Zend/zend_ini_scanner.l"
 		{ /* Start of option with offset */
@@ -666,14 +655,31 @@
 
 	RETURN_TOKEN(TC_OFFSET, yytext, yyleng);
 }
-#line 670 "Zend/zend_ini_scanner.c"
+#line 659 "Zend/zend_ini_scanner.c"
+yy27:
+		YYDEBUG(27, *YYCURSOR);
+		++YYCURSOR;
+		YYFILL(1);
+		yych = *YYCURSOR;
+yy28:
+		YYDEBUG(28, *YYCURSOR);
+		if (yybm[0+yych] & 64) {
+			goto yy27;
+		}
+		if (yych == '[') goto yy24;
+		goto yy2;
+yy29:
+		YYDEBUG(29, *YYCURSOR);
+		yych = *++YYCURSOR;
+		if (yych == 'S') goto yy30;
+		if (yych != 's') goto yy28;
 yy30:
 		YYDEBUG(30, *YYCURSOR);
 		++YYCURSOR;
-		if (yybm[0+(yych = *YYCURSOR)] & 32) {
-			goto yy24;
+		if (yybm[0+(yych = *YYCURSOR)] & 64) {
+			goto yy27;
 		}
-		if (yych == '[') goto yy27;
+		if (yych == '[') goto yy24;
 		goto yy33;
 yy31:
 		YYDEBUG(31, *YYCURSOR);
@@ -682,7 +688,7 @@
 		{ /* TRUE value (when used outside option value/offset this causes parse error!) */
 	RETURN_TOKEN(BOOL_TRUE, "1", 1);
 }
-#line 686 "Zend/zend_ini_scanner.c"
+#line 692 "Zend/zend_ini_scanner.c"
 yy32:
 		YYDEBUG(32, *YYCURSOR);
 		++YYCURSOR;
@@ -697,25 +703,25 @@
 		YYDEBUG(34, *YYCURSOR);
 		yych = *++YYCURSOR;
 		if (yych == 'U') goto yy35;
-		if (yych != 'u') goto yy25;
+		if (yych != 'u') goto yy28;
 yy35:
 		YYDEBUG(35, *YYCURSOR);
 		yych = *++YYCURSOR;
 		if (yych == 'E') goto yy30;
 		if (yych == 'e') goto yy30;
-		goto yy25;
+		goto yy28;
 yy36:
 		YYDEBUG(36, *YYCURSOR);
 		yych = *++YYCURSOR;
 		if (yych == 'F') goto yy37;
-		if (yych != 'f') goto yy25;
+		if (yych != 'f') goto yy28;
 yy37:
 		YYDEBUG(37, *YYCURSOR);
 		++YYCURSOR;
-		if (yybm[0+(yych = *YYCURSOR)] & 32) {
-			goto yy24;
+		if (yybm[0+(yych = *YYCURSOR)] & 64) {
+			goto yy27;
 		}
-		if (yych == '[') goto yy27;
+		if (yych == '[') goto yy24;
 		goto yy40;
 yy38:
 		YYDEBUG(38, *YYCURSOR);
@@ -724,7 +730,7 @@
 		{ /* FALSE value (when used outside option value/offset this causes parse error!)*/
 	RETURN_TOKEN(BOOL_FALSE, "", 0);
 }
-#line 728 "Zend/zend_ini_scanner.c"
+#line 734 "Zend/zend_ini_scanner.c"
 yy39:
 		YYDEBUG(39, *YYCURSOR);
 		++YYCURSOR;
@@ -740,32 +746,32 @@
 		yych = *++YYCURSOR;
 		if (yych <= 'N') {
 			if (yych <= '.') {
-				if (yych == '*') goto yy24;
+				if (yych == '*') goto yy27;
 				if (yych <= ',') goto yy40;
-				goto yy24;
+				goto yy27;
 			} else {
 				if (yych <= '9') {
 					if (yych <= '/') goto yy40;
-					goto yy24;
+					goto yy27;
 				} else {
 					if (yych <= '@') goto yy40;
-					if (yych <= 'M') goto yy24;
+					if (yych <= 'M') goto yy27;
 					goto yy44;
 				}
 			}
 		} else {
 			if (yych <= '_') {
-				if (yych <= 'Z') goto yy24;
-				if (yych <= '[') goto yy27;
+				if (yych <= 'Z') goto yy27;
+				if (yych <= '[') goto yy24;
 				if (yych <= '^') goto yy40;
-				goto yy24;
+				goto yy27;
 			} else {
 				if (yych <= 'm') {
 					if (yych <= '`') goto yy40;
-					goto yy24;
+					goto yy27;
 				} else {
 					if (yych <= 'n') goto yy44;
-					if (yych <= 'z') goto yy24;
+					if (yych <= 'z') goto yy27;
 					goto yy40;
 				}
 			}
@@ -774,35 +780,35 @@
 		YYDEBUG(42, *YYCURSOR);
 		yych = *++YYCURSOR;
 		if (yych == 'L') goto yy43;
-		if (yych != 'l') goto yy25;
+		if (yych != 'l') goto yy28;
 yy43:
 		YYDEBUG(43, *YYCURSOR);
 		yych = *++YYCURSOR;
 		if (yych == 'L') goto yy37;
 		if (yych == 'l') goto yy37;
-		goto yy25;
+		goto yy28;
 yy44:
 		YYDEBUG(44, *YYCURSOR);
 		yych = *++YYCURSOR;
 		if (yych == 'E') goto yy37;
 		if (yych == 'e') goto yy37;
-		goto yy25;
+		goto yy28;
 yy45:
 		YYDEBUG(45, *YYCURSOR);
 		yych = *++YYCURSOR;
 		if (yych == 'L') goto yy46;
-		if (yych != 'l') goto yy25;
+		if (yych != 'l') goto yy28;
 yy46:
 		YYDEBUG(46, *YYCURSOR);
 		yych = *++YYCURSOR;
 		if (yych == 'S') goto yy47;
-		if (yych != 's') goto yy25;
+		if (yych != 's') goto yy28;
 yy47:
 		YYDEBUG(47, *YYCURSOR);
 		yych = *++YYCURSOR;
 		if (yych == 'E') goto yy37;
 		if (yych == 'e') goto yy37;
-		goto yy25;
+		goto yy28;
 yy48:
 		YYDEBUG(48, *YYCURSOR);
 		++YYCURSOR;
@@ -836,7 +842,7 @@
 	SCNG(lineno)++;
 	return END_OF_LINE;
 }
-#line 840 "Zend/zend_ini_scanner.c"
+#line 846 "Zend/zend_ini_scanner.c"
 yy54:
 		YYDEBUG(54, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -939,7 +945,7 @@
 	zend_ini_escape_string(ini_lval, yytext, yyleng, '"' TSRMLS_CC);
 	return TC_QUOTED_STRING;
 }
-#line 943 "Zend/zend_ini_scanner.c"
+#line 949 "Zend/zend_ini_scanner.c"
 yy63:
 		YYDEBUG(63, *YYCURSOR);
 		++YYCURSOR;
@@ -953,7 +959,7 @@
 	yy_pop_state(TSRMLS_C);
 	return '"';
 }
-#line 957 "Zend/zend_ini_scanner.c"
+#line 963 "Zend/zend_ini_scanner.c"
 yy65:
 		YYDEBUG(65, *YYCURSOR);
 		++YYCURSOR;
@@ -972,7 +978,7 @@
 		{
 	return 0;
 }
-#line 976 "Zend/zend_ini_scanner.c"
+#line 982 "Zend/zend_ini_scanner.c"
 yy67:
 		YYDEBUG(67, *YYCURSOR);
 		yyaccept = 1;
@@ -985,7 +991,7 @@
 yy69:
 		YYDEBUG(69, *YYCURSOR);
 		YYCURSOR = YYMARKER;
-		if (yyaccept == 0) {
+		if (yyaccept <= 0) {
 			goto yy62;
 		} else {
 			goto yy66;
@@ -1093,7 +1099,7 @@
 	yy_push_state(ST_VARNAME TSRMLS_CC);
 	return TC_DOLLAR_CURLY;
 }
-#line 1097 "Zend/zend_ini_scanner.c"
+#line 1103 "Zend/zend_ini_scanner.c"
 yy84:
 		YYDEBUG(84, *YYCURSOR);
 		++YYCURSOR;
@@ -1196,7 +1202,7 @@
 		{ /* Get rest as section/offset value */
 	RETURN_TOKEN(TC_STRING, yytext, yyleng);
 }
-#line 1200 "Zend/zend_ini_scanner.c"
+#line 1206 "Zend/zend_ini_scanner.c"
 yy90:
 		YYDEBUG(90, *YYCURSOR);
 		yyaccept = 0;
@@ -1217,7 +1223,7 @@
 		{
 	return 0;
 }
-#line 1221 "Zend/zend_ini_scanner.c"
+#line 1227 "Zend/zend_ini_scanner.c"
 yy93:
 		YYDEBUG(93, *YYCURSOR);
 		++YYCURSOR;
@@ -1229,7 +1235,7 @@
 	yy_push_state(ST_DOUBLE_QUOTES TSRMLS_CC);
 	return '"';
 }
-#line 1233 "Zend/zend_ini_scanner.c"
+#line 1239 "Zend/zend_ini_scanner.c"
 yy95:
 		YYDEBUG(95, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -1295,7 +1301,7 @@
 		{ /* Get number option value as string */
 	RETURN_TOKEN(TC_NUMBER, yytext, yyleng);
 }
-#line 1299 "Zend/zend_ini_scanner.c"
+#line 1305 "Zend/zend_ini_scanner.c"
 yy101:
 		YYDEBUG(101, *YYCURSOR);
 		yyaccept = 3;
@@ -1325,7 +1331,7 @@
 		{ /* Get constant option value */
 	RETURN_TOKEN(TC_CONSTANT, yytext, yyleng);
 }
-#line 1329 "Zend/zend_ini_scanner.c"
+#line 1335 "Zend/zend_ini_scanner.c"
 yy103:
 		YYDEBUG(103, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -1341,7 +1347,7 @@
 	BEGIN(INITIAL);
 	return ']';
 }
-#line 1345 "Zend/zend_ini_scanner.c"
+#line 1351 "Zend/zend_ini_scanner.c"
 yy106:
 		YYDEBUG(106, *YYCURSOR);
 		yyaccept = 0;
@@ -1377,13 +1383,13 @@
 		YYDEBUG(110, *YYCURSOR);
 		YYCURSOR = YYMARKER;
 		if (yyaccept <= 1) {
-			if (yyaccept == 0) {
+			if (yyaccept <= 0) {
 				goto yy89;
 			} else {
 				goto yy92;
 			}
 		} else {
-			if (yyaccept == 2) {
+			if (yyaccept <= 2) {
 				goto yy100;
 			} else {
 				goto yy102;
@@ -1640,7 +1646,7 @@
 	}
 	RETURN_TOKEN(TC_RAW, yytext, yyleng);
 }
-#line 1644 "Zend/zend_ini_scanner.c"
+#line 1650 "Zend/zend_ini_scanner.c"
 yy131:
 		YYDEBUG(131, *YYCURSOR);
 		++YYCURSOR;
@@ -1651,7 +1657,7 @@
 	yy_push_state(ST_VARNAME TSRMLS_CC);
 	return TC_DOLLAR_CURLY;
 }
-#line 1655 "Zend/zend_ini_scanner.c"
+#line 1661 "Zend/zend_ini_scanner.c"
 yy133:
 		YYDEBUG(133, *YYCURSOR);
 		yyaccept = 0;
@@ -1767,7 +1773,7 @@
 	}
 	RETURN_TOKEN(TC_RAW, yytext, yyleng);
 }
-#line 1771 "Zend/zend_ini_scanner.c"
+#line 1777 "Zend/zend_ini_scanner.c"
 yy141:
 		YYDEBUG(141, *YYCURSOR);
 		yyaccept = 0;
@@ -1795,7 +1801,7 @@
 	SCNG(lineno)++;
 	return END_OF_LINE;
 }
-#line 1799 "Zend/zend_ini_scanner.c"
+#line 1805 "Zend/zend_ini_scanner.c"
 yy144:
 		YYDEBUG(144, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -1814,7 +1820,7 @@
 	BEGIN(INITIAL);
 	return END_OF_LINE;
 }
-#line 1818 "Zend/zend_ini_scanner.c"
+#line 1824 "Zend/zend_ini_scanner.c"
 yy147:
 		YYDEBUG(147, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -1842,7 +1848,7 @@
 	SCNG(lineno)++;
 	return END_OF_LINE;
 }
-#line 1846 "Zend/zend_ini_scanner.c"
+#line 1852 "Zend/zend_ini_scanner.c"
 yy152:
 		YYDEBUG(152, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -1948,7 +1954,7 @@
 		{ /* Raw value, only used when SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW. */
 	RETURN_TOKEN(TC_RAW, yytext, yyleng);
 }
-#line 1952 "Zend/zend_ini_scanner.c"
+#line 1958 "Zend/zend_ini_scanner.c"
 yy163:
 		YYDEBUG(163, *YYCURSOR);
 		++YYCURSOR;
@@ -1958,7 +1964,7 @@
 		{
 	return 0;
 }
-#line 1962 "Zend/zend_ini_scanner.c"
+#line 1968 "Zend/zend_ini_scanner.c"
 yy165:
 		YYDEBUG(165, *YYCURSOR);
 		++YYCURSOR;
@@ -1973,7 +1979,7 @@
 	SCNG(lineno)++;
 	return ']';
 }
-#line 1977 "Zend/zend_ini_scanner.c"
+#line 1983 "Zend/zend_ini_scanner.c"
 yy167:
 		YYDEBUG(167, *YYCURSOR);
 		++YYCURSOR;
@@ -2098,7 +2104,7 @@
 		{ /* Get rest as section/offset value */
 	RETURN_TOKEN(TC_STRING, yytext, yyleng);
 }
-#line 2102 "Zend/zend_ini_scanner.c"
+#line 2108 "Zend/zend_ini_scanner.c"
 yy177:
 		YYDEBUG(177, *YYCURSOR);
 		yyaccept = 0;
@@ -2121,7 +2127,7 @@
 		{
 	return 0;
 }
-#line 2125 "Zend/zend_ini_scanner.c"
+#line 2131 "Zend/zend_ini_scanner.c"
 yy180:
 		YYDEBUG(180, *YYCURSOR);
 		++YYCURSOR;
@@ -2133,7 +2139,7 @@
 	yy_push_state(ST_DOUBLE_QUOTES TSRMLS_CC);
 	return '"';
 }
-#line 2137 "Zend/zend_ini_scanner.c"
+#line 2143 "Zend/zend_ini_scanner.c"
 yy182:
 		YYDEBUG(182, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -2199,7 +2205,7 @@
 		{ /* Get number option value as string */
 	RETURN_TOKEN(TC_NUMBER, yytext, yyleng);
 }
-#line 2203 "Zend/zend_ini_scanner.c"
+#line 2209 "Zend/zend_ini_scanner.c"
 yy188:
 		YYDEBUG(188, *YYCURSOR);
 		yyaccept = 3;
@@ -2229,7 +2235,7 @@
 		{ /* Get constant option value */
 	RETURN_TOKEN(TC_CONSTANT, yytext, yyleng);
 }
-#line 2233 "Zend/zend_ini_scanner.c"
+#line 2239 "Zend/zend_ini_scanner.c"
 yy190:
 		YYDEBUG(190, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -2248,7 +2254,7 @@
 	SCNG(lineno)++;
 	return ']';
 }
-#line 2252 "Zend/zend_ini_scanner.c"
+#line 2258 "Zend/zend_ini_scanner.c"
 yy193:
 		YYDEBUG(193, *YYCURSOR);
 		++YYCURSOR;
@@ -2306,13 +2312,13 @@
 		YYDEBUG(201, *YYCURSOR);
 		YYCURSOR = YYMARKER;
 		if (yyaccept <= 1) {
-			if (yyaccept == 0) {
+			if (yyaccept <= 0) {
 				goto yy176;
 			} else {
 				goto yy179;
 			}
 		} else {
-			if (yyaccept == 2) {
+			if (yyaccept <= 2) {
 				goto yy187;
 			} else {
 				goto yy189;
@@ -2569,7 +2575,7 @@
 	}
 	RETURN_TOKEN(TC_RAW, yytext, yyleng);
 }
-#line 2573 "Zend/zend_ini_scanner.c"
+#line 2579 "Zend/zend_ini_scanner.c"
 yy222:
 		YYDEBUG(222, *YYCURSOR);
 		++YYCURSOR;
@@ -2580,7 +2586,7 @@
 	yy_push_state(ST_VARNAME TSRMLS_CC);
 	return TC_DOLLAR_CURLY;
 }
-#line 2584 "Zend/zend_ini_scanner.c"
+#line 2590 "Zend/zend_ini_scanner.c"
 yy224:
 		YYDEBUG(224, *YYCURSOR);
 		yyaccept = 0;
@@ -2764,7 +2770,7 @@
 	BEGIN(INITIAL);
 	return END_OF_LINE;
 }
-#line 2768 "Zend/zend_ini_scanner.c"
+#line 2774 "Zend/zend_ini_scanner.c"
 yy231:
 		YYDEBUG(231, *YYCURSOR);
 		yyaccept = 0;
@@ -2777,7 +2783,7 @@
 		{ /* Get everything else as option/offset value */
 	RETURN_TOKEN(TC_STRING, yytext, yyleng);
 }
-#line 2781 "Zend/zend_ini_scanner.c"
+#line 2787 "Zend/zend_ini_scanner.c"
 yy233:
 		YYDEBUG(233, *YYCURSOR);
 		yyaccept = 1;
@@ -2790,7 +2796,7 @@
 		{
 	RETURN_TOKEN(TC_WHITESPACE, yytext, yyleng);
 }
-#line 2794 "Zend/zend_ini_scanner.c"
+#line 2800 "Zend/zend_ini_scanner.c"
 yy235:
 		YYDEBUG(235, *YYCURSOR);
 		++YYCURSOR;
@@ -2803,7 +2809,7 @@
 	SCNG(lineno)++;
 	return END_OF_LINE;
 }
-#line 2807 "Zend/zend_ini_scanner.c"
+#line 2813 "Zend/zend_ini_scanner.c"
 yy237:
 		YYDEBUG(237, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -2821,7 +2827,7 @@
 		{ /* Boolean operators */
 	return yytext[0];
 }
-#line 2825 "Zend/zend_ini_scanner.c"
+#line 2831 "Zend/zend_ini_scanner.c"
 yy240:
 		YYDEBUG(240, *YYCURSOR);
 		++YYCURSOR;
@@ -2833,7 +2839,7 @@
 	yy_push_state(ST_DOUBLE_QUOTES TSRMLS_CC);
 	return '"';
 }
-#line 2837 "Zend/zend_ini_scanner.c"
+#line 2843 "Zend/zend_ini_scanner.c"
 yy242:
 		YYDEBUG(242, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -2913,7 +2919,7 @@
 		{ /* Get number option value as string */
 	RETURN_TOKEN(TC_NUMBER, yytext, yyleng);
 }
-#line 2917 "Zend/zend_ini_scanner.c"
+#line 2923 "Zend/zend_ini_scanner.c"
 yy248:
 		YYDEBUG(248, *YYCURSOR);
 		yyaccept = 2;
@@ -2930,7 +2936,7 @@
 	BEGIN(INITIAL);
 	return END_OF_LINE;
 }
-#line 2934 "Zend/zend_ini_scanner.c"
+#line 2940 "Zend/zend_ini_scanner.c"
 yy251:
 		YYDEBUG(251, *YYCURSOR);
 		yyaccept = 4;
@@ -2970,7 +2976,7 @@
 		{ /* Get constant option value */
 	RETURN_TOKEN(TC_CONSTANT, yytext, yyleng);
 }
-#line 2974 "Zend/zend_ini_scanner.c"
+#line 2980 "Zend/zend_ini_scanner.c"
 yy253:
 		YYDEBUG(253, *YYCURSOR);
 		yyaccept = 4;
@@ -3370,13 +3376,13 @@
 		YYCURSOR = YYMARKER;
 		if (yyaccept <= 3) {
 			if (yyaccept <= 1) {
-				if (yyaccept == 0) {
+				if (yyaccept <= 0) {
 					goto yy232;
 				} else {
 					goto yy234;
 				}
 			} else {
-				if (yyaccept == 2) {
+				if (yyaccept <= 2) {
 					goto yy230;
 				} else {
 					goto yy247;
@@ -3384,7 +3390,7 @@
 			}
 		} else {
 			if (yyaccept <= 5) {
-				if (yyaccept == 4) {
+				if (yyaccept <= 4) {
 					goto yy252;
 				} else {
 					goto yy269;
@@ -3466,7 +3472,7 @@
 		{ /* TRUE value (when used outside option value/offset this causes parse error!) */
 	RETURN_TOKEN(BOOL_TRUE, "1", 1);
 }
-#line 3470 "Zend/zend_ini_scanner.c"
+#line 3476 "Zend/zend_ini_scanner.c"
 yy270:
 		YYDEBUG(270, *YYCURSOR);
 		++YYCURSOR;
@@ -3670,7 +3676,7 @@
 		{ /* FALSE value (when used outside option value/offset this causes parse error!)*/
 	RETURN_TOKEN(BOOL_FALSE, "", 0);
 }
-#line 3674 "Zend/zend_ini_scanner.c"
+#line 3680 "Zend/zend_ini_scanner.c"
 yy277:
 		YYDEBUG(277, *YYCURSOR);
 		++YYCURSOR;
@@ -4052,7 +4058,7 @@
 	SCNG(lineno)++;
 	return END_OF_LINE;
 }
-#line 4056 "Zend/zend_ini_scanner.c"
+#line 4062 "Zend/zend_ini_scanner.c"
 yy290:
 		YYDEBUG(290, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -4273,7 +4279,7 @@
 	}
 	RETURN_TOKEN(TC_RAW, yytext, yyleng);
 }
-#line 4277 "Zend/zend_ini_scanner.c"
+#line 4283 "Zend/zend_ini_scanner.c"
 yy303:
 		YYDEBUG(303, *YYCURSOR);
 		++YYCURSOR;
@@ -4284,7 +4290,7 @@
 	yy_push_state(ST_VARNAME TSRMLS_CC);
 	return TC_DOLLAR_CURLY;
 }
-#line 4288 "Zend/zend_ini_scanner.c"
+#line 4294 "Zend/zend_ini_scanner.c"
 yy305:
 		YYDEBUG(305, *YYCURSOR);
 		++YYCURSOR;
@@ -4374,43 +4380,48 @@
 		YYDEBUG(312, *YYCURSOR);
 		YYFILL(2);
 		yych = *YYCURSOR;
-		if (yych <= '^') {
-			if (yych <= '9') {
-				if (yych >= '0') goto yy316;
-			} else {
-				if (yych <= '@') goto yy314;
-				if (yych <= 'Z') goto yy316;
+		if (yych <= '@') {
+			if (yych <= ',') {
+				if (yych == '*') goto yy317;
+				goto yy315;
+			} else {
+				if (yych == '/') goto yy315;
+				if (yych <= '9') goto yy317;
+				goto yy315;
 			}
 		} else {
-			if (yych <= 'z') {
-				if (yych != '`') goto yy316;
+			if (yych <= '`') {
+				if (yych <= 'Z') goto yy317;
+				if (yych == '_') goto yy317;
+				goto yy315;
 			} else {
+				if (yych <= 'z') goto yy317;
 				if (yych == '}') goto yy318;
+				goto yy315;
 			}
 		}
 yy314:
 		YYDEBUG(314, *YYCURSOR);
-		++YYCURSOR;
+		yyleng = YYCURSOR - SCNG(yy_text);
+#line 374 "Zend/zend_ini_scanner.l"
+		{ /* Variable name */
+	RETURN_TOKEN(TC_VARNAME, yytext, yyleng);
+}
+#line 4411 "Zend/zend_ini_scanner.c"
+yy315:
 		YYDEBUG(315, *YYCURSOR);
+		++YYCURSOR;
+		YYDEBUG(316, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
 #line 497 "Zend/zend_ini_scanner.l"
 		{
 	return 0;
 }
-#line 4401 "Zend/zend_ini_scanner.c"
-yy316:
-		YYDEBUG(316, *YYCURSOR);
-		++YYCURSOR;
-		yych = *YYCURSOR;
-		goto yy321;
+#line 4421 "Zend/zend_ini_scanner.c"
 yy317:
 		YYDEBUG(317, *YYCURSOR);
-		yyleng = YYCURSOR - SCNG(yy_text);
-#line 374 "Zend/zend_ini_scanner.l"
-		{ /* Variable name */
-	RETURN_TOKEN(TC_VARNAME, yytext, yyleng);
-}
-#line 4414 "Zend/zend_ini_scanner.c"
+		yych = *++YYCURSOR;
+		goto yy321;
 yy318:
 		YYDEBUG(318, *YYCURSOR);
 		++YYCURSOR;
@@ -4421,7 +4432,7 @@
 	yy_pop_state(TSRMLS_C);
 	return '}';
 }
-#line 4425 "Zend/zend_ini_scanner.c"
+#line 4436 "Zend/zend_ini_scanner.c"
 yy320:
 		YYDEBUG(320, *YYCURSOR);
 		++YYCURSOR;
@@ -4432,7 +4443,7 @@
 		if (yybm[0+yych] & 128) {
 			goto yy320;
 		}
-		goto yy317;
+		goto yy314;
 	}
 }
 #line 501 "Zend/zend_ini_scanner.l"
http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_ini_scanner.l?r1=1.61&r2=1.62&diff_format=u
Index: ZendEngine2/zend_ini_scanner.l
diff -u ZendEngine2/zend_ini_scanner.l:1.61 ZendEngine2/zend_ini_scanner.l:1.62
--- ZendEngine2/zend_ini_scanner.l:1.61	Mon Feb  2 19:25:30 2009
+++ ZendEngine2/zend_ini_scanner.l	Tue May 19 15:59:25 2009
@@ -20,7 +20,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_ini_scanner.l,v 1.61 2009/02/02 19:25:30 nlopess Exp $ */
+/* $Id: zend_ini_scanner.l,v 1.62 2009/05/19 15:59:25 shire Exp $ */
 
 #include <errno.h>
 #include "zend.h"
@@ -309,7 +309,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.10&r2=1.11&diff_format=u
Index: ZendEngine2/zend_ini_scanner_defs.h
diff -u ZendEngine2/zend_ini_scanner_defs.h:1.10 ZendEngine2/zend_ini_scanner_defs.h:1.11
--- ZendEngine2/zend_ini_scanner_defs.h:1.10	Mon Feb  2 19:31:53 2009
+++ ZendEngine2/zend_ini_scanner_defs.h	Tue May 19 15:59:25 2009
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.13.6.dev on Mon Feb  2 19:30:53 2009 */
+/* Generated by re2c 0.13.5 on Tue May 19 08:46:59 2009 */
 #line 3 "Zend/zend_ini_scanner_defs.h"
 
 enum YYCONDTYPE {


--shire1242748765
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
--shire1242748765--