felipe Fri, 09 Jul 2010 14:16:37 +0000 Revision: http://svn.php.net/viewvc?view=revision&revision=301132
Log: - Fixed array crashing Changed paths: U php/php-src/branches/LEMON/Zend/zend_language_parser.y Modified: php/php-src/branches/LEMON/Zend/zend_language_parser.y =================================================================== --- php/php-src/branches/LEMON/Zend/zend_language_parser.y 2010-07-09 14:12:40 UTC (rev 301131) +++ php/php-src/branches/LEMON/Zend/zend_language_parser.y 2010-07-09 14:16:37 UTC (rev 301132) @@ -1677,12 +1677,12 @@ // | '&' w_variable { zend_do_init_array(&$$, &$2, NULL, 1 TSRMLS_CC); } //; -non_empty_array_pair_list(A) ::= non_empty_array_pair_list COMMA expr(B) DOUBLE_ARROW expr(C). { zend_do_add_array_element(&A, &C, &B, 0 TSRMLS_CC); } -non_empty_array_pair_list(A) ::= non_empty_array_pair_list COMMA expr(B). { zend_do_add_array_element(&A, &B, NULL, 0 TSRMLS_CC); } +non_empty_array_pair_list(A) ::= non_empty_array_pair_list(B) COMMA expr(C) DOUBLE_ARROW expr(D). { zend_do_add_array_element(&B, &D, &C, 0 TSRMLS_CC); A = B; } +non_empty_array_pair_list(A) ::= non_empty_array_pair_list(B) COMMA expr(C). { zend_do_add_array_element(&B, &C, NULL, 0 TSRMLS_CC); A = B; } non_empty_array_pair_list(A) ::= expr(B) DOUBLE_ARROW expr(C). { zend_do_init_array(&A, &C, &B, 0 TSRMLS_CC); } non_empty_array_pair_list(A) ::= expr(B). { zend_do_init_array(&A, &B, NULL, 0 TSRMLS_CC); } -non_empty_array_pair_list(A) ::= non_empty_array_pair_list COMMA expr(B) DOUBLE_ARROW BW_AND w_variable(C). { zend_do_add_array_element(&A, &C, &B, 1 TSRMLS_CC); } -non_empty_array_pair_list(A) ::= non_empty_array_pair_list COMMA BW_AND w_variable(B). { zend_do_add_array_element(&A, &B, NULL, 1 TSRMLS_CC); } +non_empty_array_pair_list(A) ::= non_empty_array_pair_list(B) COMMA expr(C) DOUBLE_ARROW BW_AND w_variable(D). { zend_do_add_array_element(&B, &D, &C, 1 TSRMLS_CC); A = B; } +non_empty_array_pair_list(A) ::= non_empty_array_pair_list(B) COMMA BW_AND w_variable(C). { zend_do_add_array_element(&B, &C, NULL, 1 TSRMLS_CC); A = B; } non_empty_array_pair_list(A) ::= expr(B) DOUBLE_ARROW BW_AND w_variable(C). { zend_do_init_array(&A, &C, &B, 1 TSRMLS_CC); } non_empty_array_pair_list(A) ::= BW_AND w_variable(B). { zend_do_init_array(&A, &B, NULL, 1 TSRMLS_CC); }
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php