summaryrefslogtreecommitdiff
path: root/Zend
diff options
context:
space:
mode:
authorOndřej Surý <ondrej@sury.org>2010-03-09 11:57:54 +0100
committerOndřej Surý <ondrej@sury.org>2010-03-09 11:57:54 +0100
commit855a09f4eded707941180c9d90acd17c25e29447 (patch)
treea40947efaa9876f31b6ee3956c3f3775768143bb /Zend
parentc852c28a88fccf6e34a2cb091fdfa72bce2b59c7 (diff)
downloadphp-upstream/5.3.2.tar.gz
Imported Upstream version 5.3.2upstream/5.3.2
Diffstat (limited to 'Zend')
-rw-r--r--Zend/acconfig.h4
-rw-r--r--Zend/header4
-rw-r--r--Zend/tests/bug44827.phpt11
-rw-r--r--Zend/tests/bug47516.phpt2
-rw-r--r--Zend/tests/bug48667_1.phpt10
-rw-r--r--Zend/tests/bug48667_2.phpt10
-rw-r--r--Zend/tests/bug49472.phpt27
-rw-r--r--Zend/tests/bug49866.phpt10
-rw-r--r--Zend/tests/bug50005.phpt19
-rw-r--r--Zend/tests/bug50146.phpt20
-rw-r--r--Zend/tests/bug50174.phpt33
-rw-r--r--Zend/tests/bug50255.phpt30
-rw-r--r--Zend/tests/bug50261.phpt38
-rw-r--r--Zend/tests/bug50394.phpt24
-rw-r--r--Zend/tests/call_user_func_004.phpt18
-rw-r--r--Zend/tests/call_user_func_005.phpt35
-rw-r--r--Zend/tests/call_with_refs.phpt18
-rw-r--r--Zend/tests/closure_035.phpt31
-rw-r--r--Zend/tests/errmsg_025.phpt4
-rw-r--r--Zend/tests/inter_01.phpt2
-rw-r--r--Zend/tests/unset_cv05.phpt2
-rw-r--r--Zend/tests/unset_cv06.phpt2
-rw-r--r--Zend/zend.c6
-rw-r--r--Zend/zend.h13
-rw-r--r--Zend/zend_API.c64
-rw-r--r--Zend/zend_API.h4
-rw-r--r--Zend/zend_alloc.c57
-rw-r--r--Zend/zend_alloc.h4
-rwxr-xr-xZend/zend_build.h2
-rw-r--r--Zend/zend_builtin_functions.c33
-rw-r--r--Zend/zend_builtin_functions.h4
-rw-r--r--Zend/zend_closures.c8
-rw-r--r--Zend/zend_closures.h4
-rw-r--r--Zend/zend_compile.c32
-rw-r--r--Zend/zend_compile.h4
-rw-r--r--Zend/zend_config.nw.h4
-rw-r--r--Zend/zend_config.w32.h4
-rw-r--r--Zend/zend_constants.c4
-rw-r--r--Zend/zend_constants.h4
-rw-r--r--Zend/zend_default_classes.c4
-rw-r--r--Zend/zend_dynamic_array.c4
-rw-r--r--Zend/zend_dynamic_array.h4
-rw-r--r--Zend/zend_errors.h4
-rw-r--r--Zend/zend_exceptions.c4
-rw-r--r--Zend/zend_exceptions.h4
-rw-r--r--Zend/zend_execute.c8
-rw-r--r--Zend/zend_execute.h6
-rw-r--r--Zend/zend_execute_API.c13
-rw-r--r--Zend/zend_extensions.c28
-rw-r--r--Zend/zend_extensions.h4
-rw-r--r--Zend/zend_fast_cache.h4
-rw-r--r--Zend/zend_float.c4
-rw-r--r--Zend/zend_float.h4
-rw-r--r--Zend/zend_gc.c4
-rw-r--r--Zend/zend_gc.h4
-rw-r--r--Zend/zend_globals.h4
-rw-r--r--Zend/zend_globals_macros.h4
-rw-r--r--Zend/zend_hash.c4
-rw-r--r--Zend/zend_hash.h4
-rw-r--r--Zend/zend_highlight.c4
-rw-r--r--Zend/zend_highlight.h4
-rw-r--r--Zend/zend_indent.c4
-rw-r--r--Zend/zend_indent.h4
-rw-r--r--Zend/zend_ini.c4
-rw-r--r--Zend/zend_ini.h4
-rw-r--r--Zend/zend_ini_parser.c4
-rw-r--r--Zend/zend_ini_parser.y4
-rw-r--r--Zend/zend_ini_scanner.c3917
-rw-r--r--Zend/zend_ini_scanner.h4
-rw-r--r--Zend/zend_ini_scanner.l34
-rw-r--r--Zend/zend_ini_scanner_defs.h2
-rwxr-xr-xZend/zend_interfaces.c16
-rwxr-xr-xZend/zend_interfaces.h4
-rw-r--r--Zend/zend_istdiostream.h4
-rwxr-xr-xZend/zend_iterators.c4
-rwxr-xr-xZend/zend_iterators.h4
-rw-r--r--Zend/zend_language_parser.c4
-rw-r--r--Zend/zend_language_parser.y4
-rw-r--r--Zend/zend_language_scanner.c14
-rw-r--r--Zend/zend_language_scanner.h4
-rw-r--r--Zend/zend_language_scanner.l12
-rw-r--r--Zend/zend_language_scanner_defs.h2
-rw-r--r--Zend/zend_list.c4
-rw-r--r--Zend/zend_list.h4
-rw-r--r--Zend/zend_llist.c4
-rw-r--r--Zend/zend_llist.h4
-rw-r--r--Zend/zend_modules.h4
-rw-r--r--Zend/zend_multibyte.c4
-rw-r--r--Zend/zend_multibyte.h4
-rw-r--r--Zend/zend_multiply.h4
-rw-r--r--Zend/zend_object_handlers.c4
-rw-r--r--Zend/zend_object_handlers.h4
-rw-r--r--Zend/zend_objects.c4
-rw-r--r--Zend/zend_objects.h4
-rw-r--r--Zend/zend_objects_API.c4
-rw-r--r--Zend/zend_objects_API.h4
-rw-r--r--Zend/zend_opcode.c4
-rw-r--r--Zend/zend_operators.c10
-rw-r--r--Zend/zend_operators.h4
-rw-r--r--Zend/zend_ptr_stack.c4
-rw-r--r--Zend/zend_ptr_stack.h4
-rw-r--r--Zend/zend_qsort.c4
-rw-r--r--Zend/zend_qsort.h4
-rw-r--r--Zend/zend_sprintf.c4
-rw-r--r--Zend/zend_stack.c4
-rw-r--r--Zend/zend_stack.h4
-rw-r--r--Zend/zend_static_allocator.c4
-rw-r--r--Zend/zend_static_allocator.h4
-rw-r--r--Zend/zend_stream.c4
-rw-r--r--Zend/zend_stream.h4
-rw-r--r--Zend/zend_strtod.h4
-rw-r--r--Zend/zend_ts_hash.c4
-rw-r--r--Zend/zend_ts_hash.h4
-rw-r--r--Zend/zend_types.h4
-rw-r--r--Zend/zend_variables.c17
-rw-r--r--Zend/zend_variables.h9
-rw-r--r--Zend/zend_vm.h4
-rw-r--r--Zend/zend_vm_def.h12
-rw-r--r--Zend/zend_vm_execute.h54
-rw-r--r--Zend/zend_vm_gen.php6
-rw-r--r--Zend/zend_vm_opcodes.h2
121 files changed, 2816 insertions, 2207 deletions
diff --git a/Zend/acconfig.h b/Zend/acconfig.h
index bb949a6cb..75d1cd82e 100644
--- a/Zend/acconfig.h
+++ b/Zend/acconfig.h
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: acconfig.h 272370 2008-12-31 11:15:49Z sebastian $ */
+/* $Id: acconfig.h 293155 2010-01-05 20:46:53Z sebastian $ */
#if defined(__GNUC__) && __GNUC__ >= 4
# define ZEND_API __attribute__ ((visibility("default")))
diff --git a/Zend/header b/Zend/header
index 68bf97b36..868606211 100644
--- a/Zend/header
+++ b/Zend/header
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -16,4 +16,4 @@
+----------------------------------------------------------------------+
*/
-/* $Id: header 272619 2009-01-02 20:45:43Z felipe $ */
+/* $Id: header 294437 2010-02-03 18:47:13Z pajoye $ */
diff --git a/Zend/tests/bug44827.phpt b/Zend/tests/bug44827.phpt
new file mode 100644
index 000000000..a9f1d87d2
--- /dev/null
+++ b/Zend/tests/bug44827.phpt
@@ -0,0 +1,11 @@
+--TEST--
+Bug #44827 (define() allows :: in constant names)
+--FILE--
+<?php
+define('foo::bar', 1);
+define('::', 1);
+?>
+--EXPECTF--
+Warning: Class constants cannot be defined or redefined in %sbug44827.php on line %d
+
+Warning: Class constants cannot be defined or redefined in %sbug44827.php on line %d
diff --git a/Zend/tests/bug47516.phpt b/Zend/tests/bug47516.phpt
index 66304fe3b..a9a20710d 100644
--- a/Zend/tests/bug47516.phpt
+++ b/Zend/tests/bug47516.phpt
@@ -30,7 +30,7 @@ ppp
echo "$htm\n";
?>
---EXPECT---
+--EXPECT--
abc
abc
abc
diff --git a/Zend/tests/bug48667_1.phpt b/Zend/tests/bug48667_1.phpt
new file mode 100644
index 000000000..2d94aed2b
--- /dev/null
+++ b/Zend/tests/bug48667_1.phpt
@@ -0,0 +1,10 @@
+--TEST--
+Bug #48667 (Implementing both iterator and iteratoraggregate)
+--FILE--
+<?php
+
+abstract class A implements Iterator, IteratorAggregate { }
+
+?>
+--EXPECTF--
+Fatal error: Class A cannot implement both IteratorAggregate and Iterator at the same time in %s on line %d
diff --git a/Zend/tests/bug48667_2.phpt b/Zend/tests/bug48667_2.phpt
new file mode 100644
index 000000000..57cd5eb8b
--- /dev/null
+++ b/Zend/tests/bug48667_2.phpt
@@ -0,0 +1,10 @@
+--TEST--
+Bug #48667 (Implementing both iterator and iteratoraggregate)
+--FILE--
+<?php
+
+abstract class A implements IteratorAggregate, Iterator { }
+
+?>
+--EXPECTF--
+Fatal error: Class A cannot implement both Iterator and IteratorAggregate at the same time in %s on line %d
diff --git a/Zend/tests/bug49472.phpt b/Zend/tests/bug49472.phpt
new file mode 100644
index 000000000..1803d1848
--- /dev/null
+++ b/Zend/tests/bug49472.phpt
@@ -0,0 +1,27 @@
+--TEST--
+Bug #49472 (Constants defined in Interfaces can be overridden)
+--FILE--
+<?php
+
+interface ia {
+ const c = 'Sea';
+ const y = 2;
+}
+
+class Foo implements ia {
+}
+
+class FooBar extends Foo implements ia {
+ const x = 1;
+ const c = 'Ocean';
+
+ public function show() {
+ return ia::c;
+ }
+}
+
+new FooBar;
+
+?>
+--EXPECTF--
+Fatal error: Cannot inherit previously-inherited or override constant c from interface ia in %s on line %d
diff --git a/Zend/tests/bug49866.phpt b/Zend/tests/bug49866.phpt
new file mode 100644
index 000000000..7fbc0d802
--- /dev/null
+++ b/Zend/tests/bug49866.phpt
@@ -0,0 +1,10 @@
+--TEST--
+Bug #49866 (Making reference on string offsets crashes PHP)
+--FILE--
+<?php
+$a = "string";
+$b = &$a[1];
+$b = "f";
+echo $a;
+--EXPECTF--
+Fatal error: Cannot create references to/from string offsets nor overloaded objects in %sbug49866.php on line 3
diff --git a/Zend/tests/bug50005.phpt b/Zend/tests/bug50005.phpt
new file mode 100644
index 000000000..bf4fbbda6
--- /dev/null
+++ b/Zend/tests/bug50005.phpt
@@ -0,0 +1,19 @@
+--TEST--
+Bug #50005 (Throwing through Reflection modified Exception object makes segmentation fault)
+--FILE--
+<?php
+
+class a extends exception {
+ public function __construct() {
+ $this->file = null;
+ }
+}
+
+throw new a;
+
+?>
+--EXPECTF--
+Fatal error: Uncaught exception 'a' in :%d
+Stack trace:
+#0 {main}
+ thrown in Unknown on line %d
diff --git a/Zend/tests/bug50146.phpt b/Zend/tests/bug50146.phpt
new file mode 100644
index 000000000..7aa26a650
--- /dev/null
+++ b/Zend/tests/bug50146.phpt
@@ -0,0 +1,20 @@
+--TEST--
+Bug #50146 (property_exists: Closure object cannot have properties)
+--FILE--
+<?php
+
+$obj = function(){};
+
+var_dump(property_exists($obj,'foo'));
+
+$ref = new ReflectionObject($obj);
+var_dump($ref->hasProperty('b'));
+
+var_dump(isset($obj->a));
+
+?>
+--EXPECTF--
+bool(false)
+bool(false)
+
+Catchable fatal error: Closure object cannot have properties in %s on line %d
diff --git a/Zend/tests/bug50174.phpt b/Zend/tests/bug50174.phpt
new file mode 100644
index 000000000..fef65136b
--- /dev/null
+++ b/Zend/tests/bug50174.phpt
@@ -0,0 +1,33 @@
+--TEST--
+Bug #50174 (Incorrectly matched docComment)
+--SKIPIF--
+<?php if (!extension_loaded('reflection') || !extension_loaded('spl')) print "skip"; ?>
+--FILE--
+<?php
+
+class TestClass
+{
+ /** const comment */
+ const C = 0;
+
+ function x() {}
+}
+
+$rm = new ReflectionMethod('TestClass', 'x');
+var_dump($rm->getDocComment());
+
+class TestClass2
+{
+ /** const comment */
+ const C = 0;
+
+ public $x;
+}
+
+$rp = new ReflectionProperty('TestClass2', 'x');
+var_dump($rp->getDocComment());
+
+?>
+--EXPECT--
+bool(false)
+bool(false)
diff --git a/Zend/tests/bug50255.phpt b/Zend/tests/bug50255.phpt
new file mode 100644
index 000000000..9f390af7c
--- /dev/null
+++ b/Zend/tests/bug50255.phpt
@@ -0,0 +1,30 @@
+--TEST--
+Bug #50255 (isset() and empty() silently casts array to object)
+--FILE--
+<?php
+
+$arr = array('foo' => 'bar');
+
+print "isset\n";
+var_dump(isset($arr->foo));
+var_dump(isset($arr->bar));
+var_dump(isset($arr['foo']));
+var_dump(isset($arr['bar']));
+print "empty\n";
+var_dump(empty($arr->foo));
+var_dump(empty($arr->bar));
+var_dump(empty($arr['foo']));
+var_dump(empty($arr['bar']));
+
+?>
+--EXPECT--
+isset
+bool(false)
+bool(false)
+bool(true)
+bool(false)
+empty
+bool(true)
+bool(true)
+bool(false)
+bool(true)
diff --git a/Zend/tests/bug50261.phpt b/Zend/tests/bug50261.phpt
new file mode 100644
index 000000000..271a2c480
--- /dev/null
+++ b/Zend/tests/bug50261.phpt
@@ -0,0 +1,38 @@
+--TEST--
+Bug #50261 (Crash When Calling Parent Constructor with call_user_func())
+--FILE--
+<?php
+
+class testClass {
+ function testClass($x) {
+ echo __METHOD__, " (". $x . ")\n";
+ }
+}
+
+class testClass2 extends testClass {
+ function __construct() {
+ static $x = 0;
+
+ if ($x) {
+ print "Infinite loop...\n";
+ } else {
+ $x++;
+
+ parent::__construct(1);
+ testclass::__construct(2);
+ call_user_func(array('parent', '__construct'), 3);
+ call_user_func(array('testclass', '__construct'), 4);
+ call_user_func(array('testclass', 'testclass'), 5);
+ }
+ }
+}
+
+new testClass2;
+
+?>
+--EXPECT--
+testClass::testClass (1)
+testClass::testClass (2)
+testClass::testClass (3)
+testClass::testClass (4)
+testClass::testClass (5)
diff --git a/Zend/tests/bug50394.phpt b/Zend/tests/bug50394.phpt
new file mode 100644
index 000000000..e6069d366
--- /dev/null
+++ b/Zend/tests/bug50394.phpt
@@ -0,0 +1,24 @@
+--TEST--
+Bug #50394: Reference argument converted to value in __call
+--FILE--
+<?php
+function inc( &$x ) { $x++; }
+
+class Proxy {
+ function __call( $name, $args ) {
+ echo "$name called!\n";
+ call_user_func_array( 'inc', $args );
+ }
+}
+
+$arg = 1;
+$args = array( &$arg );
+$proxy = new Proxy;
+call_user_func_array( array( $proxy, 'bar' ), $args );
+call_user_func_array( array( $proxy, 'bar' ), array(&$arg) );
+var_dump($arg);
+--EXPECT--
+bar called!
+bar called!
+int(3)
+
diff --git a/Zend/tests/call_user_func_004.phpt b/Zend/tests/call_user_func_004.phpt
new file mode 100644
index 000000000..4885c4d3f
--- /dev/null
+++ b/Zend/tests/call_user_func_004.phpt
@@ -0,0 +1,18 @@
+--TEST--
+Calling non-static method with call_user_func()
+--FILE--
+<?php
+
+class foo {
+ public function teste() {
+ $this->a = 1;
+ }
+}
+
+call_user_func(array('foo', 'teste'));
+
+?>
+--EXPECTF--
+Strict Standards: call_user_func() expects parameter 1 to be a valid callback, non-static method foo::teste() should not be called statically in %s on line %d
+
+Fatal error: Using $this when not in object context in %s on line %d
diff --git a/Zend/tests/call_user_func_005.phpt b/Zend/tests/call_user_func_005.phpt
new file mode 100644
index 000000000..6c1fa1973
--- /dev/null
+++ b/Zend/tests/call_user_func_005.phpt
@@ -0,0 +1,35 @@
+--TEST--
+Passing Closure as parameter to an non-existent function
+--FILE--
+<?php
+
+class foo {
+ public static function __callstatic($x, $y) {
+ var_dump($x,$y);
+ return 1;
+ }
+
+ public function teste() {
+ return foo::x(function &($a=1,$b) { });
+ }
+}
+
+var_dump(call_user_func(array('foo', 'teste')));
+
+?>
+--EXPECTF--
+Strict Standards: call_user_func() expects parameter 1 to be a valid callback, non-static method foo::teste() should not be called statically in %s on line %d
+%string|unicode%(1) "x"
+array(1) {
+ [0]=>
+ object(Closure)#%d (1) {
+ ["parameter"]=>
+ array(2) {
+ ["$a"]=>
+ string(10) "<required>"
+ ["$b"]=>
+ string(10) "<required>"
+ }
+ }
+}
+int(1)
diff --git a/Zend/tests/call_with_refs.phpt b/Zend/tests/call_with_refs.phpt
new file mode 100644
index 000000000..acad134f8
--- /dev/null
+++ b/Zend/tests/call_with_refs.phpt
@@ -0,0 +1,18 @@
+--TEST--
+Check call to non-ref function with call-time refs
+--FILE--
+<?php
+function my_errorhandler($errno,$errormsg) {
+ global $my_var;
+ $my_var=0x12345;
+ echo $errormsg."\n";
+ return true;
+}
+$oldhandler = set_error_handler("my_errorhandler");
+$my_var = str_repeat("A",64);
+$data = call_user_func_array("substr_replace",array(&$my_var, new StdClass(),1));
+echo "OK!";
+--EXPECT--
+Object of class stdClass could not be converted to string
+Object of class stdClass to string conversion
+OK!
diff --git a/Zend/tests/closure_035.phpt b/Zend/tests/closure_035.phpt
new file mode 100644
index 000000000..ac8b4caea
--- /dev/null
+++ b/Zend/tests/closure_035.phpt
@@ -0,0 +1,31 @@
+--TEST--
+Testing recursion detection with Closures
+--FILE--
+<?php
+
+$x = function () use (&$x) {
+ $h = function () use ($x) {
+ var_dump($x);
+ return 1;
+ };
+ return $h();
+};
+
+var_dump($x());
+
+?>
+--EXPECTF--
+object(Closure)#%d (1) {
+ ["static"]=>
+ array(1) {
+ [%u|b%"x"]=>
+ &object(Closure)#%d (1) {
+ ["static"]=>
+ array(1) {
+ [%u|b%"x"]=>
+ *RECURSION*
+ }
+ }
+ }
+}
+int(1)
diff --git a/Zend/tests/errmsg_025.phpt b/Zend/tests/errmsg_025.phpt
index d853f7342..014b40947 100644
--- a/Zend/tests/errmsg_025.phpt
+++ b/Zend/tests/errmsg_025.phpt
@@ -16,5 +16,5 @@ class test implements test1, test2 {
echo "Done\n";
?>
---EXPECTF--
-Fatal error: Cannot inherit previously-inherited constant FOO from interface test2 in %s on line %d
+--EXPECTF--
+Fatal error: Cannot inherit previously-inherited or override constant FOO from interface test2 in %s on line %d
diff --git a/Zend/tests/inter_01.phpt b/Zend/tests/inter_01.phpt
index db2e86d20..c73397c91 100644
--- a/Zend/tests/inter_01.phpt
+++ b/Zend/tests/inter_01.phpt
@@ -15,4 +15,4 @@ class foobar implements foo {
}
?>
--EXPECTF--
-Fatal error: Cannot inherit previously-inherited constant foo from interface foo in %s on line %d
+Fatal error: Cannot inherit previously-inherited or override constant foo from interface foo in %s on line %d
diff --git a/Zend/tests/unset_cv05.phpt b/Zend/tests/unset_cv05.phpt
index 24f9c0091..8e3c6349b 100644
--- a/Zend/tests/unset_cv05.phpt
+++ b/Zend/tests/unset_cv05.phpt
@@ -19,7 +19,7 @@ echo $HTTP_SESSION_VARS;
echo "\nok\n";
?>
--EXPECTF--
-PHP Warning: Directive 'register_long_arrays' is deprecated in PHP %d.%d and greater in Unknown on line 0
+Warning: Directive 'register_long_arrays' is deprecated in PHP %d.%d and greater in Unknown on line 0
ok
Warning: session_start(): Cannot send session cookie - headers already sent by (output started at %sunset_cv05.php on line %d
diff --git a/Zend/tests/unset_cv06.phpt b/Zend/tests/unset_cv06.phpt
index b6825947b..b1ef0cc2a 100644
--- a/Zend/tests/unset_cv06.phpt
+++ b/Zend/tests/unset_cv06.phpt
@@ -19,7 +19,7 @@ echo $x;
echo "ok\n";
?>
--EXPECTF--
-PHP Warning: Directive 'register_globals' is deprecated in PHP %d.%d and greater in Unknown on line 0
+Warning: Directive 'register_globals' is deprecated in PHP %d.%d and greater in Unknown on line 0
1
Deprecated: Function session_register() is deprecated in %s on line %d
diff --git a/Zend/zend.c b/Zend/zend.c
index df9a86cbd..cd8ba7776 100644
--- a/Zend/zend.c
+++ b/Zend/zend.c
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend.c 290026 2009-10-28 11:08:33Z pajoye $ */
+/* $Id: zend.c 293155 2010-01-05 20:46:53Z sebastian $ */
#include "zend.h"
#include "zend_extensions.h"
@@ -114,7 +114,7 @@ ZEND_API zval zval_used_for_init; /* True global variable */
/* version information */
static char *zend_version_info;
static uint zend_version_info_length;
-#define ZEND_CORE_VERSION_INFO "Zend Engine v" ZEND_VERSION ", Copyright (c) 1998-2009 Zend Technologies\n"
+#define ZEND_CORE_VERSION_INFO "Zend Engine v" ZEND_VERSION ", Copyright (c) 1998-2010 Zend Technologies\n"
#define PRINT_ZVAL_INDENT 4
static void print_hash(zend_write_func_t write_func, HashTable *ht, int indent, zend_bool is_object TSRMLS_DC) /* {{{ */
diff --git a/Zend/zend.h b/Zend/zend.h
index 58f0e5984..3332e7c93 100644
--- a/Zend/zend.h
+++ b/Zend/zend.h
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend.h 286859 2009-08-06 01:33:54Z scottmac $ */
+/* $Id: zend.h 294459 2010-02-03 20:44:43Z pajoye $ */
#ifndef ZEND_H
#define ZEND_H
@@ -166,7 +166,7 @@ char *alloca ();
# define ZEND_ATTRIBUTE_DEPRECATED
#endif
-#if defined(__GNUC__) && ZEND_GCC_VERSION >= 3400 && defined(__i386__)
+#if defined(__GNUC__) && ZEND_GCC_VERSION >= 3004 && defined(__i386__)
# define ZEND_FASTCALL __attribute__((fastcall))
#elif defined(_MSC_VER) && defined(_M_IX86)
# define ZEND_FASTCALL __fastcall
@@ -174,7 +174,7 @@ char *alloca ();
# define ZEND_FASTCALL
#endif
-#if defined(__GNUC__) && ZEND_GCC_VERSION >= 3400
+#if defined(__GNUC__) && ZEND_GCC_VERSION >= 3004
#else
# define __restrict__
#endif
@@ -710,6 +710,11 @@ END_EXTERN_C()
FREE_ZVAL(pzv); \
} \
INIT_PZVAL(&(zv));
+
+#define MAKE_COPY_ZVAL(ppzv, pzv) \
+ *(pzv) = **(ppzv); \
+ zval_copy_ctor((pzv)); \
+ INIT_PZVAL((pzv));
#define REPLACE_ZVAL_VALUE(ppzv_dest, pzv_src, copy) { \
int is_ref, refcount; \
diff --git a/Zend/zend_API.c b/Zend/zend_API.c
index 6a5c5f87a..6d939e682 100644
--- a/Zend/zend_API.c
+++ b/Zend/zend_API.c
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -18,7 +18,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_API.c 289431 2009-10-09 17:21:20Z pajoye $ */
+/* $Id: zend_API.c 293980 2010-01-25 14:02:09Z johannes $ */
#include "zend.h"
#include "zend_execute.h"
@@ -923,7 +923,7 @@ ZEND_API int zend_parse_method_parameters_ex(int flags, int num_args TSRMLS_DC,
RETURN_IF_ZERO_ARGS(num_args, p, quiet);
va_start(va, type_spec);
- retval = zend_parse_va_args(num_args, type_spec, &va, 0 TSRMLS_CC);
+ retval = zend_parse_va_args(num_args, type_spec, &va, flags TSRMLS_CC);
va_end(va);
} else {
p++;
@@ -2335,12 +2335,13 @@ ZEND_API int zend_disable_class(char *class_name, uint class_name_length TSRMLS_
}
/* }}} */
-static int zend_is_callable_check_class(const char *name, int name_len, zend_fcall_info_cache *fcc, char **error TSRMLS_DC) /* {{{ */
+static int zend_is_callable_check_class(const char *name, int name_len, zend_fcall_info_cache *fcc, int *strict_class, char **error TSRMLS_DC) /* {{{ */
{
int ret = 0;
zend_class_entry **pce;
char *lcname = zend_str_tolower_dup(name, name_len);
+ *strict_class = 0;
if (name_len == sizeof("self") - 1 &&
!memcmp(lcname, "self", sizeof("self") - 1)) {
if (!EG(scope)) {
@@ -2365,6 +2366,7 @@ static int zend_is_callable_check_class(const char *name, int name_len, zend_fca
if (!fcc->object_ptr) {
fcc->object_ptr = EG(This);
}
+ *strict_class = 1;
ret = 1;
}
} else if (name_len == sizeof("static") - 1 &&
@@ -2377,6 +2379,7 @@ static int zend_is_callable_check_class(const char *name, int name_len, zend_fca
if (!fcc->object_ptr) {
fcc->object_ptr = EG(This);
}
+ *strict_class = 1;
ret = 1;
}
} else if (zend_lookup_class_ex(name, name_len, 1, &pce TSRMLS_CC) == SUCCESS) {
@@ -2391,6 +2394,7 @@ static int zend_is_callable_check_class(const char *name, int name_len, zend_fca
} else {
fcc->called_scope = fcc->object_ptr ? Z_OBJCE_P(fcc->object_ptr) : fcc->calling_scope;
}
+ *strict_class = 1;
ret = 1;
} else {
if (error) zend_spprintf(error, 0, "class '%.*s' not found", name_len, name);
@@ -2401,7 +2405,7 @@ static int zend_is_callable_check_class(const char *name, int name_len, zend_fca
/* }}} */
-static int zend_is_callable_check_func(int check_flags, zval *callable, zend_fcall_info_cache *fcc, char **error TSRMLS_DC) /* {{{ */
+static int zend_is_callable_check_func(int check_flags, zval *callable, zend_fcall_info_cache *fcc, int strict_class, char **error TSRMLS_DC) /* {{{ */
{
zend_class_entry *ce_org = fcc->calling_scope;
int retval = 0;
@@ -2459,7 +2463,7 @@ static int zend_is_callable_check_func(int check_flags, zval *callable, zend_fca
EG(scope) = ce_org;
}
- if (!zend_is_callable_check_class(Z_STRVAL_P(callable), clen, fcc, error TSRMLS_CC)) {
+ if (!zend_is_callable_check_class(Z_STRVAL_P(callable), clen, fcc, &strict_class, error TSRMLS_CC)) {
EG(scope) = last_scope;
return 0;
}
@@ -2486,7 +2490,15 @@ static int zend_is_callable_check_func(int check_flags, zval *callable, zend_fca
}
lmname = zend_str_tolower_dup(mname, mlen);
- if (zend_hash_find(ftable, lmname, mlen+1, (void**)&fcc->function_handler) == SUCCESS) {
+ if (strict_class &&
+ fcc->calling_scope &&
+ mlen == sizeof(ZEND_CONSTRUCTOR_FUNC_NAME)-1 &&
+ !memcmp(lmname, ZEND_CONSTRUCTOR_FUNC_NAME, sizeof(ZEND_CONSTRUCTOR_FUNC_NAME))) {
+ fcc->function_handler = fcc->calling_scope->constructor;
+ if (fcc->function_handler) {
+ retval = 1;
+ }
+ } else if (zend_hash_find(ftable, lmname, mlen+1, (void**)&fcc->function_handler) == SUCCESS) {
retval = 1;
if ((fcc->function_handler->op_array.fn_flags & ZEND_ACC_CHANGED) &&
EG(scope) &&
@@ -2520,11 +2532,36 @@ static int zend_is_callable_check_func(int check_flags, zval *callable, zend_fca
} else {
get_function_via_handler:
if (fcc->object_ptr && fcc->calling_scope == ce_org) {
- if (Z_OBJ_HT_P(fcc->object_ptr)->get_method) {
+ if (strict_class && ce_org->__call) {
+ fcc->function_handler = emalloc(sizeof(zend_internal_function));
+ fcc->function_handler->internal_function.type = ZEND_INTERNAL_FUNCTION;
+ fcc->function_handler->internal_function.module = ce_org->module;
+ fcc->function_handler->internal_function.handler = zend_std_call_user_call;
+ fcc->function_handler->internal_function.arg_info = NULL;
+ fcc->function_handler->internal_function.num_args = 0;
+ fcc->function_handler->internal_function.scope = ce_org;
+ fcc->function_handler->internal_function.fn_flags = ZEND_ACC_CALL_VIA_HANDLER;
+ fcc->function_handler->internal_function.function_name = estrndup(mname, mlen);
+ fcc->function_handler->internal_function.pass_rest_by_reference = 0;
+ fcc->function_handler->internal_function.return_reference = ZEND_RETURN_VALUE;
+ call_via_handler = 1;
+ retval = 1;
+ } else if (Z_OBJ_HT_P(fcc->object_ptr)->get_method) {
fcc->function_handler = Z_OBJ_HT_P(fcc->object_ptr)->get_method(&fcc->object_ptr, mname, mlen TSRMLS_CC);
if (fcc->function_handler) {
- retval = 1;
- call_via_handler = (fcc->function_handler->common.fn_flags & ZEND_ACC_CALL_VIA_HANDLER) != 0;
+ if (strict_class &&
+ (!fcc->function_handler->common.scope ||
+ !instanceof_function(ce_org, fcc->function_handler->common.scope TSRMLS_CC))) {
+ if ((fcc->function_handler->common.fn_flags & ZEND_ACC_CALL_VIA_HANDLER) != 0) {
+ if (fcc->function_handler->type != ZEND_OVERLOADED_FUNCTION) {
+ efree(fcc->function_handler->common.function_name);
+ }
+ efree(fcc->function_handler);
+ }
+ } else {
+ retval = 1;
+ call_via_handler = (fcc->function_handler->common.fn_flags & ZEND_ACC_CALL_VIA_HANDLER) != 0;
+ }
}
}
} else if (fcc->calling_scope) {
@@ -2680,7 +2717,7 @@ ZEND_API zend_bool zend_is_callable_ex(zval *callable, zval *object_ptr, uint ch
return 1;
}
- ret = zend_is_callable_check_func(check_flags, callable, fcc, error TSRMLS_CC);
+ ret = zend_is_callable_check_func(check_flags, callable, fcc, 0, error TSRMLS_CC);
if (fcc == &fcc_local &&
fcc->function_handler &&
((fcc->function_handler->type == ZEND_INTERNAL_FUNCTION &&
@@ -2698,6 +2735,7 @@ ZEND_API zend_bool zend_is_callable_ex(zval *callable, zval *object_ptr, uint ch
{
zval **method = NULL;
zval **obj = NULL;
+ int strict_class = 0;
if (zend_hash_num_elements(Z_ARRVAL_P(callable)) == 2) {
zend_hash_index_find(Z_ARRVAL_P(callable), 0, (void **) &obj);
@@ -2725,7 +2763,7 @@ ZEND_API zend_bool zend_is_callable_ex(zval *callable, zval *object_ptr, uint ch
return 1;
}
- if (!zend_is_callable_check_class(Z_STRVAL_PP(obj), Z_STRLEN_PP(obj), fcc, error TSRMLS_CC)) {
+ if (!zend_is_callable_check_class(Z_STRVAL_PP(obj), Z_STRLEN_PP(obj), fcc, &strict_class, error TSRMLS_CC)) {
return 0;
}
@@ -2757,7 +2795,7 @@ ZEND_API zend_bool zend_is_callable_ex(zval *callable, zval *object_ptr, uint ch
}
}
- ret = zend_is_callable_check_func(check_flags, *method, fcc, error TSRMLS_CC);
+ ret = zend_is_callable_check_func(check_flags, *method, fcc, strict_class, error TSRMLS_CC);
if (fcc == &fcc_local &&
fcc->function_handler &&
((fcc->function_handler->type == ZEND_INTERNAL_FUNCTION &&
diff --git a/Zend/zend_API.h b/Zend/zend_API.h
index 032f83017..73689583a 100644
--- a/Zend/zend_API.h
+++ b/Zend/zend_API.h
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -18,7 +18,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_API.h 286469 2009-07-28 21:12:42Z jani $ */
+/* $Id: zend_API.h 293155 2010-01-05 20:46:53Z sebastian $ */
#ifndef ZEND_API_H
#define ZEND_API_H
diff --git a/Zend/zend_alloc.c b/Zend/zend_alloc.c
index 683ccf960..dac54543d 100644
--- a/Zend/zend_alloc.c
+++ b/Zend/zend_alloc.c
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -18,7 +18,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_alloc.c 287992 2009-09-03 14:33:11Z dmitry $ */
+/* $Id: zend_alloc.c 294518 2010-02-04 09:48:02Z pajoye $ */
#include "zend.h"
#include "zend_alloc.h"
@@ -84,6 +84,10 @@ static void zend_mm_panic(const char *message) __attribute__ ((noreturn));
static void zend_mm_panic(const char *message)
{
fprintf(stderr, "%s\n", message);
+/* See http://support.microsoft.com/kb/190351 */
+#ifdef PHP_WIN32
+ fflush(stderr);
+#endif
#if ZEND_DEBUG && defined(HAVE_KILL) && defined(HAVE_GETPID)
kill(getpid(), SIGSEGV);
#endif
@@ -940,15 +944,27 @@ static void zend_mm_free_cache(zend_mm_heap *heap)
#endif
#if ZEND_MM_HEAP_PROTECTION || ZEND_MM_COOKIES
-static void zend_mm_random(unsigned char *buf, size_t size)
+static void zend_mm_random(unsigned char *buf, size_t size) /* {{{ */
{
size_t i = 0;
unsigned char t;
#ifdef ZEND_WIN32
HCRYPTPROV hCryptProv;
-
- if (CryptAcquireContext(&hCryptProv, NULL, NULL, PROV_RSA_FULL, 0)) {
+ int has_context = 0;
+
+ if (!CryptAcquireContext(&hCryptProv, NULL, NULL, PROV_RSA_FULL, 0)) {
+ /* Could mean that the key container does not exist, let try
+ again by asking for a new one */
+ if (GetLastError() == NTE_BAD_KEYSET) {
+ if (CryptAcquireContext(&hCryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_NEWKEYSET)) {
+ has_context = 1;
+ }
+ }
+ } else {
+ has_context = 1;
+ }
+ if (has_context) {
do {
BOOL ret = CryptGenRandom(hCryptProv, size, buf);
CryptReleaseContext(hCryptProv, 0);
@@ -957,7 +973,7 @@ static void zend_mm_random(unsigned char *buf, size_t size)
i++;
}
if (i == size) {
- return;
+ return;
}
}
} while (0);
@@ -986,6 +1002,7 @@ static void zend_mm_random(unsigned char *buf, size_t size)
t = buf[i++] << 1;
}
}
+/* }}} */
#endif
/* Notes:
@@ -1031,11 +1048,19 @@ ZEND_API zend_mm_heap *zend_mm_startup_ex(const zend_mm_mem_handlers *handlers,
if (zend_mm_low_bit(block_size) != zend_mm_high_bit(block_size)) {
fprintf(stderr, "'block_size' must be a power of two\n");
+/* See http://support.microsoft.com/kb/190351 */
+#ifdef PHP_WIN32
+ fflush(stderr);
+#endif
exit(255);
}
storage = handlers->init(params);
if (!storage) {
fprintf(stderr, "Cannot initialize zend_mm storage [%s]\n", handlers->name);
+/* See http://support.microsoft.com/kb/190351 */
+#ifdef PHP_WIN32
+ fflush(stderr);
+#endif
exit(255);
}
storage->handlers = handlers;
@@ -1118,9 +1143,17 @@ ZEND_API zend_mm_heap *zend_mm_startup(void)
if (!mem_handlers[i].name) {
fprintf(stderr, "Wrong or unsupported zend_mm storage type '%s'\n", mem_type);
fprintf(stderr, " supported types:\n");
+/* See http://support.microsoft.com/kb/190351 */
+#ifdef PHP_WIN32
+ fflush(stderr);
+#endif
for (i = 0; mem_handlers[i].name; i++) {
fprintf(stderr, " '%s'\n", mem_handlers[i].name);
}
+/* See http://support.microsoft.com/kb/190351 */
+#ifdef PHP_WIN32
+ fflush(stderr);
+#endif
exit(255);
}
}
@@ -1131,9 +1164,17 @@ ZEND_API zend_mm_heap *zend_mm_startup(void)
seg_size = zend_atoi(tmp, 0);
if (zend_mm_low_bit(seg_size) != zend_mm_high_bit(seg_size)) {
fprintf(stderr, "ZEND_MM_SEG_SIZE must be a power of two\n");
+/* See http://support.microsoft.com/kb/190351 */
+#ifdef PHP_WIN32
+ fflush(stderr);
+#endif
exit(255);
} else if (seg_size < ZEND_MM_ALIGNED_SEGMENT_SIZE + ZEND_MM_ALIGNED_HEADER_SIZE) {
fprintf(stderr, "ZEND_MM_SEG_SIZE is too small\n");
+/* See http://support.microsoft.com/kb/190351 */
+#ifdef PHP_WIN32
+ fflush(stderr);
+#endif
exit(255);
}
} else {
@@ -1672,6 +1713,10 @@ static void zend_mm_safe_error(zend_mm_heap *heap,
size);
fprintf(stderr, " in %s on line %d\n", error_filename, error_lineno);
}
+/* See http://support.microsoft.com/kb/190351 */
+#ifdef PHP_WIN32
+ fflush(stderr);
+#endif
} zend_end_try();
} else {
heap->overflow = 2;
diff --git a/Zend/zend_alloc.h b/Zend/zend_alloc.h
index b1ecab948..ac64a3011 100644
--- a/Zend/zend_alloc.h
+++ b/Zend/zend_alloc.h
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_alloc.h 287992 2009-09-03 14:33:11Z dmitry $ */
+/* $Id: zend_alloc.h 293155 2010-01-05 20:46:53Z sebastian $ */
#ifndef ZEND_ALLOC_H
#define ZEND_ALLOC_H
diff --git a/Zend/zend_build.h b/Zend/zend_build.h
index 4c81fccb7..2c821f353 100755
--- a/Zend/zend_build.h
+++ b/Zend/zend_build.h
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
diff --git a/Zend/zend_builtin_functions.c b/Zend/zend_builtin_functions.c
index ec29a4934..93dbe49ab 100644
--- a/Zend/zend_builtin_functions.c
+++ b/Zend/zend_builtin_functions.c
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_builtin_functions.c 286878 2009-08-06 11:02:25Z jani $ */
+/* $Id: zend_builtin_functions.c 294034 2010-01-25 23:41:18Z johannes $ */
#include "zend.h"
#include "zend_API.h"
@@ -629,7 +629,6 @@ ZEND_FUNCTION(define)
zend_bool non_cs = 0;
int case_sensitive = CONST_CS;
zend_constant c;
- char *p;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "sz|b", &name, &name_len, &val, &non_cs) == FAILURE) {
return;
@@ -640,31 +639,9 @@ ZEND_FUNCTION(define)
}
/* class constant, check if there is name and make sure class is valid & exists */
- if ((p = zend_memnstr(name, "::", sizeof("::") - 1, name + name_len))) {
- char *class_name;
- int found;
- zend_class_entry **ce;
- ALLOCA_FLAG(use_heap)
-
- if (p == (name + name_len - sizeof("::") + 1)) {
- zend_error(E_WARNING, "Class constant must have a name");
- RETURN_FALSE;
- } else if (p == name) {
- zend_error(E_WARNING, "Missing class name");
- RETURN_FALSE;
- }
-
- class_name = do_alloca((p - name + 1), use_heap);
- zend_str_tolower_copy(class_name, name, (p - name));
-
- found = zend_hash_find(EG(class_table), class_name, p - name + 1, (void **) &ce);
-
- if (found != SUCCESS) {
- zend_error(E_WARNING, "Class '%s' does not exist", class_name);
- free_alloca(class_name, use_heap);
- RETURN_FALSE;
- }
- free_alloca(class_name, use_heap);
+ if (zend_memnstr(name, "::", sizeof("::") - 1, name + name_len)) {
+ zend_error(E_WARNING, "Class constants cannot be defined or redefined");
+ RETURN_FALSE;
}
repeat:
diff --git a/Zend/zend_builtin_functions.h b/Zend/zend_builtin_functions.h
index aca6d77e8..03bfd37e5 100644
--- a/Zend/zend_builtin_functions.h
+++ b/Zend/zend_builtin_functions.h
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_builtin_functions.h 272370 2008-12-31 11:15:49Z sebastian $ */
+/* $Id: zend_builtin_functions.h 293155 2010-01-05 20:46:53Z sebastian $ */
#ifndef ZEND_BUILTIN_FUNCTIONS_H
#define ZEND_BUILTIN_FUNCTIONS_H
diff --git a/Zend/zend_closures.c b/Zend/zend_closures.c
index 96fc56748..a5a2f8472 100644
--- a/Zend/zend_closures.c
+++ b/Zend/zend_closures.c
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -18,7 +18,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_closures.c 287043 2009-08-10 15:18:13Z colder $ */
+/* $Id: zend_closures.c 293155 2010-01-05 20:46:53Z sebastian $ */
#include "zend.h"
#include "zend_API.h"
@@ -152,7 +152,9 @@ static zval **zend_closure_get_property_ptr_ptr(zval *object, zval *member TSRML
static int zend_closure_has_property(zval *object, zval *member, int has_set_exists TSRMLS_DC) /* {{{ */
{
- ZEND_CLOSURE_PROPERTY_ERROR();
+ if (has_set_exists != 2) {
+ ZEND_CLOSURE_PROPERTY_ERROR();
+ }
return 0;
}
/* }}} */
diff --git a/Zend/zend_closures.h b/Zend/zend_closures.h
index 64c476b48..c51079e21 100644
--- a/Zend/zend_closures.h
+++ b/Zend/zend_closures.h
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_closures.h 274683 2009-01-26 22:54:34Z cseiler $ */
+/* $Id: zend_closures.h 293155 2010-01-05 20:46:53Z sebastian $ */
#ifndef ZEND_CLOSURES_H
#define ZEND_CLOSURES_H
diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c
index a02278f27..791a08ed3 100644
--- a/Zend/zend_compile.c
+++ b/Zend/zend_compile.c
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_compile.c 289432 2009-10-09 17:23:01Z pajoye $ */
+/* $Id: zend_compile.c 293155 2010-01-05 20:46:53Z sebastian $ */
#include <zend_language_parser.h>
#include "zend.h"
@@ -161,6 +161,7 @@ void zend_init_compiler_data_structures(TSRMLS_D) /* {{{ */
CG(encoding_detector) = NULL;
CG(encoding_converter) = NULL;
CG(encoding_oddlen) = NULL;
+ CG(encoding_declared) = 0;
#endif /* ZEND_MULTIBYTE */
}
/* }}} */
@@ -2875,8 +2876,8 @@ static zend_bool do_inherit_constant_check(HashTable *child_constants_table, con
zval **old_constant;
if (zend_hash_quick_find(child_constants_table, hash_key->arKey, hash_key->nKeyLength, hash_key->h, (void**)&old_constant) == SUCCESS) {
- if (*old_constant != *parent_constant) {
- zend_error(E_COMPILE_ERROR, "Cannot inherit previously-inherited constant %s from interface %s", hash_key->arKey, iface->name);
+ if (*old_constant != *parent_constant) {
+ zend_error(E_COMPILE_ERROR, "Cannot inherit previously-inherited or override constant %s from interface %s", hash_key->arKey, iface->name);
}
return 0;
}
@@ -2884,6 +2885,16 @@ static zend_bool do_inherit_constant_check(HashTable *child_constants_table, con
}
/* }}} */
+static int do_interface_constant_check(zval **val TSRMLS_DC, int num_args, va_list args, const zend_hash_key *key) /* {{{ */
+{
+ zend_class_entry **iface = va_arg(args, zend_class_entry**);
+
+ do_inherit_constant_check(&(*iface)->constants_table, (const zval **) val, key, *iface);
+
+ return ZEND_HASH_APPLY_KEEP;
+}
+/* }}} */
+
ZEND_API void zend_do_implement_interface(zend_class_entry *ce, zend_class_entry *iface TSRMLS_DC) /* {{{ */
{
zend_uint i, ignore = 0;
@@ -2902,7 +2913,10 @@ ZEND_API void zend_do_implement_interface(zend_class_entry *ce, zend_class_entry
}
}
}
- if (!ignore) {
+ if (ignore) {
+ /* Check for attempt to redeclare interface constants */
+ zend_hash_apply_with_arguments(&ce->constants_table TSRMLS_CC, (apply_func_args_t) do_interface_constant_check, 1, &iface);
+ } else {
if (ce->num_interfaces >= current_iface_num) {
if (ce->type == ZEND_INTERNAL_CLASS) {
ce->interfaces = (zend_class_entry **) realloc(ce->interfaces, sizeof(zend_class_entry *) * (++current_iface_num));
@@ -3658,6 +3672,12 @@ void zend_do_declare_class_constant(znode *var_name, const znode *value TSRMLS_D
zend_error(E_COMPILE_ERROR, "Cannot redefine class constant %s::%s", CG(active_class_entry)->name, var_name->u.constant.value.str.val);
}
FREE_PNODE(var_name);
+
+ if (CG(doc_comment)) {
+ efree(CG(doc_comment));
+ CG(doc_comment) = NULL;
+ CG(doc_comment_len) = 0;
+ }
}
/* }}} */
@@ -4644,7 +4664,7 @@ void zend_do_declare_stmt(znode *var, znode *val TSRMLS_DC) /* {{{ */
--num;
}
- if (num > 0 || CG(encoding_declared)) {
+ if (num > 0) {
zend_error(E_COMPILE_ERROR, "Encoding declaration pragma must be the very first statement in the script");
}
}
diff --git a/Zend/zend_compile.h b/Zend/zend_compile.h
index 3ccd199ba..6b24d09b7 100644
--- a/Zend/zend_compile.h
+++ b/Zend/zend_compile.h
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_compile.h 281737 2009-06-05 23:20:59Z shire $ */
+/* $Id: zend_compile.h 293155 2010-01-05 20:46:53Z sebastian $ */
#ifndef ZEND_COMPILE_H
#define ZEND_COMPILE_H
diff --git a/Zend/zend_config.nw.h b/Zend/zend_config.nw.h
index ce2a49e20..14467c2d6 100644
--- a/Zend/zend_config.nw.h
+++ b/Zend/zend_config.nw.h
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_config.nw.h 272370 2008-12-31 11:15:49Z sebastian $ */
+/* $Id: zend_config.nw.h 293155 2010-01-05 20:46:53Z sebastian $ */
#ifndef ZEND_CONFIG_NW_H
#define ZEND_CONFIG_NW_H
diff --git a/Zend/zend_config.w32.h b/Zend/zend_config.w32.h
index 57f08b168..4313ec185 100644
--- a/Zend/zend_config.w32.h
+++ b/Zend/zend_config.w32.h
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_config.w32.h 272370 2008-12-31 11:15:49Z sebastian $ */
+/* $Id: zend_config.w32.h 293155 2010-01-05 20:46:53Z sebastian $ */
#ifndef ZEND_CONFIG_W32_H
#define ZEND_CONFIG_W32_H
diff --git a/Zend/zend_constants.c b/Zend/zend_constants.c
index d7f13de57..2713019cb 100644
--- a/Zend/zend_constants.c
+++ b/Zend/zend_constants.c
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_constants.c 273405 2009-01-12 21:54:37Z stas $ */
+/* $Id: zend_constants.c 293155 2010-01-05 20:46:53Z sebastian $ */
#include "zend.h"
#include "zend_constants.h"
diff --git a/Zend/zend_constants.h b/Zend/zend_constants.h
index 0ae833783..b041c984b 100644
--- a/Zend/zend_constants.h
+++ b/Zend/zend_constants.h
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_constants.h 272370 2008-12-31 11:15:49Z sebastian $ */
+/* $Id: zend_constants.h 293155 2010-01-05 20:46:53Z sebastian $ */
#ifndef ZEND_CONSTANTS_H
#define ZEND_CONSTANTS_H
diff --git a/Zend/zend_default_classes.c b/Zend/zend_default_classes.c
index 52c9588a7..d36dabb60 100644
--- a/Zend/zend_default_classes.c
+++ b/Zend/zend_default_classes.c
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_default_classes.c 272370 2008-12-31 11:15:49Z sebastian $ */
+/* $Id: zend_default_classes.c 293155 2010-01-05 20:46:53Z sebastian $ */
#include "zend.h"
#include "zend_API.h"
diff --git a/Zend/zend_dynamic_array.c b/Zend/zend_dynamic_array.c
index 3c98ffaae..b6ad4193d 100644
--- a/Zend/zend_dynamic_array.c
+++ b/Zend/zend_dynamic_array.c
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_dynamic_array.c 272370 2008-12-31 11:15:49Z sebastian $ */
+/* $Id: zend_dynamic_array.c 293155 2010-01-05 20:46:53Z sebastian $ */
#include "zend.h"
diff --git a/Zend/zend_dynamic_array.h b/Zend/zend_dynamic_array.h
index b153a3469..c0e22f6d2 100644
--- a/Zend/zend_dynamic_array.h
+++ b/Zend/zend_dynamic_array.h
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_dynamic_array.h 272370 2008-12-31 11:15:49Z sebastian $ */
+/* $Id: zend_dynamic_array.h 293155 2010-01-05 20:46:53Z sebastian $ */
#ifndef ZEND_DYNAMIC_ARRAY_H
#define ZEND_DYNAMIC_ARRAY_H
diff --git a/Zend/zend_errors.h b/Zend/zend_errors.h
index dbfba460b..df5da6ed5 100644
--- a/Zend/zend_errors.h
+++ b/Zend/zend_errors.h
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_errors.h 272370 2008-12-31 11:15:49Z sebastian $ */
+/* $Id: zend_errors.h 293155 2010-01-05 20:46:53Z sebastian $ */
#ifndef ZEND_ERRORS_H
#define ZEND_ERRORS_H
diff --git a/Zend/zend_exceptions.c b/Zend/zend_exceptions.c
index 6c3560d05..fcd9f2551 100644
--- a/Zend/zend_exceptions.c
+++ b/Zend/zend_exceptions.c
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -19,7 +19,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_exceptions.c 280362 2009-05-11 15:03:47Z felipe $ */
+/* $Id: zend_exceptions.c 293155 2010-01-05 20:46:53Z sebastian $ */
#include "zend.h"
#include "zend_API.h"
diff --git a/Zend/zend_exceptions.h b/Zend/zend_exceptions.h
index 28a9be88b..ee2ced932 100644
--- a/Zend/zend_exceptions.h
+++ b/Zend/zend_exceptions.h
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -19,7 +19,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_exceptions.h 272584 2009-01-02 13:14:49Z helly $ */
+/* $Id: zend_exceptions.h 293155 2010-01-05 20:46:53Z sebastian $ */
#ifndef ZEND_EXCEPTIONS_H
#define ZEND_EXCEPTIONS_H
diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c
index 696112f52..e20312ed4 100644
--- a/Zend/zend_execute.c
+++ b/Zend/zend_execute.c
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_execute.c 281670 2009-06-04 18:20:45Z mattwil $ */
+/* $Id: zend_execute.c 294505 2010-02-04 09:13:14Z pajoye $ */
#define ZEND_INTENSIVE_DEBUGGING 0
@@ -1232,6 +1232,10 @@ static int zend_check_symbol(zval **pz TSRMLS_DC)
{
if (Z_TYPE_PP(pz) > 9) {
fprintf(stderr, "Warning! %x has invalid type!\n", *pz);
+/* See http://support.microsoft.com/kb/190351 */
+#ifdef PHP_WIN32
+ fflush(stderr);
+#endif
} else if (Z_TYPE_PP(pz) == IS_ARRAY) {
zend_hash_apply(Z_ARRVAL_PP(pz), (apply_func_t) zend_check_symbol TSRMLS_CC);
} else if (Z_TYPE_PP(pz) == IS_OBJECT) {
diff --git a/Zend/zend_execute.h b/Zend/zend_execute.h
index 6a1f06ab3..6ea325f8e 100644
--- a/Zend/zend_execute.h
+++ b/Zend/zend_execute.h
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_execute.h 287992 2009-09-03 14:33:11Z dmitry $ */
+/* $Id: zend_execute.h 294526 2010-02-04 10:21:05Z pajoye $ */
#ifndef ZEND_EXECUTE_H
#define ZEND_EXECUTE_H
@@ -228,7 +228,7 @@ static inline void *zend_vm_stack_alloc(size_t size TSRMLS_DC)
int extra = (ZEND_MM_ALIGNMENT - ((zend_uintptr_t)EG(argument_stack)->top & (ZEND_MM_ALIGNMENT - 1))) / sizeof(void*);
if (UNEXPECTED(size + extra + ZEND_MM_ALIGNED_SIZE(sizeof(void*)) / sizeof(void*) >
- EG(argument_stack)->end - EG(argument_stack)->top)) {
+ (zend_uintptr_t)(EG(argument_stack)->end - EG(argument_stack)->top))) {
zend_vm_stack_extend(size TSRMLS_CC);
} else {
void **old_top = EG(argument_stack)->top;
diff --git a/Zend/zend_execute_API.c b/Zend/zend_execute_API.c
index 88df13e2c..849391bef 100644
--- a/Zend/zend_execute_API.c
+++ b/Zend/zend_execute_API.c
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_execute_API.c 287466 2009-08-18 20:51:49Z stas $ */
+/* $Id: zend_execute_API.c 294505 2010-02-04 09:13:14Z pajoye $ */
#include <stdio.h>
#include <signal.h>
@@ -74,6 +74,10 @@ static void zend_handle_sigsegv(int dummy) /* {{{ */
get_active_function_name(TSRMLS_C),
zend_get_executed_filename(TSRMLS_C),
zend_get_executed_lineno(TSRMLS_C));
+/* See http://support.microsoft.com/kb/190351 */
+#ifdef PHP_WIN32
+ fflush(stderr);
+#endif
}
if (original_sigsegv_handler!=zend_handle_sigsegv) {
original_sigsegv_handler(dummy);
@@ -837,7 +841,8 @@ int zend_call_function(zend_fcall_info *fci, zend_fcall_info_cache *fci_cache TS
for (i=0; i<fci->param_count; i++) {
zval *param;
- if(EX(function_state).function->type == ZEND_INTERNAL_FUNCTION
+ if (EX(function_state).function->type == ZEND_INTERNAL_FUNCTION
+ && (EX(function_state).function->common.fn_flags & ZEND_ACC_CALL_VIA_HANDLER) == 0
&& !ARG_SHOULD_BE_SENT_BY_REF(EX(function_state).function, i + 1)
&& PZVAL_IS_REF(*fci->params[i])) {
SEPARATE_ZVAL(fci->params[i]);
@@ -1481,7 +1486,7 @@ void zend_unset_timeout(TSRMLS_D) /* {{{ */
}
#else
# ifdef HAVE_SETITIMER
- {
+ if (EG(timeout_seconds)) {
struct itimerval no_timeout;
no_timeout.it_value.tv_sec = no_timeout.it_value.tv_usec = no_timeout.it_interval.tv_sec = no_timeout.it_interval.tv_usec = 0;
diff --git a/Zend/zend_extensions.c b/Zend/zend_extensions.c
index 0a15a8cd0..cbe6b86a3 100644
--- a/Zend/zend_extensions.c
+++ b/Zend/zend_extensions.c
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_extensions.c 286859 2009-08-06 01:33:54Z scottmac $ */
+/* $Id: zend_extensions.c 294505 2010-02-04 09:13:14Z pajoye $ */
#include "zend_extensions.h"
@@ -35,6 +35,10 @@ int zend_load_extension(const char *path)
if (!handle) {
#ifndef ZEND_WIN32
fprintf(stderr, "Failed loading %s: %s\n", path, DL_ERROR());
+/* See http://support.microsoft.com/kb/190351 */
+#ifdef PHP_WIN32
+ fflush(stderr);
+#endif
#else
fprintf(stderr, "Failed loading %s\n", path);
#endif
@@ -51,6 +55,10 @@ int zend_load_extension(const char *path)
}
if (!extension_version_info || !new_extension) {
fprintf(stderr, "%s doesn't appear to be a valid Zend extension\n", path);
+/* See http://support.microsoft.com/kb/190351 */
+#ifdef PHP_WIN32
+ fflush(stderr);
+#endif
DL_UNLOAD(handle);
return FAILURE;
}
@@ -64,6 +72,10 @@ int zend_load_extension(const char *path)
new_extension->name,
extension_version_info->zend_extension_api_no,
ZEND_EXTENSION_API_NO);
+/* See http://support.microsoft.com/kb/190351 */
+#ifdef PHP_WIN32
+ fflush(stderr);
+#endif
DL_UNLOAD(handle);
return FAILURE;
} else if (extension_version_info->zend_extension_api_no < ZEND_EXTENSION_API_NO) {
@@ -76,6 +88,10 @@ int zend_load_extension(const char *path)
new_extension->author,
new_extension->URL,
new_extension->name);
+/* See http://support.microsoft.com/kb/190351 */
+#ifdef PHP_WIN32
+ fflush(stderr);
+#endif
DL_UNLOAD(handle);
return FAILURE;
}
@@ -83,6 +99,10 @@ int zend_load_extension(const char *path)
(!new_extension->build_id_check || new_extension->build_id_check(ZEND_EXTENSION_BUILD_ID) != SUCCESS)) {
fprintf(stderr, "Cannot load %s - it was built with configuration %s, whereas running engine is %s\n",
new_extension->name, extension_version_info->build_id, ZEND_EXTENSION_BUILD_ID);
+/* See http://support.microsoft.com/kb/190351 */
+#ifdef PHP_WIN32
+ fflush(stderr);
+#endif
DL_UNLOAD(handle);
return FAILURE;
}
@@ -90,6 +110,10 @@ int zend_load_extension(const char *path)
return zend_register_extension(new_extension, handle);
#else
fprintf(stderr, "Extensions are not supported on this platform.\n");
+/* See http://support.microsoft.com/kb/190351 */
+#ifdef PHP_WIN32
+ fflush(stderr);
+#endif
return FAILURE;
#endif
}
diff --git a/Zend/zend_extensions.h b/Zend/zend_extensions.h
index 449f37bb6..98747cea2 100644
--- a/Zend/zend_extensions.h
+++ b/Zend/zend_extensions.h
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_extensions.h 282827 2009-06-26 15:44:19Z johannes $ */
+/* $Id: zend_extensions.h 293155 2010-01-05 20:46:53Z sebastian $ */
#ifndef ZEND_EXTENSIONS_H
#define ZEND_EXTENSIONS_H
diff --git a/Zend/zend_fast_cache.h b/Zend/zend_fast_cache.h
index e67c09b5a..afc708ba4 100644
--- a/Zend/zend_fast_cache.h
+++ b/Zend/zend_fast_cache.h
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_fast_cache.h 272370 2008-12-31 11:15:49Z sebastian $ */
+/* $Id: zend_fast_cache.h 293155 2010-01-05 20:46:53Z sebastian $ */
#if 0
#ifndef ZEND_FAST_CACHE_H
#define ZEND_FAST_CACHE_H
diff --git a/Zend/zend_float.c b/Zend/zend_float.c
index 263e0c7d2..d1ac404a9 100644
--- a/Zend/zend_float.c
+++ b/Zend/zend_float.c
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_float.c 277413 2009-03-18 11:53:10Z dmitry $ */
+/* $Id: zend_float.c 293155 2010-01-05 20:46:53Z sebastian $ */
#include "zend.h"
#include "zend_compile.h"
diff --git a/Zend/zend_float.h b/Zend/zend_float.h
index 45acbfd80..9fdb469ec 100644
--- a/Zend/zend_float.h
+++ b/Zend/zend_float.h
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_float.h 277398 2009-03-18 10:18:10Z dmitry $ */
+/* $Id: zend_float.h 293155 2010-01-05 20:46:53Z sebastian $ */
#ifndef ZEND_FLOAT_H
#define ZEND_FLOAT_H
diff --git a/Zend/zend_gc.c b/Zend/zend_gc.c
index 0c3166815..6db682ef0 100644
--- a/Zend/zend_gc.c
+++ b/Zend/zend_gc.c
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_gc.c 278220 2009-04-03 18:52:21Z dmitry $ */
+/* $Id: zend_gc.c 293155 2010-01-05 20:46:53Z sebastian $ */
#include "zend.h"
#include "zend_API.h"
diff --git a/Zend/zend_gc.h b/Zend/zend_gc.h
index 5b99e976f..0fbc9f117 100644
--- a/Zend/zend_gc.h
+++ b/Zend/zend_gc.h
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_gc.h 272619 2009-01-02 20:45:43Z felipe $ */
+/* $Id: zend_gc.h 293155 2010-01-05 20:46:53Z sebastian $ */
#ifndef ZEND_GC_H
#define ZEND_GC_H
diff --git a/Zend/zend_globals.h b/Zend/zend_globals.h
index d199019a0..f1f6c50b8 100644
--- a/Zend/zend_globals.h
+++ b/Zend/zend_globals.h
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_globals.h 277761 2009-03-25 15:23:58Z dmitry $ */
+/* $Id: zend_globals.h 293155 2010-01-05 20:46:53Z sebastian $ */
#ifndef ZEND_GLOBALS_H
#define ZEND_GLOBALS_H
diff --git a/Zend/zend_globals_macros.h b/Zend/zend_globals_macros.h
index 3175fc530..72ea598a1 100644
--- a/Zend/zend_globals_macros.h
+++ b/Zend/zend_globals_macros.h
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_globals_macros.h 272370 2008-12-31 11:15:49Z sebastian $ */
+/* $Id: zend_globals_macros.h 293155 2010-01-05 20:46:53Z sebastian $ */
#ifndef ZEND_GLOBALS_MACROS_H
#define ZEND_GLOBALS_MACROS_H
diff --git a/Zend/zend_hash.c b/Zend/zend_hash.c
index e62ecbbf4..70d6bf71e 100644
--- a/Zend/zend_hash.c
+++ b/Zend/zend_hash.c
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_hash.c 281778 2009-06-07 19:28:15Z mattwil $ */
+/* $Id: zend_hash.c 293155 2010-01-05 20:46:53Z sebastian $ */
#include "zend.h"
diff --git a/Zend/zend_hash.h b/Zend/zend_hash.h
index a80cd563e..166003b1e 100644
--- a/Zend/zend_hash.h
+++ b/Zend/zend_hash.h
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_hash.h 281050 2009-05-25 01:18:00Z pollita $ */
+/* $Id: zend_hash.h 293155 2010-01-05 20:46:53Z sebastian $ */
#ifndef ZEND_HASH_H
#define ZEND_HASH_H
diff --git a/Zend/zend_highlight.c b/Zend/zend_highlight.c
index 60b2bc3da..769456540 100644
--- a/Zend/zend_highlight.c
+++ b/Zend/zend_highlight.c
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_highlight.c 279941 2009-05-05 01:35:44Z mattwil $ */
+/* $Id: zend_highlight.c 293155 2010-01-05 20:46:53Z sebastian $ */
#include "zend.h"
#include <zend_language_parser.h>
diff --git a/Zend/zend_highlight.h b/Zend/zend_highlight.h
index 756175f39..3402f6fa6 100644
--- a/Zend/zend_highlight.h
+++ b/Zend/zend_highlight.h
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_highlight.h 272370 2008-12-31 11:15:49Z sebastian $ */
+/* $Id: zend_highlight.h 293155 2010-01-05 20:46:53Z sebastian $ */
#ifndef ZEND_HIGHLIGHT_H
#define ZEND_HIGHLIGHT_H
diff --git a/Zend/zend_indent.c b/Zend/zend_indent.c
index 32d99cbfd..7542e4897 100644
--- a/Zend/zend_indent.c
+++ b/Zend/zend_indent.c
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_indent.c 272370 2008-12-31 11:15:49Z sebastian $ */
+/* $Id: zend_indent.c 293155 2010-01-05 20:46:53Z sebastian $ */
/* This indenter doesn't really work, it's here for no particular reason. */
diff --git a/Zend/zend_indent.h b/Zend/zend_indent.h
index cc00d11c6..261516473 100644
--- a/Zend/zend_indent.h
+++ b/Zend/zend_indent.h
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_indent.h 272370 2008-12-31 11:15:49Z sebastian $ */
+/* $Id: zend_indent.h 293155 2010-01-05 20:46:53Z sebastian $ */
#ifndef ZEND_INDENT_H
#define ZEND_INDENT_H
diff --git a/Zend/zend_ini.c b/Zend/zend_ini.c
index 6914d7bf1..ef6ef3753 100644
--- a/Zend/zend_ini.c
+++ b/Zend/zend_ini.c
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_ini.c 284254 2009-07-17 11:49:50Z jani $ */
+/* $Id: zend_ini.c 293155 2010-01-05 20:46:53Z sebastian $ */
#include "zend.h"
#include "zend_qsort.h"
diff --git a/Zend/zend_ini.h b/Zend/zend_ini.h
index 7f866d9ae..4b4ab02cb 100644
--- a/Zend/zend_ini.h
+++ b/Zend/zend_ini.h
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_ini.h 272370 2008-12-31 11:15:49Z sebastian $ */
+/* $Id: zend_ini.h 293155 2010-01-05 20:46:53Z sebastian $ */
#ifndef ZEND_INI_H
#define ZEND_INI_H
diff --git a/Zend/zend_ini_parser.c b/Zend/zend_ini_parser.c
index cfaf58304..d4e4084f8 100644
--- a/Zend/zend_ini_parser.c
+++ b/Zend/zend_ini_parser.c
@@ -116,7 +116,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -131,7 +131,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_ini_parser.y 272368 2008-12-31 11:13:47Z sebastian $ */
+/* $Id: zend_ini_parser.y 293154 2010-01-05 20:40:23Z sebastian $ */
#define DEBUG_CFG_PARSER 0
diff --git a/Zend/zend_ini_parser.y b/Zend/zend_ini_parser.y
index 121236dca..e4755fb0f 100644
--- a/Zend/zend_ini_parser.y
+++ b/Zend/zend_ini_parser.y
@@ -3,7 +3,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -18,7 +18,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_ini_parser.y 272368 2008-12-31 11:13:47Z sebastian $ */
+/* $Id: zend_ini_parser.y 293154 2010-01-05 20:40:23Z sebastian $ */
#define DEBUG_CFG_PARSER 0
diff --git a/Zend/zend_ini_scanner.c b/Zend/zend_ini_scanner.c
index b09018e98..d05d78ab6 100644
--- a/Zend/zend_ini_scanner.c
+++ b/Zend/zend_ini_scanner.c
@@ -1,10 +1,10 @@
-/* Generated by re2c 0.13.5 on Fri Aug 7 18:29:12 2009 */
+/* Generated by re2c 0.13.5 on Sun Feb 7 13:25:37 2010 */
#line 1 "Zend/zend_ini_scanner.l"
/*
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -22,7 +22,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_ini_scanner.c 286914 2009-08-07 15:45:56Z jani $ */
+/* $Id: zend_ini_scanner.c 294698 2010-02-07 12:08:22Z pajoye $ */
#include <errno.h>
#include "zend.h"
@@ -107,6 +107,17 @@ ZEND_API ts_rsrc_id ini_scanner_globals_id;
ZEND_API zend_ini_scanner_globals ini_scanner_globals;
#endif
+/* Eat leading whitespace */
+#define EAT_LEADING_WHITESPACE() \
+ while (yytext[0]) { \
+ if (yytext[0] == ' ' || yytext[0] == '\t') { \
+ SCNG(yy_text)++; \
+ yyleng--; \
+ } else { \
+ break; \
+ } \
+ }
+
/* Eat trailing whitespace + extra char */
#define EAT_TRAILING_WHITESPACE_EX(ch) \
while (yyleng > 0 && ( \
@@ -319,7 +330,7 @@ restart:
}
}
-#line 323 "Zend/zend_ini_scanner.c"
+#line 334 "Zend/zend_ini_scanner.c"
{
YYCTYPE yych;
unsigned int yyaccept = 0;
@@ -356,49 +367,49 @@ restart:
yyc_INITIAL:
{
static const unsigned char yybm[] = {
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 192, 0, 160, 160, 0, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 192, 128, 128, 160, 128, 160, 128, 160,
- 128, 128, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 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,
- 160, 160, 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, 160, 160,
- 160, 160, 160, 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, 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, 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, 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, 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,
+ 144, 144, 144, 144, 144, 144, 144, 144,
+ 144, 160, 0, 144, 144, 0, 144, 144,
+ 144, 144, 144, 144, 144, 144, 144, 144,
+ 144, 144, 144, 144, 144, 144, 144, 144,
+ 240, 128, 128, 144, 128, 144, 128, 144,
+ 128, 128, 144, 144, 144, 144, 144, 144,
+ 144, 144, 144, 144, 144, 144, 144, 144,
+ 144, 144, 144, 128, 144, 128, 144, 144,
+ 144, 144, 144, 144, 144, 144, 144, 144,
+ 144, 144, 144, 144, 144, 144, 144, 144,
+ 144, 144, 144, 144, 144, 144, 144, 144,
+ 144, 144, 144, 128, 144, 144, 144, 144,
+ 144, 144, 144, 144, 144, 144, 144, 144,
+ 144, 144, 144, 144, 144, 144, 144, 144,
+ 144, 144, 144, 144, 144, 144, 144, 144,
+ 144, 144, 144, 128, 128, 128, 128, 144,
+ 144, 144, 144, 144, 144, 144, 144, 144,
+ 144, 144, 144, 144, 144, 144, 144, 144,
+ 144, 144, 144, 144, 144, 144, 144, 144,
+ 144, 144, 144, 144, 144, 144, 144, 144,
+ 144, 144, 144, 144, 144, 144, 144, 144,
+ 144, 144, 144, 144, 144, 144, 144, 144,
+ 144, 144, 144, 144, 144, 144, 144, 144,
+ 144, 144, 144, 144, 144, 144, 144, 144,
+ 144, 144, 144, 144, 144, 144, 144, 144,
+ 144, 144, 144, 144, 144, 144, 144, 144,
+ 144, 144, 144, 144, 144, 144, 144, 144,
+ 144, 144, 144, 144, 144, 144, 144, 144,
+ 144, 144, 144, 144, 144, 144, 144, 144,
+ 144, 144, 144, 144, 144, 144, 144, 144,
+ 144, 144, 144, 144, 144, 144, 144, 144,
+ 144, 144, 144, 144, 144, 144, 144, 144,
};
YYDEBUG(0, *YYCURSOR);
- YYFILL(6);
+ YYFILL(5);
yych = *YYCURSOR;
YYDEBUG(-1, yych);
switch (yych) {
- case '\t':
- case ' ': goto yy4;
+ case '\t': goto yy4;
case '\n': goto yy6;
case '\r': goto yy8;
+ case ' ': goto yy9;
case '!':
case '"':
case '$':
@@ -408,8 +419,8 @@ yyc_INITIAL:
case '{':
case '|':
case '}':
- case '~': goto yy9;
- case '#': goto yy11;
+ case '~': goto yy10;
+ case '#': goto yy12;
case '%':
case '\'':
case '*':
@@ -424,106 +435,136 @@ yyc_INITIAL:
case '?':
case '@':
case ']':
- case '^': goto yy12;
- case ';': goto yy13;
- case '=': goto yy15;
+ case '^': goto yy13;
+ case ';': goto yy14;
+ case '=': goto yy16;
case 'F':
- case 'f': goto yy17;
+ case 'f': goto yy18;
case 'N':
- case 'n': goto yy18;
+ case 'n': goto yy19;
case 'O':
- case 'o': goto yy19;
+ case 'o': goto yy20;
case 'T':
- case 't': goto yy20;
+ case 't': goto yy21;
case 'Y':
- case 'y': goto yy21;
- case '[': goto yy22;
+ case 'y': goto yy22;
+ case '[': goto yy23;
default: goto yy2;
}
yy2:
YYDEBUG(2, *YYCURSOR);
++YYCURSOR;
yych = *YYCURSOR;
- goto yy25;
+ goto yy26;
yy3:
YYDEBUG(3, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 406 "Zend/zend_ini_scanner.l"
+#line 426 "Zend/zend_ini_scanner.l"
{ /* Get option name */
+ /* Eat leading whitespace */
+ EAT_LEADING_WHITESPACE();
+
+ /* Eat trailing whitespace */
+ EAT_TRAILING_WHITESPACE();
+
RETURN_TOKEN(TC_LABEL, yytext, yyleng);
}
-#line 456 "Zend/zend_ini_scanner.c"
+#line 473 "Zend/zend_ini_scanner.c"
yy4:
YYDEBUG(4, *YYCURSOR);
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- goto yy66;
+ goto yy68;
yy5:
YYDEBUG(5, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 518 "Zend/zend_ini_scanner.l"
+#line 544 "Zend/zend_ini_scanner.l"
{
/* eat whitespace */
goto restart;
}
-#line 470 "Zend/zend_ini_scanner.c"
+#line 487 "Zend/zend_ini_scanner.c"
yy6:
YYDEBUG(6, *YYCURSOR);
++YYCURSOR;
yy7:
YYDEBUG(7, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 523 "Zend/zend_ini_scanner.l"
+#line 549 "Zend/zend_ini_scanner.l"
{
SCNG(lineno)++;
return END_OF_LINE;
}
-#line 482 "Zend/zend_ini_scanner.c"
+#line 499 "Zend/zend_ini_scanner.c"
yy8:
YYDEBUG(8, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '\n') goto yy64;
+ if (yych == '\n') goto yy71;
goto yy7;
yy9:
YYDEBUG(9, *YYCURSOR);
- ++YYCURSOR;
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= ' ') {
+ if (yych <= '\n') {
+ if (yych <= 0x08) goto yy26;
+ if (yych <= '\t') goto yy67;
+ goto yy71;
+ } else {
+ if (yych == '\r') goto yy72;
+ if (yych <= 0x1F) goto yy26;
+ goto yy69;
+ }
+ } else {
+ if (yych <= ':') {
+ if (yych == '#') goto yy58;
+ goto yy26;
+ } else {
+ if (yych <= ';') goto yy53;
+ if (yych == '=') goto yy51;
+ goto yy26;
+ }
+ }
+yy10:
YYDEBUG(10, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(11, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 446 "Zend/zend_ini_scanner.l"
+#line 472 "Zend/zend_ini_scanner.l"
{ /* Disallow these chars outside option values */
return yytext[0];
}
-#line 497 "Zend/zend_ini_scanner.c"
-yy11:
- YYDEBUG(11, *YYCURSOR);
- yyaccept = 1;
- yych = *(YYMARKER = ++YYCURSOR);
- goto yy56;
+#line 538 "Zend/zend_ini_scanner.c"
yy12:
YYDEBUG(12, *YYCURSOR);
- yych = *++YYCURSOR;
- goto yy25;
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ goto yy59;
yy13:
YYDEBUG(13, *YYCURSOR);
+ yych = *++YYCURSOR;
+ goto yy26;
+yy14:
+ YYDEBUG(14, *YYCURSOR);
yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
- goto yy51;
- YYDEBUG(14, *YYCURSOR);
+ goto yy54;
+ YYDEBUG(15, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 546 "Zend/zend_ini_scanner.l"
+#line 572 "Zend/zend_ini_scanner.l"
{
return 0;
}
-#line 518 "Zend/zend_ini_scanner.c"
-yy15:
- YYDEBUG(15, *YYCURSOR);
- ++YYCURSOR;
- yych = *YYCURSOR;
- goto yy49;
+#line 559 "Zend/zend_ini_scanner.c"
yy16:
YYDEBUG(16, *YYCURSOR);
+ ++YYCURSOR;
+ yych = *YYCURSOR;
+ goto yy52;
+yy17:
+ YYDEBUG(17, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 410 "Zend/zend_ini_scanner.l"
+#line 436 "Zend/zend_ini_scanner.l"
{ /* Start option value */
if (SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW) {
yy_push_state(ST_RAW TSRMLS_CC);
@@ -532,63 +573,63 @@ yy16:
}
return '=';
}
-#line 536 "Zend/zend_ini_scanner.c"
-yy17:
- YYDEBUG(17, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy45;
- if (yych == 'a') goto yy45;
- goto yy25;
+#line 577 "Zend/zend_ini_scanner.c"
yy18:
YYDEBUG(18, *YYCURSOR);
yych = *++YYCURSOR;
+ if (yych == 'A') goto yy48;
+ if (yych == 'a') goto yy48;
+ goto yy26;
+yy19:
+ YYDEBUG(19, *YYCURSOR);
+ yych = *++YYCURSOR;
if (yych <= 'U') {
- if (yych == 'O') goto yy41;
- if (yych <= 'T') goto yy25;
- goto yy42;
+ if (yych == 'O') goto yy44;
+ if (yych <= 'T') goto yy26;
+ goto yy45;
} else {
if (yych <= 'o') {
- if (yych <= 'n') goto yy25;
- goto yy41;
+ if (yych <= 'n') goto yy26;
+ goto yy44;
} else {
- if (yych == 'u') goto yy42;
- goto yy25;
+ if (yych == 'u') goto yy45;
+ goto yy26;
}
}
-yy19:
- YYDEBUG(19, *YYCURSOR);
+yy20:
+ YYDEBUG(20, *YYCURSOR);
yych = *++YYCURSOR;
if (yych <= 'N') {
- if (yych == 'F') goto yy36;
- if (yych <= 'M') goto yy25;
- goto yy30;
+ if (yych == 'F') goto yy38;
+ if (yych <= 'M') goto yy26;
+ goto yy31;
} else {
if (yych <= 'f') {
- if (yych <= 'e') goto yy25;
- goto yy36;
+ if (yych <= 'e') goto yy26;
+ goto yy38;
} else {
- if (yych == 'n') goto yy30;
- goto yy25;
+ if (yych == 'n') goto yy31;
+ goto yy26;
}
}
-yy20:
- YYDEBUG(20, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'R') goto yy34;
- if (yych == 'r') goto yy34;
- goto yy25;
yy21:
YYDEBUG(21, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy26;
- if (yych == 'e') goto yy26;
- goto yy25;
+ if (yych == 'R') goto yy36;
+ if (yych == 'r') goto yy36;
+ goto yy26;
yy22:
YYDEBUG(22, *YYCURSOR);
- ++YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych == 'E') goto yy27;
+ if (yych == 'e') goto yy27;
+ goto yy26;
+yy23:
YYDEBUG(23, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(24, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 344 "Zend/zend_ini_scanner.l"
+#line 355 "Zend/zend_ini_scanner.l"
{ /* Section start */
/* Enter section data lookup state */
if (SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW) {
@@ -598,38 +639,41 @@ yy22:
}
return TC_SECTION;
}
-#line 602 "Zend/zend_ini_scanner.c"
-yy24:
- YYDEBUG(24, *YYCURSOR);
+#line 643 "Zend/zend_ini_scanner.c"
+yy25:
+ YYDEBUG(25, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
-yy25:
- YYDEBUG(25, *YYCURSOR);
- if (yybm[0+yych] & 32) {
- goto yy24;
- }
- if (yych == '[') goto yy27;
- goto yy3;
yy26:
YYDEBUG(26, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'S') goto yy30;
- if (yych == 's') goto yy30;
- goto yy25;
+ if (yybm[0+yych] & 16) {
+ goto yy25;
+ }
+ if (yych == '[') goto yy28;
+ goto yy3;
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(28, *YYCURSOR);
- if (yybm[0+yych] & 64) {
- goto yy27;
- }
YYDEBUG(29, *YYCURSOR);
+ if (yybm[0+yych] & 32) {
+ goto yy28;
+ }
+ YYDEBUG(30, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 369 "Zend/zend_ini_scanner.l"
+#line 380 "Zend/zend_ini_scanner.l"
{ /* Start of option with offset */
+ /* Eat leading whitespace */
+ EAT_LEADING_WHITESPACE();
+
/* Eat trailing whitespace and [ */
EAT_TRAILING_WHITESPACE_EX('[');
@@ -638,371 +682,431 @@ yy27:
RETURN_TOKEN(TC_OFFSET, yytext, yyleng);
}
-#line 642 "Zend/zend_ini_scanner.c"
-yy30:
- YYDEBUG(30, *YYCURSOR);
+#line 686 "Zend/zend_ini_scanner.c"
+yy31:
+ YYDEBUG(31, *YYCURSOR);
++YYCURSOR;
- if ((yych = *YYCURSOR) <= '$') {
+ YYFILL(1);
+ yych = *YYCURSOR;
+ YYDEBUG(32, *YYCURSOR);
+ if (yybm[0+yych] & 64) {
+ goto yy31;
+ }
+ if (yych <= '&') {
if (yych <= '\r') {
if (yych <= '\t') {
if (yych <= 0x08) goto yy25;
- goto yy32;
+ goto yy34;
} else {
- if (yych <= '\n') goto yy31;
+ if (yych <= '\n') goto yy33;
if (yych <= '\f') goto yy25;
}
} else {
- if (yych <= ' ') {
- if (yych <= 0x1F) goto yy25;
- goto yy32;
+ if (yych <= '#') {
+ if (yych <= ' ') goto yy25;
+ if (yych >= '#') goto yy25;
} else {
- if (yych == '#') goto yy25;
+ if (yych == '%') goto yy25;
}
}
} else {
- if (yych <= ':') {
- if (yych <= '&') {
- if (yych <= '%') goto yy25;
- } else {
+ if (yych <= '<') {
+ if (yych <= ')') {
if (yych <= '\'') goto yy25;
- if (yych >= '*') goto yy25;
+ } else {
+ if (yych != ';') goto yy25;
}
} else {
- if (yych <= '=') {
- if (yych == '<') goto yy25;
+ if (yych <= '[') {
+ if (yych <= '=') goto yy33;
+ if (yych <= 'Z') goto yy25;
+ goto yy28;
} else {
if (yych <= 'z') goto yy25;
if (yych >= 0x7F) goto yy25;
}
}
}
-yy31:
- YYDEBUG(31, *YYCURSOR);
+yy33:
+ YYDEBUG(33, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 398 "Zend/zend_ini_scanner.l"
+#line 418 "Zend/zend_ini_scanner.l"
{ /* TRUE value (when used outside option value/offset this causes parse error!) */
RETURN_TOKEN(BOOL_TRUE, "1", 1);
}
-#line 687 "Zend/zend_ini_scanner.c"
-yy32:
- YYDEBUG(32, *YYCURSOR);
+#line 738 "Zend/zend_ini_scanner.c"
+yy34:
+ YYDEBUG(34, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(33, *YYCURSOR);
- if (yych == '\t') goto yy32;
- if (yych == ' ') goto yy32;
- goto yy31;
-yy34:
- YYDEBUG(34, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'U') goto yy35;
- if (yych != 'u') goto yy25;
-yy35:
YYDEBUG(35, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy30;
- if (yych == 'e') goto yy30;
- goto yy25;
+ if (yych == '\t') goto yy34;
+ if (yych == ' ') goto yy34;
+ goto yy33;
yy36:
YYDEBUG(36, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'F') goto yy37;
- if (yych != 'f') goto yy25;
+ if (yych == 'U') goto yy37;
+ if (yych != 'u') goto yy26;
yy37:
YYDEBUG(37, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'E') goto yy31;
+ if (yych == 'e') goto yy31;
+ goto yy26;
+yy38:
+ YYDEBUG(38, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'F') goto yy39;
+ if (yych != 'f') goto yy26;
+yy39:
+ YYDEBUG(39, *YYCURSOR);
++YYCURSOR;
- if ((yych = *YYCURSOR) <= '$') {
+ YYFILL(1);
+ yych = *YYCURSOR;
+ YYDEBUG(40, *YYCURSOR);
+ if (yych <= '%') {
if (yych <= '\r') {
if (yych <= '\t') {
if (yych <= 0x08) goto yy25;
- goto yy39;
+ goto yy42;
} else {
- if (yych <= '\n') goto yy38;
+ if (yych <= '\n') goto yy41;
if (yych <= '\f') goto yy25;
}
} else {
- if (yych <= ' ') {
+ if (yych <= '"') {
if (yych <= 0x1F) goto yy25;
- goto yy39;
+ if (yych <= ' ') goto yy39;
} else {
- if (yych == '#') goto yy25;
+ if (yych != '$') goto yy25;
}
}
} else {
- if (yych <= ':') {
- if (yych <= '&') {
- if (yych <= '%') goto yy25;
+ if (yych <= '<') {
+ if (yych <= ')') {
+ if (yych == '\'') goto yy25;
} else {
- if (yych <= '\'') goto yy25;
- if (yych >= '*') goto yy25;
+ if (yych != ';') goto yy25;
}
} else {
- if (yych <= '=') {
- if (yych == '<') goto yy25;
+ if (yych <= '[') {
+ if (yych <= '=') goto yy41;
+ if (yych <= 'Z') goto yy25;
+ goto yy28;
} else {
if (yych <= 'z') goto yy25;
if (yych >= 0x7F) goto yy25;
}
}
}
-yy38:
- YYDEBUG(38, *YYCURSOR);
+yy41:
+ YYDEBUG(41, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 402 "Zend/zend_ini_scanner.l"
+#line 422 "Zend/zend_ini_scanner.l"
{ /* FALSE value (when used outside option value/offset this causes parse error!)*/
RETURN_TOKEN(BOOL_FALSE, "", 0);
}
-#line 757 "Zend/zend_ini_scanner.c"
-yy39:
- YYDEBUG(39, *YYCURSOR);
+#line 812 "Zend/zend_ini_scanner.c"
+yy42:
+ YYDEBUG(42, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(40, *YYCURSOR);
- if (yych == '\t') goto yy39;
- if (yych == ' ') goto yy39;
- goto yy38;
-yy41:
- YYDEBUG(41, *YYCURSOR);
+ YYDEBUG(43, *YYCURSOR);
+ if (yych == '\t') goto yy42;
+ if (yych == ' ') goto yy42;
+ goto yy41;
+yy44:
+ YYDEBUG(44, *YYCURSOR);
yych = *++YYCURSOR;
if (yych <= '&') {
if (yych <= 0x1F) {
if (yych <= '\n') {
- if (yych <= 0x08) goto yy25;
- if (yych <= '\t') goto yy39;
- goto yy38;
+ if (yych <= 0x08) goto yy26;
+ if (yych <= '\t') goto yy42;
+ goto yy41;
} else {
- if (yych == '\r') goto yy38;
- goto yy25;
+ if (yych == '\r') goto yy41;
+ goto yy26;
}
} else {
if (yych <= '#') {
if (yych <= ' ') goto yy39;
- if (yych <= '"') goto yy38;
- goto yy25;
+ if (yych <= '"') goto yy41;
+ goto yy26;
} else {
- if (yych == '%') goto yy25;
- goto yy38;
+ if (yych == '%') goto yy26;
+ goto yy41;
}
}
} else {
if (yych <= '=') {
if (yych <= ':') {
- if (yych <= '\'') goto yy25;
- if (yych <= ')') goto yy38;
- goto yy25;
+ if (yych <= '\'') goto yy26;
+ if (yych <= ')') goto yy41;
+ goto yy26;
} else {
- if (yych == '<') goto yy25;
- goto yy38;
+ if (yych == '<') goto yy26;
+ goto yy41;
}
} else {
if (yych <= 'm') {
- if (yych == 'N') goto yy44;
- goto yy25;
+ if (yych == 'N') goto yy47;
+ goto yy26;
} else {
- if (yych <= 'n') goto yy44;
- if (yych <= 'z') goto yy25;
- if (yych <= '~') goto yy38;
- goto yy25;
+ if (yych <= 'n') goto yy47;
+ if (yych <= 'z') goto yy26;
+ if (yych <= '~') goto yy41;
+ goto yy26;
}
}
}
-yy42:
- YYDEBUG(42, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'L') goto yy43;
- if (yych != 'l') goto yy25;
-yy43:
- YYDEBUG(43, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'L') goto yy37;
- if (yych == 'l') goto yy37;
- goto yy25;
-yy44:
- YYDEBUG(44, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy37;
- if (yych == 'e') goto yy37;
- goto yy25;
yy45:
YYDEBUG(45, *YYCURSOR);
yych = *++YYCURSOR;
if (yych == 'L') goto yy46;
- if (yych != 'l') goto yy25;
+ if (yych != 'l') goto yy26;
yy46:
YYDEBUG(46, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'S') goto yy47;
- if (yych != 's') goto yy25;
+ if (yych == 'L') goto yy39;
+ if (yych == 'l') goto yy39;
+ goto yy26;
yy47:
YYDEBUG(47, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy37;
- if (yych == 'e') goto yy37;
- goto yy25;
+ if (yych == 'E') goto yy39;
+ if (yych == 'e') goto yy39;
+ goto yy26;
yy48:
YYDEBUG(48, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych == 'L') goto yy49;
+ if (yych != 'l') goto yy26;
yy49:
YYDEBUG(49, *YYCURSOR);
- if (yych == '\t') goto yy48;
- if (yych == ' ') goto yy48;
- goto yy16;
+ yych = *++YYCURSOR;
+ if (yych == 'S') goto yy50;
+ if (yych != 's') goto yy26;
yy50:
YYDEBUG(50, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(2);
- yych = *YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych == 'E') goto yy39;
+ if (yych == 'e') goto yy39;
+ goto yy26;
yy51:
YYDEBUG(51, *YYCURSOR);
- if (yybm[0+yych] & 128) {
- goto yy50;
- }
- if (yych >= '\r') goto yy54;
+ ++YYCURSOR;
+ YYFILL(1);
+ yych = *YYCURSOR;
yy52:
YYDEBUG(52, *YYCURSOR);
- ++YYCURSOR;
+ if (yych == '\t') goto yy51;
+ if (yych == ' ') goto yy51;
+ goto yy17;
yy53:
YYDEBUG(53, *YYCURSOR);
+ ++YYCURSOR;
+ YYFILL(2);
+ yych = *YYCURSOR;
+yy54:
+ YYDEBUG(54, *YYCURSOR);
+ if (yybm[0+yych] & 128) {
+ goto yy53;
+ }
+ if (yych >= '\r') goto yy57;
+yy55:
+ YYDEBUG(55, *YYCURSOR);
+ ++YYCURSOR;
+yy56:
+ YYDEBUG(56, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 528 "Zend/zend_ini_scanner.l"
+#line 554 "Zend/zend_ini_scanner.l"
{ /* Comment */
BEGIN(INITIAL);
SCNG(lineno)++;
return END_OF_LINE;
}
-#line 878 "Zend/zend_ini_scanner.c"
-yy54:
- YYDEBUG(54, *YYCURSOR);
+#line 933 "Zend/zend_ini_scanner.c"
+yy57:
+ YYDEBUG(57, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '\n') goto yy52;
- goto yy53;
-yy55:
- YYDEBUG(55, *YYCURSOR);
+ if (yych == '\n') goto yy55;
+ goto yy56;
+yy58:
+ YYDEBUG(58, *YYCURSOR);
yyaccept = 1;
YYMARKER = ++YYCURSOR;
YYFILL(2);
yych = *YYCURSOR;
-yy56:
- YYDEBUG(56, *YYCURSOR);
+yy59:
+ YYDEBUG(59, *YYCURSOR);
if (yych <= '&') {
if (yych <= '\r') {
if (yych <= '\t') {
- if (yych <= 0x08) goto yy55;
+ if (yych <= 0x08) goto yy58;
} else {
- if (yych <= '\n') goto yy61;
- if (yych <= '\f') goto yy55;
- goto yy63;
+ if (yych <= '\n') goto yy64;
+ if (yych <= '\f') goto yy58;
+ goto yy66;
}
} else {
if (yych <= '#') {
- if (yych <= 0x1F) goto yy55;
- if (yych >= '#') goto yy55;
+ if (yych <= ' ') goto yy58;
+ if (yych >= '#') goto yy58;
} else {
- if (yych == '%') goto yy55;
+ if (yych == '%') goto yy58;
}
}
} else {
if (yych <= '<') {
if (yych <= ')') {
- if (yych <= '\'') goto yy55;
+ if (yych <= '\'') goto yy58;
} else {
- if (yych != ';') goto yy55;
+ if (yych != ';') goto yy58;
}
} else {
if (yych <= '[') {
- if (yych <= '=') goto yy57;
- if (yych <= 'Z') goto yy55;
- goto yy59;
+ if (yych <= '=') goto yy60;
+ if (yych <= 'Z') goto yy58;
+ goto yy62;
} else {
- if (yych <= 'z') goto yy55;
- if (yych >= 0x7F) goto yy55;
+ if (yych <= 'z') goto yy58;
+ if (yych >= 0x7F) goto yy58;
}
}
}
-yy57:
- YYDEBUG(57, *YYCURSOR);
+yy60:
+ YYDEBUG(60, *YYCURSOR);
++YYCURSOR;
YYFILL(2);
yych = *YYCURSOR;
- YYDEBUG(58, *YYCURSOR);
- if (yych == '\n') goto yy61;
- if (yych == '\r') goto yy63;
- goto yy57;
-yy59:
- YYDEBUG(59, *YYCURSOR);
+ YYDEBUG(61, *YYCURSOR);
+ if (yych == '\n') goto yy64;
+ if (yych == '\r') goto yy66;
+ goto yy60;
+yy62:
+ YYDEBUG(62, *YYCURSOR);
yyaccept = 3;
YYMARKER = ++YYCURSOR;
YYFILL(2);
yych = *YYCURSOR;
- YYDEBUG(60, *YYCURSOR);
+ YYDEBUG(63, *YYCURSOR);
if (yych <= '\f') {
- if (yych <= 0x08) goto yy57;
- if (yych <= '\t') goto yy59;
- if (yych >= '\v') goto yy57;
+ if (yych <= 0x08) goto yy60;
+ if (yych <= '\t') goto yy62;
+ if (yych >= '\v') goto yy60;
} else {
- if (yych <= '\r') goto yy63;
- if (yych == ' ') goto yy59;
- goto yy57;
+ if (yych <= '\r') goto yy66;
+ if (yych == ' ') goto yy62;
+ goto yy60;
}
-yy61:
- YYDEBUG(61, *YYCURSOR);
+yy64:
+ YYDEBUG(64, *YYCURSOR);
++YYCURSOR;
-yy62:
- YYDEBUG(62, *YYCURSOR);
+yy65:
+ YYDEBUG(65, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 534 "Zend/zend_ini_scanner.l"
+#line 560 "Zend/zend_ini_scanner.l"
{ /* #Comment */
zend_error(E_DEPRECATED, "Comments starting with '#' are deprecated in %s on line %d", zend_ini_scanner_get_filename(TSRMLS_C), SCNG(lineno));
BEGIN(INITIAL);
SCNG(lineno)++;
return END_OF_LINE;
}
-#line 965 "Zend/zend_ini_scanner.c"
-yy63:
- YYDEBUG(63, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '\n') goto yy61;
- goto yy62;
-yy64:
- YYDEBUG(64, *YYCURSOR);
+#line 1020 "Zend/zend_ini_scanner.c"
+yy66:
+ YYDEBUG(66, *YYCURSOR);
yych = *++YYCURSOR;
- goto yy7;
-yy65:
- YYDEBUG(65, *YYCURSOR);
+ if (yych == '\n') goto yy64;
+ goto yy65;
+yy67:
+ YYDEBUG(67, *YYCURSOR);
yyaccept = 0;
YYMARKER = ++YYCURSOR;
YYFILL(2);
yych = *YYCURSOR;
-yy66:
- YYDEBUG(66, *YYCURSOR);
+yy68:
+ YYDEBUG(68, *YYCURSOR);
if (yych <= ' ') {
if (yych <= '\n') {
if (yych <= 0x08) goto yy5;
- if (yych <= '\t') goto yy65;
- goto yy64;
+ if (yych <= '\t') goto yy67;
+ goto yy71;
} else {
- if (yych == '\r') goto yy67;
+ if (yych == '\r') goto yy72;
if (yych <= 0x1F) goto yy5;
- goto yy65;
+ goto yy67;
}
} else {
if (yych <= ':') {
- if (yych == '#') goto yy57;
+ if (yych == '#') goto yy60;
goto yy5;
} else {
- if (yych <= ';') goto yy50;
- if (yych == '=') goto yy48;
+ if (yych <= ';') goto yy53;
+ if (yych == '=') goto yy51;
goto yy5;
}
}
-yy67:
- YYDEBUG(67, *YYCURSOR);
+yy69:
+ YYDEBUG(69, *YYCURSOR);
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ YYFILL(2);
+ yych = *YYCURSOR;
+ YYDEBUG(70, *YYCURSOR);
+ if (yych <= '%') {
+ if (yych <= '\r') {
+ if (yych <= '\t') {
+ if (yych <= 0x08) goto yy25;
+ goto yy67;
+ } else {
+ if (yych <= '\n') goto yy71;
+ if (yych <= '\f') goto yy25;
+ goto yy72;
+ }
+ } else {
+ if (yych <= '"') {
+ if (yych <= 0x1F) goto yy25;
+ if (yych <= ' ') goto yy69;
+ goto yy3;
+ } else {
+ if (yych <= '#') goto yy58;
+ if (yych <= '$') goto yy3;
+ goto yy25;
+ }
+ }
+ } else {
+ if (yych <= '<') {
+ if (yych <= ')') {
+ if (yych == '\'') goto yy25;
+ goto yy3;
+ } else {
+ if (yych == ';') goto yy53;
+ goto yy25;
+ }
+ } else {
+ if (yych <= '[') {
+ if (yych <= '=') goto yy51;
+ if (yych <= 'Z') goto yy25;
+ goto yy28;
+ } else {
+ if (yych <= 'z') goto yy25;
+ if (yych <= '~') goto yy3;
+ goto yy25;
+ }
+ }
+ }
+yy71:
+ YYDEBUG(71, *YYCURSOR);
+ yych = *++YYCURSOR;
+ goto yy7;
+yy72:
+ YYDEBUG(72, *YYCURSOR);
++YYCURSOR;
- if ((yych = *YYCURSOR) == '\n') goto yy64;
+ if ((yych = *YYCURSOR) == '\n') goto yy71;
goto yy7;
}
/* *********************************** */
@@ -1042,17 +1146,17 @@ yyc_ST_DOUBLE_QUOTES:
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
};
- YYDEBUG(68, *YYCURSOR);
+ YYDEBUG(73, *YYCURSOR);
YYFILL(2);
yych = *YYCURSOR;
- if (yych == '"') goto yy72;
- if (yych == '$') goto yy74;
- YYDEBUG(70, *YYCURSOR);
+ if (yych == '"') goto yy77;
+ if (yych == '$') goto yy79;
+ YYDEBUG(75, *YYCURSOR);
++YYCURSOR;
-yy71:
- YYDEBUG(71, *YYCURSOR);
+yy76:
+ YYDEBUG(76, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 478 "Zend/zend_ini_scanner.l"
+#line 504 "Zend/zend_ini_scanner.l"
{ /* Escape double quoted string contents */
if (YYCURSOR > YYLIMIT) {
return 0;
@@ -1088,46 +1192,46 @@ yy71:
zend_ini_escape_string(ini_lval, yytext, yyleng, '"' TSRMLS_CC);
return TC_QUOTED_STRING;
}
-#line 1092 "Zend/zend_ini_scanner.c"
-yy72:
- YYDEBUG(72, *YYCURSOR);
+#line 1196 "Zend/zend_ini_scanner.c"
+yy77:
+ YYDEBUG(77, *YYCURSOR);
++YYCURSOR;
yych = *YYCURSOR;
- goto yy78;
-yy73:
- YYDEBUG(73, *YYCURSOR);
+ goto yy83;
+yy78:
+ YYDEBUG(78, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 473 "Zend/zend_ini_scanner.l"
+#line 499 "Zend/zend_ini_scanner.l"
{ /* Double quoted '"' string ends */
yy_pop_state(TSRMLS_C);
return '"';
}
-#line 1106 "Zend/zend_ini_scanner.c"
-yy74:
- YYDEBUG(74, *YYCURSOR);
+#line 1210 "Zend/zend_ini_scanner.c"
+yy79:
+ YYDEBUG(79, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych != '{') goto yy71;
- YYDEBUG(75, *YYCURSOR);
+ if (yych != '{') goto yy76;
+ YYDEBUG(80, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(76, *YYCURSOR);
+ YYDEBUG(81, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 384 "Zend/zend_ini_scanner.l"
+#line 398 "Zend/zend_ini_scanner.l"
{ /* Variable start */
yy_push_state(ST_VARNAME TSRMLS_CC);
return TC_DOLLAR_CURLY;
}
-#line 1120 "Zend/zend_ini_scanner.c"
-yy77:
- YYDEBUG(77, *YYCURSOR);
+#line 1224 "Zend/zend_ini_scanner.c"
+yy82:
+ YYDEBUG(82, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
-yy78:
- YYDEBUG(78, *YYCURSOR);
+yy83:
+ YYDEBUG(83, *YYCURSOR);
if (yybm[0+yych] & 128) {
- goto yy77;
+ goto yy82;
}
- goto yy73;
+ goto yy78;
}
/* *********************************** */
yyc_ST_OFFSET:
@@ -1166,495 +1270,496 @@ yyc_ST_OFFSET:
66, 66, 66, 66, 66, 66, 66, 66,
66, 66, 66, 66, 66, 66, 66, 66,
};
- YYDEBUG(79, *YYCURSOR);
+ YYDEBUG(84, *YYCURSOR);
YYFILL(2);
yych = *YYCURSOR;
- if (yych <= ',') {
+ if (yych <= '-') {
if (yych <= ' ') {
if (yych <= '\n') {
- if (yych <= 0x08) goto yy81;
- if (yych <= '\t') goto yy83;
- goto yy84;
+ if (yych <= 0x08) goto yy86;
+ if (yych <= '\t') goto yy88;
+ goto yy89;
} else {
- if (yych == '\r') goto yy84;
- if (yych >= ' ') goto yy83;
+ if (yych == '\r') goto yy89;
+ if (yych >= ' ') goto yy88;
}
} else {
- if (yych <= '#') {
- if (yych == '"') goto yy86;
+ if (yych <= '$') {
+ if (yych == '"') goto yy91;
+ if (yych >= '$') goto yy93;
} else {
- if (yych <= '$') goto yy88;
- if (yych == '\'') goto yy89;
+ if (yych == '\'') goto yy94;
+ if (yych >= '-') goto yy95;
}
}
} else {
- if (yych <= '@') {
- if (yych <= '/') {
- if (yych <= '-') goto yy90;
- if (yych <= '.') goto yy91;
+ if (yych <= 'Z') {
+ if (yych <= '9') {
+ if (yych <= '.') goto yy96;
+ if (yych >= '0') goto yy97;
} else {
- if (yych <= '9') goto yy92;
- if (yych == ';') goto yy84;
+ if (yych == ';') goto yy89;
+ if (yych >= 'A') goto yy99;
}
} else {
- if (yych <= '\\') {
- if (yych <= 'Z') goto yy94;
- if (yych >= '\\') goto yy96;
+ if (yych <= '^') {
+ if (yych <= '[') goto yy86;
+ if (yych <= '\\') goto yy101;
+ if (yych <= ']') goto yy102;
} else {
- if (yych <= ']') goto yy97;
- if (yych <= '`') goto yy81;
- if (yych <= 'z') goto yy94;
+ if (yych == '`') goto yy86;
+ if (yych <= 'z') goto yy99;
}
}
}
-yy81:
- YYDEBUG(81, *YYCURSOR);
+yy86:
+ YYDEBUG(86, *YYCURSOR);
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- goto yy100;
-yy82:
- YYDEBUG(82, *YYCURSOR);
+ goto yy105;
+yy87:
+ YYDEBUG(87, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 464 "Zend/zend_ini_scanner.l"
+#line 490 "Zend/zend_ini_scanner.l"
{ /* Get rest as section/offset value */
RETURN_TOKEN(TC_STRING, yytext, yyleng);
}
-#line 1223 "Zend/zend_ini_scanner.c"
-yy83:
- YYDEBUG(83, *YYCURSOR);
+#line 1328 "Zend/zend_ini_scanner.c"
+yy88:
+ YYDEBUG(88, *YYCURSOR);
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
if (yybm[0+yych] & 128) {
- goto yy126;
+ goto yy131;
}
- if (yych == '"') goto yy128;
- if (yych == ']') goto yy129;
- goto yy100;
-yy84:
- YYDEBUG(84, *YYCURSOR);
+ if (yych == '"') goto yy133;
+ if (yych == ']') goto yy134;
+ goto yy105;
+yy89:
+ YYDEBUG(89, *YYCURSOR);
++YYCURSOR;
-yy85:
- YYDEBUG(85, *YYCURSOR);
+yy90:
+ YYDEBUG(90, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 546 "Zend/zend_ini_scanner.l"
+#line 572 "Zend/zend_ini_scanner.l"
{
return 0;
}
-#line 1244 "Zend/zend_ini_scanner.c"
-yy86:
- YYDEBUG(86, *YYCURSOR);
+#line 1349 "Zend/zend_ini_scanner.c"
+yy91:
+ YYDEBUG(91, *YYCURSOR);
++YYCURSOR;
-yy87:
- YYDEBUG(87, *YYCURSOR);
+yy92:
+ YYDEBUG(92, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 468 "Zend/zend_ini_scanner.l"
+#line 494 "Zend/zend_ini_scanner.l"
{ /* Double quoted '"' string start */
yy_push_state(ST_DOUBLE_QUOTES TSRMLS_CC);
return '"';
}
-#line 1256 "Zend/zend_ini_scanner.c"
-yy88:
- YYDEBUG(88, *YYCURSOR);
+#line 1361 "Zend/zend_ini_scanner.c"
+yy93:
+ YYDEBUG(93, *YYCURSOR);
yych = *++YYCURSOR;
if (yych <= '\\') {
- if (yych <= 0x00) goto yy85;
- if (yych <= '[') goto yy99;
- goto yy104;
+ if (yych <= 0x00) goto yy90;
+ if (yych <= '[') goto yy104;
+ goto yy109;
} else {
- if (yych == '{') goto yy124;
- goto yy99;
+ if (yych == '{') goto yy129;
+ goto yy104;
}
-yy89:
- YYDEBUG(89, *YYCURSOR);
+yy94:
+ YYDEBUG(94, *YYCURSOR);
yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
if (yybm[0+yych] & 64) {
- goto yy120;
+ goto yy125;
}
- goto yy85;
-yy90:
- YYDEBUG(90, *YYCURSOR);
+ goto yy90;
+yy95:
+ YYDEBUG(95, *YYCURSOR);
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '/') goto yy100;
- if (yych <= '9') goto yy118;
- goto yy100;
-yy91:
- YYDEBUG(91, *YYCURSOR);
+ if (yych <= '/') goto yy105;
+ if (yych <= '9') goto yy123;
+ goto yy105;
+yy96:
+ YYDEBUG(96, *YYCURSOR);
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '/') goto yy100;
- if (yych <= '9') goto yy116;
- goto yy100;
-yy92:
- YYDEBUG(92, *YYCURSOR);
+ if (yych <= '/') goto yy105;
+ if (yych <= '9') goto yy121;
+ goto yy105;
+yy97:
+ YYDEBUG(97, *YYCURSOR);
yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
if (yych <= '\'') {
if (yych <= '\r') {
- if (yych == '\n') goto yy93;
- if (yych <= '\f') goto yy100;
+ if (yych == '\n') goto yy98;
+ if (yych <= '\f') goto yy105;
} else {
- if (yych == '"') goto yy93;
- if (yych <= '&') goto yy100;
+ if (yych == '"') goto yy98;
+ if (yych <= '&') goto yy105;
}
} else {
if (yych <= '9') {
- if (yych == '.') goto yy112;
- if (yych <= '/') goto yy100;
- goto yy114;
+ if (yych == '.') goto yy117;
+ if (yych <= '/') goto yy105;
+ goto yy119;
} else {
if (yych <= ';') {
- if (yych <= ':') goto yy100;
+ if (yych <= ':') goto yy105;
} else {
- if (yych != ']') goto yy100;
+ if (yych != ']') goto yy105;
}
}
}
-yy93:
- YYDEBUG(93, *YYCURSOR);
+yy98:
+ YYDEBUG(98, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 442 "Zend/zend_ini_scanner.l"
+#line 468 "Zend/zend_ini_scanner.l"
{ /* Get number option value as string */
RETURN_TOKEN(TC_NUMBER, yytext, yyleng);
}
-#line 1322 "Zend/zend_ini_scanner.c"
-yy94:
- YYDEBUG(94, *YYCURSOR);
+#line 1427 "Zend/zend_ini_scanner.c"
+yy99:
+ YYDEBUG(99, *YYCURSOR);
yyaccept = 3;
yych = *(YYMARKER = ++YYCURSOR);
if (yybm[0+yych] & 16) {
- goto yy110;
+ goto yy115;
}
if (yych <= '"') {
if (yych <= '\f') {
- if (yych != '\n') goto yy100;
+ if (yych != '\n') goto yy105;
} else {
- if (yych <= '\r') goto yy95;
- if (yych <= '!') goto yy100;
+ if (yych <= '\r') goto yy100;
+ if (yych <= '!') goto yy105;
}
} else {
if (yych <= ':') {
- if (yych != '\'') goto yy100;
+ if (yych != '\'') goto yy105;
} else {
- if (yych <= ';') goto yy95;
- if (yych != ']') goto yy100;
+ if (yych <= ';') goto yy100;
+ if (yych != ']') goto yy105;
}
}
-yy95:
- YYDEBUG(95, *YYCURSOR);
+yy100:
+ YYDEBUG(100, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 438 "Zend/zend_ini_scanner.l"
+#line 464 "Zend/zend_ini_scanner.l"
{ /* Get constant option value */
RETURN_TOKEN(TC_CONSTANT, yytext, yyleng);
}
-#line 1352 "Zend/zend_ini_scanner.c"
-yy96:
- YYDEBUG(96, *YYCURSOR);
+#line 1457 "Zend/zend_ini_scanner.c"
+yy101:
+ YYDEBUG(101, *YYCURSOR);
yych = *++YYCURSOR;
- goto yy99;
-yy97:
- YYDEBUG(97, *YYCURSOR);
+ goto yy104;
+yy102:
+ YYDEBUG(102, *YYCURSOR);
++YYCURSOR;
-yy98:
- YYDEBUG(98, *YYCURSOR);
+yy103:
+ YYDEBUG(103, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 379 "Zend/zend_ini_scanner.l"
+#line 393 "Zend/zend_ini_scanner.l"
{ /* End of section or an option offset */
BEGIN(INITIAL);
return ']';
}
-#line 1368 "Zend/zend_ini_scanner.c"
-yy99:
- YYDEBUG(99, *YYCURSOR);
+#line 1473 "Zend/zend_ini_scanner.c"
+yy104:
+ YYDEBUG(104, *YYCURSOR);
yyaccept = 0;
YYMARKER = ++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
-yy100:
- YYDEBUG(100, *YYCURSOR);
+yy105:
+ YYDEBUG(105, *YYCURSOR);
if (yybm[0+yych] & 2) {
- goto yy99;
+ goto yy104;
}
- if (yych == '$') goto yy102;
- if (yych != '\\') goto yy82;
-yy101:
- YYDEBUG(101, *YYCURSOR);
+ if (yych == '$') goto yy107;
+ if (yych != '\\') goto yy87;
+yy106:
+ YYDEBUG(106, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- goto yy99;
-yy102:
- YYDEBUG(102, *YYCURSOR);
+ goto yy104;
+yy107:
+ YYDEBUG(107, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
if (yych <= '\\') {
- if (yych <= 0x00) goto yy103;
- if (yych <= '[') goto yy99;
- goto yy104;
+ if (yych <= 0x00) goto yy108;
+ if (yych <= '[') goto yy104;
+ goto yy109;
} else {
- if (yych != '{') goto yy99;
+ if (yych != '{') goto yy104;
}
-yy103:
- YYDEBUG(103, *YYCURSOR);
+yy108:
+ YYDEBUG(108, *YYCURSOR);
YYCURSOR = YYMARKER;
if (yyaccept <= 1) {
if (yyaccept <= 0) {
- goto yy82;
+ goto yy87;
} else {
- goto yy85;
+ goto yy90;
}
} else {
if (yyaccept <= 2) {
- goto yy93;
+ goto yy98;
} else {
- goto yy95;
+ goto yy100;
}
}
-yy104:
- YYDEBUG(104, *YYCURSOR);
+yy109:
+ YYDEBUG(109, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
if (yybm[0+yych] & 4) {
- goto yy105;
+ goto yy110;
}
- if (yych == '\\') goto yy107;
- goto yy99;
-yy105:
- YYDEBUG(105, *YYCURSOR);
+ if (yych == '\\') goto yy112;
+ goto yy104;
+yy110:
+ YYDEBUG(110, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(106, *YYCURSOR);
+ YYDEBUG(111, *YYCURSOR);
if (yybm[0+yych] & 4) {
- goto yy105;
+ goto yy110;
}
- if (yych == '\\') goto yy109;
- goto yy99;
-yy107:
- YYDEBUG(107, *YYCURSOR);
+ if (yych == '\\') goto yy114;
+ goto yy104;
+yy112:
+ YYDEBUG(112, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(108, *YYCURSOR);
+ YYDEBUG(113, *YYCURSOR);
if (yybm[0+yych] & 4) {
- goto yy105;
+ goto yy110;
}
- if (yych == '\\') goto yy107;
- goto yy99;
-yy109:
- YYDEBUG(109, *YYCURSOR);
+ if (yych == '\\') goto yy112;
+ goto yy104;
+yy114:
+ YYDEBUG(114, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
if (yybm[0+yych] & 4) {
- goto yy105;
+ goto yy110;
}
- if (yych == '\\') goto yy107;
- goto yy99;
-yy110:
- YYDEBUG(110, *YYCURSOR);
+ if (yych == '\\') goto yy112;
+ goto yy104;
+yy115:
+ YYDEBUG(115, *YYCURSOR);
yyaccept = 3;
YYMARKER = ++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(111, *YYCURSOR);
+ YYDEBUG(116, *YYCURSOR);
if (yybm[0+yych] & 16) {
- goto yy110;
+ goto yy115;
}
if (yych <= '$') {
if (yych <= '\r') {
- if (yych == '\n') goto yy95;
- if (yych <= '\f') goto yy99;
- goto yy95;
+ if (yych == '\n') goto yy100;
+ if (yych <= '\f') goto yy104;
+ goto yy100;
} else {
- if (yych == '"') goto yy95;
- if (yych <= '#') goto yy99;
- goto yy102;
+ if (yych == '"') goto yy100;
+ if (yych <= '#') goto yy104;
+ goto yy107;
}
} else {
if (yych <= ';') {
- if (yych == '\'') goto yy95;
- if (yych <= ':') goto yy99;
- goto yy95;
+ if (yych == '\'') goto yy100;
+ if (yych <= ':') goto yy104;
+ goto yy100;
} else {
- if (yych <= '[') goto yy99;
- if (yych <= '\\') goto yy101;
- if (yych <= ']') goto yy95;
- goto yy99;
+ if (yych <= '[') goto yy104;
+ if (yych <= '\\') goto yy106;
+ if (yych <= ']') goto yy100;
+ goto yy104;
}
}
-yy112:
- YYDEBUG(112, *YYCURSOR);
+yy117:
+ YYDEBUG(117, *YYCURSOR);
yyaccept = 2;
YYMARKER = ++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(113, *YYCURSOR);
+ YYDEBUG(118, *YYCURSOR);
if (yybm[0+yych] & 32) {
- goto yy112;
+ goto yy117;
}
if (yych <= '$') {
if (yych <= '\r') {
- if (yych == '\n') goto yy93;
- if (yych <= '\f') goto yy99;
- goto yy93;
+ if (yych == '\n') goto yy98;
+ if (yych <= '\f') goto yy104;
+ goto yy98;
} else {
- if (yych == '"') goto yy93;
- if (yych <= '#') goto yy99;
- goto yy102;
+ if (yych == '"') goto yy98;
+ if (yych <= '#') goto yy104;
+ goto yy107;
}
} else {
if (yych <= ';') {
- if (yych == '\'') goto yy93;
- if (yych <= ':') goto yy99;
- goto yy93;
+ if (yych == '\'') goto yy98;
+ if (yych <= ':') goto yy104;
+ goto yy98;
} else {
- if (yych <= '[') goto yy99;
- if (yych <= '\\') goto yy101;
- if (yych <= ']') goto yy93;
- goto yy99;
+ if (yych <= '[') goto yy104;
+ if (yych <= '\\') goto yy106;
+ if (yych <= ']') goto yy98;
+ goto yy104;
}
}
-yy114:
- YYDEBUG(114, *YYCURSOR);
+yy119:
+ YYDEBUG(119, *YYCURSOR);
yyaccept = 2;
YYMARKER = ++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(115, *YYCURSOR);
+ YYDEBUG(120, *YYCURSOR);
if (yych <= '\'') {
if (yych <= '!') {
if (yych <= '\n') {
- if (yych <= '\t') goto yy99;
- goto yy93;
+ if (yych <= '\t') goto yy104;
+ goto yy98;
} else {
- if (yych == '\r') goto yy93;
- goto yy99;
+ if (yych == '\r') goto yy98;
+ goto yy104;
}
} else {
if (yych <= '#') {
- if (yych <= '"') goto yy93;
- goto yy99;
+ if (yych <= '"') goto yy98;
+ goto yy104;
} else {
- if (yych <= '$') goto yy102;
- if (yych <= '&') goto yy99;
- goto yy93;
+ if (yych <= '$') goto yy107;
+ if (yych <= '&') goto yy104;
+ goto yy98;
}
}
} else {
if (yych <= ':') {
if (yych <= '.') {
- if (yych <= '-') goto yy99;
- goto yy112;
+ if (yych <= '-') goto yy104;
+ goto yy117;
} else {
- if (yych <= '/') goto yy99;
- if (yych <= '9') goto yy114;
- goto yy99;
+ if (yych <= '/') goto yy104;
+ if (yych <= '9') goto yy119;
+ goto yy104;
}
} else {
if (yych <= '[') {
- if (yych <= ';') goto yy93;
- goto yy99;
+ if (yych <= ';') goto yy98;
+ goto yy104;
} else {
- if (yych <= '\\') goto yy101;
- if (yych <= ']') goto yy93;
- goto yy99;
+ if (yych <= '\\') goto yy106;
+ if (yych <= ']') goto yy98;
+ goto yy104;
}
}
}
-yy116:
- YYDEBUG(116, *YYCURSOR);
+yy121:
+ YYDEBUG(121, *YYCURSOR);
yyaccept = 2;
YYMARKER = ++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(117, *YYCURSOR);
+ YYDEBUG(122, *YYCURSOR);
if (yych <= '&') {
if (yych <= '\r') {
- if (yych == '\n') goto yy93;
- if (yych <= '\f') goto yy99;
- goto yy93;
+ if (yych == '\n') goto yy98;
+ if (yych <= '\f') goto yy104;
+ goto yy98;
} else {
if (yych <= '"') {
- if (yych <= '!') goto yy99;
- goto yy93;
+ if (yych <= '!') goto yy104;
+ goto yy98;
} else {
- if (yych == '$') goto yy102;
- goto yy99;
+ if (yych == '$') goto yy107;
+ goto yy104;
}
}
} else {
if (yych <= ':') {
- if (yych <= '\'') goto yy93;
- if (yych <= '/') goto yy99;
- if (yych <= '9') goto yy116;
- goto yy99;
+ if (yych <= '\'') goto yy98;
+ if (yych <= '/') goto yy104;
+ if (yych <= '9') goto yy121;
+ goto yy104;
} else {
if (yych <= '[') {
- if (yych <= ';') goto yy93;
- goto yy99;
+ if (yych <= ';') goto yy98;
+ goto yy104;
} else {
- if (yych <= '\\') goto yy101;
- if (yych <= ']') goto yy93;
- goto yy99;
+ if (yych <= '\\') goto yy106;
+ if (yych <= ']') goto yy98;
+ goto yy104;
}
}
}
-yy118:
- YYDEBUG(118, *YYCURSOR);
+yy123:
+ YYDEBUG(123, *YYCURSOR);
yyaccept = 2;
YYMARKER = ++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(119, *YYCURSOR);
+ YYDEBUG(124, *YYCURSOR);
if (yych <= '&') {
if (yych <= '\r') {
- if (yych == '\n') goto yy93;
- if (yych <= '\f') goto yy99;
- goto yy93;
+ if (yych == '\n') goto yy98;
+ if (yych <= '\f') goto yy104;
+ goto yy98;
} else {
if (yych <= '"') {
- if (yych <= '!') goto yy99;
- goto yy93;
+ if (yych <= '!') goto yy104;
+ goto yy98;
} else {
- if (yych == '$') goto yy102;
- goto yy99;
+ if (yych == '$') goto yy107;
+ goto yy104;
}
}
} else {
if (yych <= ':') {
- if (yych <= '\'') goto yy93;
- if (yych <= '/') goto yy99;
- if (yych <= '9') goto yy118;
- goto yy99;
+ if (yych <= '\'') goto yy98;
+ if (yych <= '/') goto yy104;
+ if (yych <= '9') goto yy123;
+ goto yy104;
} else {
if (yych <= '[') {
- if (yych <= ';') goto yy93;
- goto yy99;
+ if (yych <= ';') goto yy98;
+ goto yy104;
} else {
- if (yych <= '\\') goto yy101;
- if (yych <= ']') goto yy93;
- goto yy99;
+ if (yych <= '\\') goto yy106;
+ if (yych <= ']') goto yy98;
+ goto yy104;
}
}
}
-yy120:
- YYDEBUG(120, *YYCURSOR);
+yy125:
+ YYDEBUG(125, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(121, *YYCURSOR);
+ YYDEBUG(126, *YYCURSOR);
if (yybm[0+yych] & 64) {
- goto yy120;
+ goto yy125;
}
- YYDEBUG(122, *YYCURSOR);
+ YYDEBUG(127, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(123, *YYCURSOR);
+ YYDEBUG(128, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 354 "Zend/zend_ini_scanner.l"
+#line 365 "Zend/zend_ini_scanner.l"
{ /* Raw string */
/* Eat leading and trailing single quotes */
if (yytext[0] == '\'' && yytext[yyleng - 1] == '\'') {
@@ -1663,59 +1768,59 @@ yy120:
}
RETURN_TOKEN(TC_RAW, yytext, yyleng);
}
-#line 1667 "Zend/zend_ini_scanner.c"
-yy124:
- YYDEBUG(124, *YYCURSOR);
+#line 1772 "Zend/zend_ini_scanner.c"
+yy129:
+ YYDEBUG(129, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(125, *YYCURSOR);
+ YYDEBUG(130, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 384 "Zend/zend_ini_scanner.l"
+#line 398 "Zend/zend_ini_scanner.l"
{ /* Variable start */
yy_push_state(ST_VARNAME TSRMLS_CC);
return TC_DOLLAR_CURLY;
}
-#line 1678 "Zend/zend_ini_scanner.c"
-yy126:
- YYDEBUG(126, *YYCURSOR);
+#line 1783 "Zend/zend_ini_scanner.c"
+yy131:
+ YYDEBUG(131, *YYCURSOR);
yyaccept = 0;
YYMARKER = ++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(127, *YYCURSOR);
+ YYDEBUG(132, *YYCURSOR);
if (yybm[0+yych] & 128) {
- goto yy126;
+ goto yy131;
}
if (yych <= '$') {
if (yych <= '\r') {
- if (yych == '\n') goto yy82;
- if (yych <= '\f') goto yy99;
- goto yy82;
+ if (yych == '\n') goto yy87;
+ if (yych <= '\f') goto yy104;
+ goto yy87;
} else {
- if (yych == '"') goto yy128;
- if (yych <= '#') goto yy99;
- goto yy102;
+ if (yych == '"') goto yy133;
+ if (yych <= '#') goto yy104;
+ goto yy107;
}
} else {
if (yych <= ';') {
- if (yych == '\'') goto yy82;
- if (yych <= ':') goto yy99;
- goto yy82;
+ if (yych == '\'') goto yy87;
+ if (yych <= ':') goto yy104;
+ goto yy87;
} else {
- if (yych <= '[') goto yy99;
- if (yych <= '\\') goto yy101;
- if (yych <= ']') goto yy129;
- goto yy99;
+ if (yych <= '[') goto yy104;
+ if (yych <= '\\') goto yy106;
+ if (yych <= ']') goto yy134;
+ goto yy104;
}
}
-yy128:
- YYDEBUG(128, *YYCURSOR);
+yy133:
+ YYDEBUG(133, *YYCURSOR);
yych = *++YYCURSOR;
- goto yy87;
-yy129:
- YYDEBUG(129, *YYCURSOR);
+ goto yy92;
+yy134:
+ YYDEBUG(134, *YYCURSOR);
++YYCURSOR;
yych = *YYCURSOR;
- goto yy98;
+ goto yy103;
}
/* *********************************** */
yyc_ST_RAW:
@@ -1754,31 +1859,31 @@ yyc_ST_RAW:
160, 160, 160, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
};
- YYDEBUG(130, *YYCURSOR);
+ YYDEBUG(135, *YYCURSOR);
YYFILL(3);
yych = *YYCURSOR;
if (yych <= '\r') {
if (yych <= '\t') {
- if (yych >= '\t') goto yy134;
+ if (yych >= '\t') goto yy139;
} else {
- if (yych <= '\n') goto yy135;
- if (yych >= '\r') goto yy137;
+ if (yych <= '\n') goto yy140;
+ if (yych >= '\r') goto yy142;
}
} else {
if (yych <= ' ') {
- if (yych >= ' ') goto yy134;
+ if (yych >= ' ') goto yy139;
} else {
- if (yych == ';') goto yy138;
+ if (yych == ';') goto yy143;
}
}
- YYDEBUG(132, *YYCURSOR);
+ YYDEBUG(137, *YYCURSOR);
++YYCURSOR;
yych = *YYCURSOR;
- goto yy150;
-yy133:
- YYDEBUG(133, *YYCURSOR);
+ goto yy155;
+yy138:
+ YYDEBUG(138, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 419 "Zend/zend_ini_scanner.l"
+#line 445 "Zend/zend_ini_scanner.l"
{ /* Raw value, only used when SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW. */
/* Eat leading and trailing double quotes */
if (yytext[0] == '"' && yytext[yyleng - 1] == '"') {
@@ -1787,120 +1892,120 @@ yy133:
}
RETURN_TOKEN(TC_RAW, yytext, yyleng);
}
-#line 1791 "Zend/zend_ini_scanner.c"
-yy134:
- YYDEBUG(134, *YYCURSOR);
+#line 1896 "Zend/zend_ini_scanner.c"
+yy139:
+ YYDEBUG(139, *YYCURSOR);
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
if (yybm[0+yych] & 64) {
- goto yy146;
+ goto yy151;
}
if (yych <= '\f') {
- if (yych == '\n') goto yy145;
- goto yy149;
+ if (yych == '\n') goto yy150;
+ goto yy154;
} else {
- if (yych <= '\r') goto yy148;
- if (yych == ';') goto yy140;
- goto yy149;
+ if (yych <= '\r') goto yy153;
+ if (yych == ';') goto yy145;
+ goto yy154;
}
-yy135:
- YYDEBUG(135, *YYCURSOR);
+yy140:
+ YYDEBUG(140, *YYCURSOR);
++YYCURSOR;
-yy136:
- YYDEBUG(136, *YYCURSOR);
+yy141:
+ YYDEBUG(141, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 432 "Zend/zend_ini_scanner.l"
+#line 458 "Zend/zend_ini_scanner.l"
{ /* End of option value */
BEGIN(INITIAL);
SCNG(lineno)++;
return END_OF_LINE;
}
-#line 1819 "Zend/zend_ini_scanner.c"
-yy137:
- YYDEBUG(137, *YYCURSOR);
+#line 1924 "Zend/zend_ini_scanner.c"
+yy142:
+ YYDEBUG(142, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '\n') goto yy145;
- goto yy136;
-yy138:
- YYDEBUG(138, *YYCURSOR);
+ if (yych == '\n') goto yy150;
+ goto yy141;
+yy143:
+ YYDEBUG(143, *YYCURSOR);
yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
- goto yy141;
- YYDEBUG(139, *YYCURSOR);
+ goto yy146;
+ YYDEBUG(144, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 541 "Zend/zend_ini_scanner.l"
+#line 567 "Zend/zend_ini_scanner.l"
{ /* End of option value (if EOF is reached before EOL */
BEGIN(INITIAL);
return END_OF_LINE;
}
-#line 1837 "Zend/zend_ini_scanner.c"
-yy140:
- YYDEBUG(140, *YYCURSOR);
+#line 1942 "Zend/zend_ini_scanner.c"
+yy145:
+ YYDEBUG(145, *YYCURSOR);
++YYCURSOR;
YYFILL(2);
yych = *YYCURSOR;
-yy141:
- YYDEBUG(141, *YYCURSOR);
+yy146:
+ YYDEBUG(146, *YYCURSOR);
if (yybm[0+yych] & 32) {
- goto yy140;
+ goto yy145;
}
- if (yych >= '\r') goto yy144;
-yy142:
- YYDEBUG(142, *YYCURSOR);
+ if (yych >= '\r') goto yy149;
+yy147:
+ YYDEBUG(147, *YYCURSOR);
++YYCURSOR;
-yy143:
- YYDEBUG(143, *YYCURSOR);
+yy148:
+ YYDEBUG(148, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 528 "Zend/zend_ini_scanner.l"
+#line 554 "Zend/zend_ini_scanner.l"
{ /* Comment */
BEGIN(INITIAL);
SCNG(lineno)++;
return END_OF_LINE;
}
-#line 1861 "Zend/zend_ini_scanner.c"
-yy144:
- YYDEBUG(144, *YYCURSOR);
+#line 1966 "Zend/zend_ini_scanner.c"
+yy149:
+ YYDEBUG(149, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '\n') goto yy142;
- goto yy143;
-yy145:
- YYDEBUG(145, *YYCURSOR);
+ if (yych == '\n') goto yy147;
+ goto yy148;
+yy150:
+ YYDEBUG(150, *YYCURSOR);
yych = *++YYCURSOR;
- goto yy136;
-yy146:
- YYDEBUG(146, *YYCURSOR);
+ goto yy141;
+yy151:
+ YYDEBUG(151, *YYCURSOR);
yyaccept = 0;
YYMARKER = ++YYCURSOR;
YYFILL(2);
yych = *YYCURSOR;
- YYDEBUG(147, *YYCURSOR);
+ YYDEBUG(152, *YYCURSOR);
if (yybm[0+yych] & 64) {
- goto yy146;
+ goto yy151;
}
if (yych <= '\f') {
- if (yych == '\n') goto yy145;
- goto yy149;
+ if (yych == '\n') goto yy150;
+ goto yy154;
} else {
- if (yych <= '\r') goto yy148;
- if (yych == ';') goto yy140;
- goto yy149;
+ if (yych <= '\r') goto yy153;
+ if (yych == ';') goto yy145;
+ goto yy154;
}
-yy148:
- YYDEBUG(148, *YYCURSOR);
+yy153:
+ YYDEBUG(153, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '\n') goto yy145;
- goto yy136;
-yy149:
- YYDEBUG(149, *YYCURSOR);
+ if (yych == '\n') goto yy150;
+ goto yy141;
+yy154:
+ YYDEBUG(154, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
-yy150:
- YYDEBUG(150, *YYCURSOR);
+yy155:
+ YYDEBUG(155, *YYCURSOR);
if (yybm[0+yych] & 128) {
- goto yy149;
+ goto yy154;
}
- goto yy133;
+ goto yy138;
}
/* *********************************** */
yyc_ST_SECTION_RAW:
@@ -1939,85 +2044,85 @@ yyc_ST_SECTION_RAW:
128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128,
};
- YYDEBUG(151, *YYCURSOR);
+ YYDEBUG(156, *YYCURSOR);
YYFILL(3);
yych = *YYCURSOR;
if (yych <= '\f') {
- if (yych == '\n') goto yy155;
+ if (yych == '\n') goto yy160;
} else {
- if (yych <= '\r') goto yy155;
- if (yych == ']') goto yy157;
+ if (yych <= '\r') goto yy160;
+ if (yych == ']') goto yy162;
}
- YYDEBUG(153, *YYCURSOR);
+ YYDEBUG(158, *YYCURSOR);
++YYCURSOR;
yych = *YYCURSOR;
- goto yy164;
-yy154:
- YYDEBUG(154, *YYCURSOR);
+ goto yy169;
+yy159:
+ YYDEBUG(159, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 428 "Zend/zend_ini_scanner.l"
+#line 454 "Zend/zend_ini_scanner.l"
{ /* Raw value, only used when SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW. */
RETURN_TOKEN(TC_RAW, yytext, yyleng);
}
-#line 1963 "Zend/zend_ini_scanner.c"
-yy155:
- YYDEBUG(155, *YYCURSOR);
+#line 2068 "Zend/zend_ini_scanner.c"
+yy160:
+ YYDEBUG(160, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(156, *YYCURSOR);
+ YYDEBUG(161, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 546 "Zend/zend_ini_scanner.l"
+#line 572 "Zend/zend_ini_scanner.l"
{
return 0;
}
-#line 1973 "Zend/zend_ini_scanner.c"
-yy157:
- YYDEBUG(157, *YYCURSOR);
+#line 2078 "Zend/zend_ini_scanner.c"
+yy162:
+ YYDEBUG(162, *YYCURSOR);
++YYCURSOR;
yych = *YYCURSOR;
- goto yy160;
-yy158:
- YYDEBUG(158, *YYCURSOR);
+ goto yy165;
+yy163:
+ YYDEBUG(163, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 363 "Zend/zend_ini_scanner.l"
+#line 374 "Zend/zend_ini_scanner.l"
{ /* End of section */
BEGIN(INITIAL);
SCNG(lineno)++;
return ']';
}
-#line 1988 "Zend/zend_ini_scanner.c"
-yy159:
- YYDEBUG(159, *YYCURSOR);
+#line 2093 "Zend/zend_ini_scanner.c"
+yy164:
+ YYDEBUG(164, *YYCURSOR);
++YYCURSOR;
YYFILL(2);
yych = *YYCURSOR;
-yy160:
- YYDEBUG(160, *YYCURSOR);
+yy165:
+ YYDEBUG(165, *YYCURSOR);
if (yybm[0+yych] & 64) {
- goto yy159;
+ goto yy164;
}
- if (yych == '\n') goto yy161;
- if (yych == '\r') goto yy162;
- goto yy158;
-yy161:
- YYDEBUG(161, *YYCURSOR);
+ if (yych == '\n') goto yy166;
+ if (yych == '\r') goto yy167;
+ goto yy163;
+yy166:
+ YYDEBUG(166, *YYCURSOR);
yych = *++YYCURSOR;
- goto yy158;
-yy162:
- YYDEBUG(162, *YYCURSOR);
+ goto yy163;
+yy167:
+ YYDEBUG(167, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '\n') goto yy161;
- goto yy158;
-yy163:
- YYDEBUG(163, *YYCURSOR);
+ if (yych == '\n') goto yy166;
+ goto yy163;
+yy168:
+ YYDEBUG(168, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
-yy164:
- YYDEBUG(164, *YYCURSOR);
+yy169:
+ YYDEBUG(169, *YYCURSOR);
if (yybm[0+yych] & 128) {
- goto yy163;
+ goto yy168;
}
- goto yy154;
+ goto yy159;
}
/* *********************************** */
yyc_ST_SECTION_VALUE:
@@ -2056,522 +2161,523 @@ yyc_ST_SECTION_VALUE:
132, 132, 132, 132, 132, 132, 132, 132,
132, 132, 132, 132, 132, 132, 132, 132,
};
- YYDEBUG(165, *YYCURSOR);
+ YYDEBUG(170, *YYCURSOR);
YYFILL(3);
yych = *YYCURSOR;
- if (yych <= ',') {
+ if (yych <= '-') {
if (yych <= ' ') {
if (yych <= '\n') {
- if (yych <= 0x08) goto yy167;
- if (yych <= '\t') goto yy169;
- goto yy170;
+ if (yych <= 0x08) goto yy172;
+ if (yych <= '\t') goto yy174;
+ goto yy175;
} else {
- if (yych == '\r') goto yy170;
- if (yych >= ' ') goto yy169;
+ if (yych == '\r') goto yy175;
+ if (yych >= ' ') goto yy174;
}
} else {
- if (yych <= '#') {
- if (yych == '"') goto yy172;
+ if (yych <= '$') {
+ if (yych == '"') goto yy177;
+ if (yych >= '$') goto yy179;
} else {
- if (yych <= '$') goto yy174;
- if (yych == '\'') goto yy175;
+ if (yych == '\'') goto yy180;
+ if (yych >= '-') goto yy181;
}
}
} else {
- if (yych <= '@') {
- if (yych <= '/') {
- if (yych <= '-') goto yy176;
- if (yych <= '.') goto yy177;
+ if (yych <= 'Z') {
+ if (yych <= '9') {
+ if (yych <= '.') goto yy182;
+ if (yych >= '0') goto yy183;
} else {
- if (yych <= '9') goto yy178;
- if (yych == ';') goto yy170;
+ if (yych == ';') goto yy175;
+ if (yych >= 'A') goto yy185;
}
} else {
- if (yych <= '\\') {
- if (yych <= 'Z') goto yy180;
- if (yych >= '\\') goto yy182;
+ if (yych <= '^') {
+ if (yych <= '[') goto yy172;
+ if (yych <= '\\') goto yy187;
+ if (yych <= ']') goto yy188;
} else {
- if (yych <= ']') goto yy183;
- if (yych <= '`') goto yy167;
- if (yych <= 'z') goto yy180;
+ if (yych == '`') goto yy172;
+ if (yych <= 'z') goto yy185;
}
}
}
-yy167:
- YYDEBUG(167, *YYCURSOR);
+yy172:
+ YYDEBUG(172, *YYCURSOR);
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- goto yy190;
-yy168:
- YYDEBUG(168, *YYCURSOR);
+ goto yy195;
+yy173:
+ YYDEBUG(173, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 464 "Zend/zend_ini_scanner.l"
+#line 490 "Zend/zend_ini_scanner.l"
{ /* Get rest as section/offset value */
RETURN_TOKEN(TC_STRING, yytext, yyleng);
}
-#line 2113 "Zend/zend_ini_scanner.c"
-yy169:
- YYDEBUG(169, *YYCURSOR);
+#line 2219 "Zend/zend_ini_scanner.c"
+yy174:
+ YYDEBUG(174, *YYCURSOR);
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
if (yych <= 0x1F) {
- if (yych == '\t') goto yy216;
- goto yy190;
+ if (yych == '\t') goto yy221;
+ goto yy195;
} else {
- if (yych <= ' ') goto yy216;
- if (yych == '"') goto yy218;
- goto yy190;
+ if (yych <= ' ') goto yy221;
+ if (yych == '"') goto yy223;
+ goto yy195;
}
-yy170:
- YYDEBUG(170, *YYCURSOR);
+yy175:
+ YYDEBUG(175, *YYCURSOR);
++YYCURSOR;
-yy171:
- YYDEBUG(171, *YYCURSOR);
+yy176:
+ YYDEBUG(176, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 546 "Zend/zend_ini_scanner.l"
+#line 572 "Zend/zend_ini_scanner.l"
{
return 0;
}
-#line 2136 "Zend/zend_ini_scanner.c"
-yy172:
- YYDEBUG(172, *YYCURSOR);
+#line 2242 "Zend/zend_ini_scanner.c"
+yy177:
+ YYDEBUG(177, *YYCURSOR);
++YYCURSOR;
-yy173:
- YYDEBUG(173, *YYCURSOR);
+yy178:
+ YYDEBUG(178, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 468 "Zend/zend_ini_scanner.l"
+#line 494 "Zend/zend_ini_scanner.l"
{ /* Double quoted '"' string start */
yy_push_state(ST_DOUBLE_QUOTES TSRMLS_CC);
return '"';
}
-#line 2148 "Zend/zend_ini_scanner.c"
-yy174:
- YYDEBUG(174, *YYCURSOR);
+#line 2254 "Zend/zend_ini_scanner.c"
+yy179:
+ YYDEBUG(179, *YYCURSOR);
yych = *++YYCURSOR;
if (yych <= '\\') {
- if (yych <= 0x00) goto yy171;
- if (yych <= '[') goto yy189;
- goto yy194;
+ if (yych <= 0x00) goto yy176;
+ if (yych <= '[') goto yy194;
+ goto yy199;
} else {
- if (yych == '{') goto yy214;
- goto yy189;
+ if (yych == '{') goto yy219;
+ goto yy194;
}
-yy175:
- YYDEBUG(175, *YYCURSOR);
+yy180:
+ YYDEBUG(180, *YYCURSOR);
yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
if (yybm[0+yych] & 128) {
- goto yy210;
+ goto yy215;
}
- goto yy171;
-yy176:
- YYDEBUG(176, *YYCURSOR);
+ goto yy176;
+yy181:
+ YYDEBUG(181, *YYCURSOR);
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '/') goto yy190;
- if (yych <= '9') goto yy208;
- goto yy190;
-yy177:
- YYDEBUG(177, *YYCURSOR);
+ if (yych <= '/') goto yy195;
+ if (yych <= '9') goto yy213;
+ goto yy195;
+yy182:
+ YYDEBUG(182, *YYCURSOR);
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '/') goto yy190;
- if (yych <= '9') goto yy206;
- goto yy190;
-yy178:
- YYDEBUG(178, *YYCURSOR);
+ if (yych <= '/') goto yy195;
+ if (yych <= '9') goto yy211;
+ goto yy195;
+yy183:
+ YYDEBUG(183, *YYCURSOR);
yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
if (yych <= '\'') {
if (yych <= '\r') {
- if (yych == '\n') goto yy179;
- if (yych <= '\f') goto yy190;
+ if (yych == '\n') goto yy184;
+ if (yych <= '\f') goto yy195;
} else {
- if (yych == '"') goto yy179;
- if (yych <= '&') goto yy190;
+ if (yych == '"') goto yy184;
+ if (yych <= '&') goto yy195;
}
} else {
if (yych <= '9') {
- if (yych == '.') goto yy202;
- if (yych <= '/') goto yy190;
- goto yy204;
+ if (yych == '.') goto yy207;
+ if (yych <= '/') goto yy195;
+ goto yy209;
} else {
if (yych <= ';') {
- if (yych <= ':') goto yy190;
+ if (yych <= ':') goto yy195;
} else {
- if (yych != ']') goto yy190;
+ if (yych != ']') goto yy195;
}
}
}
-yy179:
- YYDEBUG(179, *YYCURSOR);
+yy184:
+ YYDEBUG(184, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 442 "Zend/zend_ini_scanner.l"
+#line 468 "Zend/zend_ini_scanner.l"
{ /* Get number option value as string */
RETURN_TOKEN(TC_NUMBER, yytext, yyleng);
}
-#line 2214 "Zend/zend_ini_scanner.c"
-yy180:
- YYDEBUG(180, *YYCURSOR);
+#line 2320 "Zend/zend_ini_scanner.c"
+yy185:
+ YYDEBUG(185, *YYCURSOR);
yyaccept = 3;
yych = *(YYMARKER = ++YYCURSOR);
if (yybm[0+yych] & 32) {
- goto yy200;
+ goto yy205;
}
if (yych <= '"') {
if (yych <= '\f') {
- if (yych != '\n') goto yy190;
+ if (yych != '\n') goto yy195;
} else {
- if (yych <= '\r') goto yy181;
- if (yych <= '!') goto yy190;
+ if (yych <= '\r') goto yy186;
+ if (yych <= '!') goto yy195;
}
} else {
if (yych <= ':') {
- if (yych != '\'') goto yy190;
+ if (yych != '\'') goto yy195;
} else {
- if (yych <= ';') goto yy181;
- if (yych != ']') goto yy190;
+ if (yych <= ';') goto yy186;
+ if (yych != ']') goto yy195;
}
}
-yy181:
- YYDEBUG(181, *YYCURSOR);
+yy186:
+ YYDEBUG(186, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 438 "Zend/zend_ini_scanner.l"
+#line 464 "Zend/zend_ini_scanner.l"
{ /* Get constant option value */
RETURN_TOKEN(TC_CONSTANT, yytext, yyleng);
}
-#line 2244 "Zend/zend_ini_scanner.c"
-yy182:
- YYDEBUG(182, *YYCURSOR);
+#line 2350 "Zend/zend_ini_scanner.c"
+yy187:
+ YYDEBUG(187, *YYCURSOR);
yych = *++YYCURSOR;
- goto yy189;
-yy183:
- YYDEBUG(183, *YYCURSOR);
+ goto yy194;
+yy188:
+ YYDEBUG(188, *YYCURSOR);
++YYCURSOR;
yych = *YYCURSOR;
- goto yy186;
-yy184:
- YYDEBUG(184, *YYCURSOR);
+ goto yy191;
+yy189:
+ YYDEBUG(189, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 363 "Zend/zend_ini_scanner.l"
+#line 374 "Zend/zend_ini_scanner.l"
{ /* End of section */
BEGIN(INITIAL);
SCNG(lineno)++;
return ']';
}
-#line 2263 "Zend/zend_ini_scanner.c"
-yy185:
- YYDEBUG(185, *YYCURSOR);
+#line 2369 "Zend/zend_ini_scanner.c"
+yy190:
+ YYDEBUG(190, *YYCURSOR);
++YYCURSOR;
YYFILL(2);
yych = *YYCURSOR;
-yy186:
- YYDEBUG(186, *YYCURSOR);
+yy191:
+ YYDEBUG(191, *YYCURSOR);
if (yybm[0+yych] & 2) {
- goto yy185;
+ goto yy190;
}
- if (yych == '\n') goto yy187;
- if (yych == '\r') goto yy188;
- goto yy184;
-yy187:
- YYDEBUG(187, *YYCURSOR);
+ if (yych == '\n') goto yy192;
+ if (yych == '\r') goto yy193;
+ goto yy189;
+yy192:
+ YYDEBUG(192, *YYCURSOR);
yych = *++YYCURSOR;
- goto yy184;
-yy188:
- YYDEBUG(188, *YYCURSOR);
+ goto yy189;
+yy193:
+ YYDEBUG(193, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '\n') goto yy187;
- goto yy184;
-yy189:
- YYDEBUG(189, *YYCURSOR);
+ if (yych == '\n') goto yy192;
+ goto yy189;
+yy194:
+ YYDEBUG(194, *YYCURSOR);
yyaccept = 0;
YYMARKER = ++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
-yy190:
- YYDEBUG(190, *YYCURSOR);
+yy195:
+ YYDEBUG(195, *YYCURSOR);
if (yybm[0+yych] & 4) {
- goto yy189;
+ goto yy194;
}
- if (yych == '$') goto yy192;
- if (yych != '\\') goto yy168;
-yy191:
- YYDEBUG(191, *YYCURSOR);
+ if (yych == '$') goto yy197;
+ if (yych != '\\') goto yy173;
+yy196:
+ YYDEBUG(196, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- goto yy189;
-yy192:
- YYDEBUG(192, *YYCURSOR);
+ goto yy194;
+yy197:
+ YYDEBUG(197, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
if (yych <= '\\') {
- if (yych <= 0x00) goto yy193;
- if (yych <= '[') goto yy189;
- goto yy194;
+ if (yych <= 0x00) goto yy198;
+ if (yych <= '[') goto yy194;
+ goto yy199;
} else {
- if (yych != '{') goto yy189;
+ if (yych != '{') goto yy194;
}
-yy193:
- YYDEBUG(193, *YYCURSOR);
+yy198:
+ YYDEBUG(198, *YYCURSOR);
YYCURSOR = YYMARKER;
if (yyaccept <= 1) {
if (yyaccept <= 0) {
- goto yy168;
+ goto yy173;
} else {
- goto yy171;
+ goto yy176;
}
} else {
if (yyaccept <= 2) {
- goto yy179;
+ goto yy184;
} else {
- goto yy181;
+ goto yy186;
}
}
-yy194:
- YYDEBUG(194, *YYCURSOR);
+yy199:
+ YYDEBUG(199, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
if (yybm[0+yych] & 8) {
- goto yy195;
+ goto yy200;
}
- if (yych == '\\') goto yy197;
- goto yy189;
-yy195:
- YYDEBUG(195, *YYCURSOR);
+ if (yych == '\\') goto yy202;
+ goto yy194;
+yy200:
+ YYDEBUG(200, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(196, *YYCURSOR);
+ YYDEBUG(201, *YYCURSOR);
if (yybm[0+yych] & 8) {
- goto yy195;
+ goto yy200;
}
- if (yych == '\\') goto yy199;
- goto yy189;
-yy197:
- YYDEBUG(197, *YYCURSOR);
+ if (yych == '\\') goto yy204;
+ goto yy194;
+yy202:
+ YYDEBUG(202, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(198, *YYCURSOR);
+ YYDEBUG(203, *YYCURSOR);
if (yybm[0+yych] & 8) {
- goto yy195;
+ goto yy200;
}
- if (yych == '\\') goto yy197;
- goto yy189;
-yy199:
- YYDEBUG(199, *YYCURSOR);
+ if (yych == '\\') goto yy202;
+ goto yy194;
+yy204:
+ YYDEBUG(204, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
if (yybm[0+yych] & 8) {
- goto yy195;
+ goto yy200;
}
- if (yych == '\\') goto yy197;
- goto yy189;
-yy200:
- YYDEBUG(200, *YYCURSOR);
+ if (yych == '\\') goto yy202;
+ goto yy194;
+yy205:
+ YYDEBUG(205, *YYCURSOR);
yyaccept = 3;
YYMARKER = ++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(201, *YYCURSOR);
+ YYDEBUG(206, *YYCURSOR);
if (yybm[0+yych] & 32) {
- goto yy200;
+ goto yy205;
}
if (yych <= '$') {
if (yych <= '\r') {
- if (yych == '\n') goto yy181;
- if (yych <= '\f') goto yy189;
- goto yy181;
+ if (yych == '\n') goto yy186;
+ if (yych <= '\f') goto yy194;
+ goto yy186;
} else {
- if (yych == '"') goto yy181;
- if (yych <= '#') goto yy189;
- goto yy192;
+ if (yych == '"') goto yy186;
+ if (yych <= '#') goto yy194;
+ goto yy197;
}
} else {
if (yych <= ';') {
- if (yych == '\'') goto yy181;
- if (yych <= ':') goto yy189;
- goto yy181;
+ if (yych == '\'') goto yy186;
+ if (yych <= ':') goto yy194;
+ goto yy186;
} else {
- if (yych <= '[') goto yy189;
- if (yych <= '\\') goto yy191;
- if (yych <= ']') goto yy181;
- goto yy189;
+ if (yych <= '[') goto yy194;
+ if (yych <= '\\') goto yy196;
+ if (yych <= ']') goto yy186;
+ goto yy194;
}
}
-yy202:
- YYDEBUG(202, *YYCURSOR);
+yy207:
+ YYDEBUG(207, *YYCURSOR);
yyaccept = 2;
YYMARKER = ++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(203, *YYCURSOR);
+ YYDEBUG(208, *YYCURSOR);
if (yybm[0+yych] & 64) {
- goto yy202;
+ goto yy207;
}
if (yych <= '$') {
if (yych <= '\r') {
- if (yych == '\n') goto yy179;
- if (yych <= '\f') goto yy189;
- goto yy179;
+ if (yych == '\n') goto yy184;
+ if (yych <= '\f') goto yy194;
+ goto yy184;
} else {
- if (yych == '"') goto yy179;
- if (yych <= '#') goto yy189;
- goto yy192;
+ if (yych == '"') goto yy184;
+ if (yych <= '#') goto yy194;
+ goto yy197;
}
} else {
if (yych <= ';') {
- if (yych == '\'') goto yy179;
- if (yych <= ':') goto yy189;
- goto yy179;
+ if (yych == '\'') goto yy184;
+ if (yych <= ':') goto yy194;
+ goto yy184;
} else {
- if (yych <= '[') goto yy189;
- if (yych <= '\\') goto yy191;
- if (yych <= ']') goto yy179;
- goto yy189;
+ if (yych <= '[') goto yy194;
+ if (yych <= '\\') goto yy196;
+ if (yych <= ']') goto yy184;
+ goto yy194;
}
}
-yy204:
- YYDEBUG(204, *YYCURSOR);
+yy209:
+ YYDEBUG(209, *YYCURSOR);
yyaccept = 2;
YYMARKER = ++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(205, *YYCURSOR);
+ YYDEBUG(210, *YYCURSOR);
if (yych <= '\'') {
if (yych <= '!') {
if (yych <= '\n') {
- if (yych <= '\t') goto yy189;
- goto yy179;
+ if (yych <= '\t') goto yy194;
+ goto yy184;
} else {
- if (yych == '\r') goto yy179;
- goto yy189;
+ if (yych == '\r') goto yy184;
+ goto yy194;
}
} else {
if (yych <= '#') {
- if (yych <= '"') goto yy179;
- goto yy189;
+ if (yych <= '"') goto yy184;
+ goto yy194;
} else {
- if (yych <= '$') goto yy192;
- if (yych <= '&') goto yy189;
- goto yy179;
+ if (yych <= '$') goto yy197;
+ if (yych <= '&') goto yy194;
+ goto yy184;
}
}
} else {
if (yych <= ':') {
if (yych <= '.') {
- if (yych <= '-') goto yy189;
- goto yy202;
+ if (yych <= '-') goto yy194;
+ goto yy207;
} else {
- if (yych <= '/') goto yy189;
- if (yych <= '9') goto yy204;
- goto yy189;
+ if (yych <= '/') goto yy194;
+ if (yych <= '9') goto yy209;
+ goto yy194;
}
} else {
if (yych <= '[') {
- if (yych <= ';') goto yy179;
- goto yy189;
+ if (yych <= ';') goto yy184;
+ goto yy194;
} else {
- if (yych <= '\\') goto yy191;
- if (yych <= ']') goto yy179;
- goto yy189;
+ if (yych <= '\\') goto yy196;
+ if (yych <= ']') goto yy184;
+ goto yy194;
}
}
}
-yy206:
- YYDEBUG(206, *YYCURSOR);
+yy211:
+ YYDEBUG(211, *YYCURSOR);
yyaccept = 2;
YYMARKER = ++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(207, *YYCURSOR);
+ YYDEBUG(212, *YYCURSOR);
if (yych <= '&') {
if (yych <= '\r') {
- if (yych == '\n') goto yy179;
- if (yych <= '\f') goto yy189;
- goto yy179;
+ if (yych == '\n') goto yy184;
+ if (yych <= '\f') goto yy194;
+ goto yy184;
} else {
if (yych <= '"') {
- if (yych <= '!') goto yy189;
- goto yy179;
+ if (yych <= '!') goto yy194;
+ goto yy184;
} else {
- if (yych == '$') goto yy192;
- goto yy189;
+ if (yych == '$') goto yy197;
+ goto yy194;
}
}
} else {
if (yych <= ':') {
- if (yych <= '\'') goto yy179;
- if (yych <= '/') goto yy189;
- if (yych <= '9') goto yy206;
- goto yy189;
+ if (yych <= '\'') goto yy184;
+ if (yych <= '/') goto yy194;
+ if (yych <= '9') goto yy211;
+ goto yy194;
} else {
if (yych <= '[') {
- if (yych <= ';') goto yy179;
- goto yy189;
+ if (yych <= ';') goto yy184;
+ goto yy194;
} else {
- if (yych <= '\\') goto yy191;
- if (yych <= ']') goto yy179;
- goto yy189;
+ if (yych <= '\\') goto yy196;
+ if (yych <= ']') goto yy184;
+ goto yy194;
}
}
}
-yy208:
- YYDEBUG(208, *YYCURSOR);
+yy213:
+ YYDEBUG(213, *YYCURSOR);
yyaccept = 2;
YYMARKER = ++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(209, *YYCURSOR);
+ YYDEBUG(214, *YYCURSOR);
if (yych <= '&') {
if (yych <= '\r') {
- if (yych == '\n') goto yy179;
- if (yych <= '\f') goto yy189;
- goto yy179;
+ if (yych == '\n') goto yy184;
+ if (yych <= '\f') goto yy194;
+ goto yy184;
} else {
if (yych <= '"') {
- if (yych <= '!') goto yy189;
- goto yy179;
+ if (yych <= '!') goto yy194;
+ goto yy184;
} else {
- if (yych == '$') goto yy192;
- goto yy189;
+ if (yych == '$') goto yy197;
+ goto yy194;
}
}
} else {
if (yych <= ':') {
- if (yych <= '\'') goto yy179;
- if (yych <= '/') goto yy189;
- if (yych <= '9') goto yy208;
- goto yy189;
+ if (yych <= '\'') goto yy184;
+ if (yych <= '/') goto yy194;
+ if (yych <= '9') goto yy213;
+ goto yy194;
} else {
if (yych <= '[') {
- if (yych <= ';') goto yy179;
- goto yy189;
+ if (yych <= ';') goto yy184;
+ goto yy194;
} else {
- if (yych <= '\\') goto yy191;
- if (yych <= ']') goto yy179;
- goto yy189;
+ if (yych <= '\\') goto yy196;
+ if (yych <= ']') goto yy184;
+ goto yy194;
}
}
}
-yy210:
- YYDEBUG(210, *YYCURSOR);
+yy215:
+ YYDEBUG(215, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(211, *YYCURSOR);
+ YYDEBUG(216, *YYCURSOR);
if (yybm[0+yych] & 128) {
- goto yy210;
+ goto yy215;
}
- YYDEBUG(212, *YYCURSOR);
+ YYDEBUG(217, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(213, *YYCURSOR);
+ YYDEBUG(218, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 354 "Zend/zend_ini_scanner.l"
+#line 365 "Zend/zend_ini_scanner.l"
{ /* Raw string */
/* Eat leading and trailing single quotes */
if (yytext[0] == '\'' && yytext[yyleng - 1] == '\'') {
@@ -2580,65 +2686,65 @@ yy210:
}
RETURN_TOKEN(TC_RAW, yytext, yyleng);
}
-#line 2584 "Zend/zend_ini_scanner.c"
-yy214:
- YYDEBUG(214, *YYCURSOR);
+#line 2690 "Zend/zend_ini_scanner.c"
+yy219:
+ YYDEBUG(219, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(215, *YYCURSOR);
+ YYDEBUG(220, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 384 "Zend/zend_ini_scanner.l"
+#line 398 "Zend/zend_ini_scanner.l"
{ /* Variable start */
yy_push_state(ST_VARNAME TSRMLS_CC);
return TC_DOLLAR_CURLY;
}
-#line 2595 "Zend/zend_ini_scanner.c"
-yy216:
- YYDEBUG(216, *YYCURSOR);
+#line 2701 "Zend/zend_ini_scanner.c"
+yy221:
+ YYDEBUG(221, *YYCURSOR);
yyaccept = 0;
YYMARKER = ++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(217, *YYCURSOR);
+ YYDEBUG(222, *YYCURSOR);
if (yych <= '"') {
if (yych <= '\f') {
- if (yych <= 0x08) goto yy189;
- if (yych <= '\t') goto yy216;
- if (yych <= '\n') goto yy168;
- goto yy189;
+ if (yych <= 0x08) goto yy194;
+ if (yych <= '\t') goto yy221;
+ if (yych <= '\n') goto yy173;
+ goto yy194;
} else {
if (yych <= 0x1F) {
- if (yych <= '\r') goto yy168;
- goto yy189;
+ if (yych <= '\r') goto yy173;
+ goto yy194;
} else {
- if (yych <= ' ') goto yy216;
- if (yych <= '!') goto yy189;
+ if (yych <= ' ') goto yy221;
+ if (yych <= '!') goto yy194;
}
}
} else {
if (yych <= ':') {
if (yych <= '$') {
- if (yych <= '#') goto yy189;
- goto yy192;
+ if (yych <= '#') goto yy194;
+ goto yy197;
} else {
- if (yych == '\'') goto yy168;
- goto yy189;
+ if (yych == '\'') goto yy173;
+ goto yy194;
}
} else {
if (yych <= '[') {
- if (yych <= ';') goto yy168;
- goto yy189;
+ if (yych <= ';') goto yy173;
+ goto yy194;
} else {
- if (yych <= '\\') goto yy191;
- if (yych <= ']') goto yy168;
- goto yy189;
+ if (yych <= '\\') goto yy196;
+ if (yych <= ']') goto yy173;
+ goto yy194;
}
}
}
-yy218:
- YYDEBUG(218, *YYCURSOR);
+yy223:
+ YYDEBUG(223, *YYCURSOR);
++YYCURSOR;
yych = *YYCURSOR;
- goto yy173;
+ goto yy178;
}
/* *********************************** */
yyc_ST_VALUE:
@@ -2677,27 +2783,27 @@ yyc_ST_VALUE:
162, 162, 162, 162, 162, 162, 162, 162,
162, 162, 162, 162, 162, 162, 162, 162,
};
- YYDEBUG(219, *YYCURSOR);
+ YYDEBUG(224, *YYCURSOR);
YYFILL(6);
yych = *YYCURSOR;
YYDEBUG(-1, yych);
switch (yych) {
- case 0x00: goto yy221;
+ case 0x00: goto yy226;
case '\t':
- case ' ': goto yy225;
- case '\n': goto yy227;
- case '\r': goto yy229;
+ case ' ': goto yy230;
+ case '\n': goto yy232;
+ case '\r': goto yy234;
case '!':
case '&':
case '(':
case ')':
case '|':
- case '~': goto yy230;
- case '"': goto yy232;
- case '$': goto yy234;
- case '\'': goto yy235;
- case '-': goto yy236;
- case '.': goto yy237;
+ case '~': goto yy235;
+ case '"': goto yy237;
+ case '$': goto yy239;
+ case '\'': goto yy240;
+ case '-': goto yy241;
+ case '.': goto yy242;
case '0':
case '1':
case '2':
@@ -2707,9 +2813,9 @@ yyc_ST_VALUE:
case '6':
case '7':
case '8':
- case '9': goto yy238;
- case ';': goto yy240;
- case '=': goto yy241;
+ case '9': goto yy243;
+ case ';': goto yy245;
+ case '=': goto yy246;
case 'A':
case 'B':
case 'C':
@@ -2731,6 +2837,7 @@ yyc_ST_VALUE:
case 'W':
case 'X':
case 'Z':
+ case '_':
case 'a':
case 'b':
case 'c':
@@ -2751,1531 +2858,1531 @@ yyc_ST_VALUE:
case 'v':
case 'w':
case 'x':
- case 'z': goto yy243;
+ case 'z': goto yy248;
case 'F':
- case 'f': goto yy245;
+ case 'f': goto yy250;
case 'N':
- case 'n': goto yy246;
+ case 'n': goto yy251;
case 'O':
- case 'o': goto yy247;
+ case 'o': goto yy252;
case 'T':
- case 't': goto yy248;
+ case 't': goto yy253;
case 'Y':
- case 'y': goto yy249;
- default: goto yy223;
+ case 'y': goto yy254;
+ default: goto yy228;
}
-yy221:
- YYDEBUG(221, *YYCURSOR);
+yy226:
+ YYDEBUG(226, *YYCURSOR);
++YYCURSOR;
-yy222:
- YYDEBUG(222, *YYCURSOR);
+yy227:
+ YYDEBUG(227, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 541 "Zend/zend_ini_scanner.l"
+#line 567 "Zend/zend_ini_scanner.l"
{ /* End of option value (if EOF is reached before EOL */
BEGIN(INITIAL);
return END_OF_LINE;
}
-#line 2779 "Zend/zend_ini_scanner.c"
-yy223:
- YYDEBUG(223, *YYCURSOR);
+#line 2886 "Zend/zend_ini_scanner.c"
+yy228:
+ YYDEBUG(228, *YYCURSOR);
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- goto yy251;
-yy224:
- YYDEBUG(224, *YYCURSOR);
+ goto yy256;
+yy229:
+ YYDEBUG(229, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 460 "Zend/zend_ini_scanner.l"
+#line 486 "Zend/zend_ini_scanner.l"
{ /* Get everything else as option/offset value */
RETURN_TOKEN(TC_STRING, yytext, yyleng);
}
-#line 2792 "Zend/zend_ini_scanner.c"
-yy225:
- YYDEBUG(225, *YYCURSOR);
+#line 2899 "Zend/zend_ini_scanner.c"
+yy230:
+ YYDEBUG(230, *YYCURSOR);
yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
- goto yy301;
-yy226:
- YYDEBUG(226, *YYCURSOR);
+ goto yy306;
+yy231:
+ YYDEBUG(231, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 514 "Zend/zend_ini_scanner.l"
+#line 540 "Zend/zend_ini_scanner.l"
{
RETURN_TOKEN(TC_WHITESPACE, yytext, yyleng);
}
-#line 2805 "Zend/zend_ini_scanner.c"
-yy227:
- YYDEBUG(227, *YYCURSOR);
+#line 2912 "Zend/zend_ini_scanner.c"
+yy232:
+ YYDEBUG(232, *YYCURSOR);
++YYCURSOR;
-yy228:
- YYDEBUG(228, *YYCURSOR);
+yy233:
+ YYDEBUG(233, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 432 "Zend/zend_ini_scanner.l"
+#line 458 "Zend/zend_ini_scanner.l"
{ /* End of option value */
BEGIN(INITIAL);
SCNG(lineno)++;
return END_OF_LINE;
}
-#line 2818 "Zend/zend_ini_scanner.c"
-yy229:
- YYDEBUG(229, *YYCURSOR);
+#line 2925 "Zend/zend_ini_scanner.c"
+yy234:
+ YYDEBUG(234, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '\n') goto yy299;
- goto yy228;
-yy230:
- YYDEBUG(230, *YYCURSOR);
+ if (yych == '\n') goto yy304;
+ goto yy233;
+yy235:
+ YYDEBUG(235, *YYCURSOR);
++YYCURSOR;
yych = *YYCURSOR;
- goto yy298;
-yy231:
- YYDEBUG(231, *YYCURSOR);
+ goto yy303;
+yy236:
+ YYDEBUG(236, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 450 "Zend/zend_ini_scanner.l"
+#line 476 "Zend/zend_ini_scanner.l"
{ /* Boolean operators */
return yytext[0];
}
-#line 2836 "Zend/zend_ini_scanner.c"
-yy232:
- YYDEBUG(232, *YYCURSOR);
+#line 2943 "Zend/zend_ini_scanner.c"
+yy237:
+ YYDEBUG(237, *YYCURSOR);
++YYCURSOR;
-yy233:
- YYDEBUG(233, *YYCURSOR);
+yy238:
+ YYDEBUG(238, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 468 "Zend/zend_ini_scanner.l"
+#line 494 "Zend/zend_ini_scanner.l"
{ /* Double quoted '"' string start */
yy_push_state(ST_DOUBLE_QUOTES TSRMLS_CC);
return '"';
}
-#line 2848 "Zend/zend_ini_scanner.c"
-yy234:
- YYDEBUG(234, *YYCURSOR);
+#line 2955 "Zend/zend_ini_scanner.c"
+yy239:
+ YYDEBUG(239, *YYCURSOR);
yych = *++YYCURSOR;
if (yych <= '\\') {
- if (yych <= 0x00) goto yy222;
- if (yych <= '[') goto yy250;
- goto yy257;
+ if (yych <= 0x00) goto yy227;
+ if (yych <= '[') goto yy255;
+ goto yy262;
} else {
- if (yych == '{') goto yy295;
- goto yy250;
+ if (yych == '{') goto yy300;
+ goto yy255;
}
-yy235:
- YYDEBUG(235, *YYCURSOR);
+yy240:
+ YYDEBUG(240, *YYCURSOR);
yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
if (yybm[0+yych] & 128) {
- goto yy291;
+ goto yy296;
}
- goto yy222;
-yy236:
- YYDEBUG(236, *YYCURSOR);
+ goto yy227;
+yy241:
+ YYDEBUG(241, *YYCURSOR);
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '/') goto yy251;
- if (yych <= '9') goto yy289;
- goto yy251;
-yy237:
- YYDEBUG(237, *YYCURSOR);
+ if (yych <= '/') goto yy256;
+ if (yych <= '9') goto yy294;
+ goto yy256;
+yy242:
+ YYDEBUG(242, *YYCURSOR);
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '/') goto yy251;
- if (yych <= '9') goto yy287;
- goto yy251;
-yy238:
- YYDEBUG(238, *YYCURSOR);
+ if (yych <= '/') goto yy256;
+ if (yych <= '9') goto yy292;
+ goto yy256;
+yy243:
+ YYDEBUG(243, *YYCURSOR);
yyaccept = 3;
yych = *(YYMARKER = ++YYCURSOR);
if (yych <= '.') {
if (yych <= '\r') {
if (yych <= 0x08) {
- if (yych >= 0x01) goto yy251;
+ if (yych >= 0x01) goto yy256;
} else {
- if (yych <= '\n') goto yy239;
- if (yych <= '\f') goto yy251;
+ if (yych <= '\n') goto yy244;
+ if (yych <= '\f') goto yy256;
}
} else {
if (yych <= '%') {
- if (yych <= 0x1F) goto yy251;
- if (yych >= '#') goto yy251;
+ if (yych <= 0x1F) goto yy256;
+ if (yych >= '#') goto yy256;
} else {
- if (yych <= ')') goto yy239;
- if (yych <= '-') goto yy251;
- goto yy283;
+ if (yych <= ')') goto yy244;
+ if (yych <= '-') goto yy256;
+ goto yy288;
}
}
} else {
if (yych <= '<') {
if (yych <= '9') {
- if (yych <= '/') goto yy251;
- goto yy285;
+ if (yych <= '/') goto yy256;
+ goto yy290;
} else {
- if (yych != ';') goto yy251;
+ if (yych != ';') goto yy256;
}
} else {
if (yych <= '|') {
- if (yych <= '=') goto yy239;
- if (yych <= '{') goto yy251;
+ if (yych <= '=') goto yy244;
+ if (yych <= '{') goto yy256;
} else {
- if (yych != '~') goto yy251;
+ if (yych != '~') goto yy256;
}
}
}
-yy239:
- YYDEBUG(239, *YYCURSOR);
+yy244:
+ YYDEBUG(244, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 442 "Zend/zend_ini_scanner.l"
+#line 468 "Zend/zend_ini_scanner.l"
{ /* Get number option value as string */
RETURN_TOKEN(TC_NUMBER, yytext, yyleng);
}
-#line 2928 "Zend/zend_ini_scanner.c"
-yy240:
- YYDEBUG(240, *YYCURSOR);
+#line 3035 "Zend/zend_ini_scanner.c"
+yy245:
+ YYDEBUG(245, *YYCURSOR);
yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
- goto yy279;
-yy241:
- YYDEBUG(241, *YYCURSOR);
+ goto yy284;
+yy246:
+ YYDEBUG(246, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(242, *YYCURSOR);
+ YYDEBUG(247, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 454 "Zend/zend_ini_scanner.l"
+#line 480 "Zend/zend_ini_scanner.l"
{ /* Make = used in option value to trigger error */
yyless(0);
BEGIN(INITIAL);
return END_OF_LINE;
}
-#line 2945 "Zend/zend_ini_scanner.c"
-yy243:
- YYDEBUG(243, *YYCURSOR);
+#line 3052 "Zend/zend_ini_scanner.c"
+yy248:
+ YYDEBUG(248, *YYCURSOR);
yyaccept = 4;
yych = *(YYMARKER = ++YYCURSOR);
if (yybm[0+yych] & 4) {
- goto yy252;
+ goto yy257;
}
if (yych <= ')') {
if (yych <= '\f') {
- if (yych <= 0x00) goto yy244;
- if (yych <= 0x08) goto yy251;
- if (yych >= '\v') goto yy251;
+ if (yych <= 0x00) goto yy249;
+ if (yych <= 0x08) goto yy256;
+ if (yych >= '\v') goto yy256;
} else {
if (yych <= 0x1F) {
- if (yych >= 0x0E) goto yy251;
+ if (yych >= 0x0E) goto yy256;
} else {
- if (yych <= '"') goto yy244;
- if (yych <= '%') goto yy251;
+ if (yych <= '"') goto yy249;
+ if (yych <= '%') goto yy256;
}
}
} else {
if (yych <= '=') {
- if (yych == ';') goto yy244;
- if (yych <= '<') goto yy251;
+ if (yych == ';') goto yy249;
+ if (yych <= '<') goto yy256;
} else {
if (yych <= '|') {
- if (yych <= '{') goto yy251;
+ if (yych <= '{') goto yy256;
} else {
- if (yych != '~') goto yy251;
+ if (yych != '~') goto yy256;
}
}
}
-yy244:
- YYDEBUG(244, *YYCURSOR);
+yy249:
+ YYDEBUG(249, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 438 "Zend/zend_ini_scanner.l"
+#line 464 "Zend/zend_ini_scanner.l"
{ /* Get constant option value */
RETURN_TOKEN(TC_CONSTANT, yytext, yyleng);
}
-#line 2985 "Zend/zend_ini_scanner.c"
-yy245:
- YYDEBUG(245, *YYCURSOR);
+#line 3092 "Zend/zend_ini_scanner.c"
+yy250:
+ YYDEBUG(250, *YYCURSOR);
yyaccept = 4;
yych = *(YYMARKER = ++YYCURSOR);
if (yych <= '<') {
if (yych <= '"') {
if (yych <= '\n') {
- if (yych <= 0x00) goto yy244;
- if (yych <= 0x08) goto yy251;
- goto yy244;
+ if (yych <= 0x00) goto yy249;
+ if (yych <= 0x08) goto yy256;
+ goto yy249;
} else {
- if (yych == '\r') goto yy244;
- if (yych <= 0x1F) goto yy251;
- goto yy244;
+ if (yych == '\r') goto yy249;
+ if (yych <= 0x1F) goto yy256;
+ goto yy249;
}
} else {
if (yych <= '/') {
- if (yych <= '%') goto yy251;
- if (yych <= ')') goto yy244;
- goto yy251;
+ if (yych <= '%') goto yy256;
+ if (yych <= ')') goto yy249;
+ goto yy256;
} else {
- if (yych <= '9') goto yy252;
- if (yych == ';') goto yy244;
- goto yy251;
+ if (yych <= '9') goto yy257;
+ if (yych == ';') goto yy249;
+ goto yy256;
}
}
} else {
if (yych <= '`') {
if (yych <= 'A') {
- if (yych <= '=') goto yy244;
- if (yych <= '@') goto yy251;
- goto yy275;
+ if (yych <= '=') goto yy249;
+ if (yych <= '@') goto yy256;
+ goto yy280;
} else {
- if (yych <= 'Z') goto yy252;
- if (yych == '_') goto yy252;
- goto yy251;
+ if (yych <= 'Z') goto yy257;
+ if (yych == '_') goto yy257;
+ goto yy256;
}
} else {
if (yych <= '{') {
- if (yych <= 'a') goto yy275;
- if (yych <= 'z') goto yy252;
- goto yy251;
+ if (yych <= 'a') goto yy280;
+ if (yych <= 'z') goto yy257;
+ goto yy256;
} else {
- if (yych == '}') goto yy251;
- if (yych <= '~') goto yy244;
- goto yy251;
+ if (yych == '}') goto yy256;
+ if (yych <= '~') goto yy249;
+ goto yy256;
}
}
}
-yy246:
- YYDEBUG(246, *YYCURSOR);
+yy251:
+ YYDEBUG(251, *YYCURSOR);
yyaccept = 4;
yych = *(YYMARKER = ++YYCURSOR);
if (yych <= 'N') {
if (yych <= '%') {
if (yych <= '\f') {
- if (yych <= 0x00) goto yy244;
- if (yych <= 0x08) goto yy251;
- if (yych <= '\n') goto yy244;
- goto yy251;
+ if (yych <= 0x00) goto yy249;
+ if (yych <= 0x08) goto yy256;
+ if (yych <= '\n') goto yy249;
+ goto yy256;
} else {
- if (yych <= '\r') goto yy244;
- if (yych <= 0x1F) goto yy251;
- if (yych <= '"') goto yy244;
- goto yy251;
+ if (yych <= '\r') goto yy249;
+ if (yych <= 0x1F) goto yy256;
+ if (yych <= '"') goto yy249;
+ goto yy256;
}
} else {
if (yych <= ':') {
- if (yych <= ')') goto yy244;
- if (yych <= '/') goto yy251;
- if (yych <= '9') goto yy252;
- goto yy251;
+ if (yych <= ')') goto yy249;
+ if (yych <= '/') goto yy256;
+ if (yych <= '9') goto yy257;
+ goto yy256;
} else {
if (yych <= '<') {
- if (yych <= ';') goto yy244;
- goto yy251;
+ if (yych <= ';') goto yy249;
+ goto yy256;
} else {
- if (yych <= '=') goto yy244;
- if (yych <= '@') goto yy251;
- goto yy252;
+ if (yych <= '=') goto yy249;
+ if (yych <= '@') goto yy256;
+ goto yy257;
}
}
}
} else {
if (yych <= 'n') {
if (yych <= 'Z') {
- if (yych <= 'O') goto yy271;
- if (yych == 'U') goto yy272;
- goto yy252;
+ if (yych <= 'O') goto yy276;
+ if (yych == 'U') goto yy277;
+ goto yy257;
} else {
- if (yych == '_') goto yy252;
- if (yych <= '`') goto yy251;
- goto yy252;
+ if (yych == '_') goto yy257;
+ if (yych <= '`') goto yy256;
+ goto yy257;
}
} else {
if (yych <= 'z') {
- if (yych <= 'o') goto yy271;
- if (yych == 'u') goto yy272;
- goto yy252;
+ if (yych <= 'o') goto yy276;
+ if (yych == 'u') goto yy277;
+ goto yy257;
} else {
if (yych <= '|') {
- if (yych <= '{') goto yy251;
- goto yy244;
+ if (yych <= '{') goto yy256;
+ goto yy249;
} else {
- if (yych == '~') goto yy244;
- goto yy251;
+ if (yych == '~') goto yy249;
+ goto yy256;
}
}
}
}
-yy247:
- YYDEBUG(247, *YYCURSOR);
+yy252:
+ YYDEBUG(252, *YYCURSOR);
yyaccept = 4;
yych = *(YYMARKER = ++YYCURSOR);
if (yych <= 'E') {
if (yych <= '%') {
if (yych <= '\f') {
- if (yych <= 0x00) goto yy244;
- if (yych <= 0x08) goto yy251;
- if (yych <= '\n') goto yy244;
- goto yy251;
+ if (yych <= 0x00) goto yy249;
+ if (yych <= 0x08) goto yy256;
+ if (yych <= '\n') goto yy249;
+ goto yy256;
} else {
- if (yych <= '\r') goto yy244;
- if (yych <= 0x1F) goto yy251;
- if (yych <= '"') goto yy244;
- goto yy251;
+ if (yych <= '\r') goto yy249;
+ if (yych <= 0x1F) goto yy256;
+ if (yych <= '"') goto yy249;
+ goto yy256;
}
} else {
if (yych <= ':') {
- if (yych <= ')') goto yy244;
- if (yych <= '/') goto yy251;
- if (yych <= '9') goto yy252;
- goto yy251;
+ if (yych <= ')') goto yy249;
+ if (yych <= '/') goto yy256;
+ if (yych <= '9') goto yy257;
+ goto yy256;
} else {
if (yych <= '<') {
- if (yych <= ';') goto yy244;
- goto yy251;
+ if (yych <= ';') goto yy249;
+ goto yy256;
} else {
- if (yych <= '=') goto yy244;
- if (yych <= '@') goto yy251;
- goto yy252;
+ if (yych <= '=') goto yy249;
+ if (yych <= '@') goto yy256;
+ goto yy257;
}
}
}
} else {
if (yych <= 'e') {
if (yych <= 'Z') {
- if (yych <= 'F') goto yy266;
- if (yych == 'N') goto yy260;
- goto yy252;
+ if (yych <= 'F') goto yy271;
+ if (yych == 'N') goto yy265;
+ goto yy257;
} else {
- if (yych == '_') goto yy252;
- if (yych <= '`') goto yy251;
- goto yy252;
+ if (yych == '_') goto yy257;
+ if (yych <= '`') goto yy256;
+ goto yy257;
}
} else {
if (yych <= 'z') {
- if (yych <= 'f') goto yy266;
- if (yych == 'n') goto yy260;
- goto yy252;
+ if (yych <= 'f') goto yy271;
+ if (yych == 'n') goto yy265;
+ goto yy257;
} else {
if (yych <= '|') {
- if (yych <= '{') goto yy251;
- goto yy244;
+ if (yych <= '{') goto yy256;
+ goto yy249;
} else {
- if (yych == '~') goto yy244;
- goto yy251;
+ if (yych == '~') goto yy249;
+ goto yy256;
}
}
}
}
-yy248:
- YYDEBUG(248, *YYCURSOR);
+yy253:
+ YYDEBUG(253, *YYCURSOR);
yyaccept = 4;
yych = *(YYMARKER = ++YYCURSOR);
if (yych <= '=') {
if (yych <= '"') {
if (yych <= '\n') {
- if (yych <= 0x00) goto yy244;
- if (yych <= 0x08) goto yy251;
- goto yy244;
+ if (yych <= 0x00) goto yy249;
+ if (yych <= 0x08) goto yy256;
+ goto yy249;
} else {
- if (yych == '\r') goto yy244;
- if (yych <= 0x1F) goto yy251;
- goto yy244;
+ if (yych == '\r') goto yy249;
+ if (yych <= 0x1F) goto yy256;
+ goto yy249;
}
} else {
if (yych <= '9') {
- if (yych <= '%') goto yy251;
- if (yych <= ')') goto yy244;
- if (yych <= '/') goto yy251;
- goto yy252;
+ if (yych <= '%') goto yy256;
+ if (yych <= ')') goto yy249;
+ if (yych <= '/') goto yy256;
+ goto yy257;
} else {
- if (yych == ';') goto yy244;
- if (yych <= '<') goto yy251;
- goto yy244;
+ if (yych == ';') goto yy249;
+ if (yych <= '<') goto yy256;
+ goto yy249;
}
}
} else {
if (yych <= '`') {
if (yych <= 'R') {
- if (yych <= '@') goto yy251;
- if (yych <= 'Q') goto yy252;
- goto yy264;
+ if (yych <= '@') goto yy256;
+ if (yych <= 'Q') goto yy257;
+ goto yy269;
} else {
- if (yych <= 'Z') goto yy252;
- if (yych == '_') goto yy252;
- goto yy251;
+ if (yych <= 'Z') goto yy257;
+ if (yych == '_') goto yy257;
+ goto yy256;
}
} else {
if (yych <= '{') {
- if (yych == 'r') goto yy264;
- if (yych <= 'z') goto yy252;
- goto yy251;
+ if (yych == 'r') goto yy269;
+ if (yych <= 'z') goto yy257;
+ goto yy256;
} else {
- if (yych == '}') goto yy251;
- if (yych <= '~') goto yy244;
- goto yy251;
+ if (yych == '}') goto yy256;
+ if (yych <= '~') goto yy249;
+ goto yy256;
}
}
}
-yy249:
- YYDEBUG(249, *YYCURSOR);
+yy254:
+ YYDEBUG(254, *YYCURSOR);
yyaccept = 4;
yych = *(YYMARKER = ++YYCURSOR);
if (yych <= '=') {
if (yych <= '"') {
if (yych <= '\n') {
- if (yych <= 0x00) goto yy244;
- if (yych <= 0x08) goto yy251;
- goto yy244;
+ if (yych <= 0x00) goto yy249;
+ if (yych <= 0x08) goto yy256;
+ goto yy249;
} else {
- if (yych == '\r') goto yy244;
- if (yych <= 0x1F) goto yy251;
- goto yy244;
+ if (yych == '\r') goto yy249;
+ if (yych <= 0x1F) goto yy256;
+ goto yy249;
}
} else {
if (yych <= '9') {
- if (yych <= '%') goto yy251;
- if (yych <= ')') goto yy244;
- if (yych <= '/') goto yy251;
- goto yy252;
+ if (yych <= '%') goto yy256;
+ if (yych <= ')') goto yy249;
+ if (yych <= '/') goto yy256;
+ goto yy257;
} else {
- if (yych == ';') goto yy244;
- if (yych <= '<') goto yy251;
- goto yy244;
+ if (yych == ';') goto yy249;
+ if (yych <= '<') goto yy256;
+ goto yy249;
}
}
} else {
if (yych <= '`') {
if (yych <= 'E') {
- if (yych <= '@') goto yy251;
- if (yych <= 'D') goto yy252;
- goto yy254;
+ if (yych <= '@') goto yy256;
+ if (yych <= 'D') goto yy257;
+ goto yy259;
} else {
- if (yych <= 'Z') goto yy252;
- if (yych == '_') goto yy252;
- goto yy251;
+ if (yych <= 'Z') goto yy257;
+ if (yych == '_') goto yy257;
+ goto yy256;
}
} else {
if (yych <= '{') {
- if (yych == 'e') goto yy254;
- if (yych <= 'z') goto yy252;
- goto yy251;
+ if (yych == 'e') goto yy259;
+ if (yych <= 'z') goto yy257;
+ goto yy256;
} else {
- if (yych == '}') goto yy251;
- if (yych <= '~') goto yy244;
- goto yy251;
+ if (yych == '}') goto yy256;
+ if (yych <= '~') goto yy249;
+ goto yy256;
}
}
}
-yy250:
- YYDEBUG(250, *YYCURSOR);
+yy255:
+ YYDEBUG(255, *YYCURSOR);
yyaccept = 0;
YYMARKER = ++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
-yy251:
- YYDEBUG(251, *YYCURSOR);
+yy256:
+ YYDEBUG(256, *YYCURSOR);
if (yybm[0+yych] & 2) {
- goto yy250;
+ goto yy255;
}
- if (yych == '$') goto yy255;
- goto yy224;
-yy252:
- YYDEBUG(252, *YYCURSOR);
+ if (yych == '$') goto yy260;
+ goto yy229;
+yy257:
+ YYDEBUG(257, *YYCURSOR);
yyaccept = 4;
YYMARKER = ++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(253, *YYCURSOR);
+ YYDEBUG(258, *YYCURSOR);
if (yybm[0+yych] & 4) {
- goto yy252;
+ goto yy257;
}
if (yych <= '%') {
if (yych <= '\r') {
if (yych <= 0x08) {
- if (yych <= 0x00) goto yy244;
- goto yy250;
+ if (yych <= 0x00) goto yy249;
+ goto yy255;
} else {
- if (yych <= '\n') goto yy244;
- if (yych <= '\f') goto yy250;
- goto yy244;
+ if (yych <= '\n') goto yy249;
+ if (yych <= '\f') goto yy255;
+ goto yy249;
}
} else {
if (yych <= '"') {
- if (yych <= 0x1F) goto yy250;
- goto yy244;
+ if (yych <= 0x1F) goto yy255;
+ goto yy249;
} else {
- if (yych == '$') goto yy255;
- goto yy250;
+ if (yych == '$') goto yy260;
+ goto yy255;
}
}
} else {
if (yych <= '=') {
if (yych <= ':') {
- if (yych <= ')') goto yy244;
- goto yy250;
+ if (yych <= ')') goto yy249;
+ goto yy255;
} else {
- if (yych == '<') goto yy250;
- goto yy244;
+ if (yych == '<') goto yy255;
+ goto yy249;
}
} else {
if (yych <= '|') {
- if (yych <= '{') goto yy250;
- goto yy244;
+ if (yych <= '{') goto yy255;
+ goto yy249;
} else {
- if (yych == '~') goto yy244;
- goto yy250;
+ if (yych == '~') goto yy249;
+ goto yy255;
}
}
}
-yy254:
- YYDEBUG(254, *YYCURSOR);
+yy259:
+ YYDEBUG(259, *YYCURSOR);
yyaccept = 4;
yych = *(YYMARKER = ++YYCURSOR);
if (yych <= '=') {
if (yych <= '"') {
if (yych <= '\n') {
- if (yych <= 0x00) goto yy244;
- if (yych <= 0x08) goto yy251;
- goto yy244;
+ if (yych <= 0x00) goto yy249;
+ if (yych <= 0x08) goto yy256;
+ goto yy249;
} else {
- if (yych == '\r') goto yy244;
- if (yych <= 0x1F) goto yy251;
- goto yy244;
+ if (yych == '\r') goto yy249;
+ if (yych <= 0x1F) goto yy256;
+ goto yy249;
}
} else {
if (yych <= '9') {
- if (yych <= '%') goto yy251;
- if (yych <= ')') goto yy244;
- if (yych <= '/') goto yy251;
- goto yy252;
+ if (yych <= '%') goto yy256;
+ if (yych <= ')') goto yy249;
+ if (yych <= '/') goto yy256;
+ goto yy257;
} else {
- if (yych == ';') goto yy244;
- if (yych <= '<') goto yy251;
- goto yy244;
+ if (yych == ';') goto yy249;
+ if (yych <= '<') goto yy256;
+ goto yy249;
}
}
} else {
if (yych <= '`') {
if (yych <= 'S') {
- if (yych <= '@') goto yy251;
- if (yych <= 'R') goto yy252;
- goto yy260;
+ if (yych <= '@') goto yy256;
+ if (yych <= 'R') goto yy257;
+ goto yy265;
} else {
- if (yych <= 'Z') goto yy252;
- if (yych == '_') goto yy252;
- goto yy251;
+ if (yych <= 'Z') goto yy257;
+ if (yych == '_') goto yy257;
+ goto yy256;
}
} else {
if (yych <= '{') {
- if (yych == 's') goto yy260;
- if (yych <= 'z') goto yy252;
- goto yy251;
+ if (yych == 's') goto yy265;
+ if (yych <= 'z') goto yy257;
+ goto yy256;
} else {
- if (yych == '}') goto yy251;
- if (yych <= '~') goto yy244;
- goto yy251;
+ if (yych == '}') goto yy256;
+ if (yych <= '~') goto yy249;
+ goto yy256;
}
}
}
-yy255:
- YYDEBUG(255, *YYCURSOR);
+yy260:
+ YYDEBUG(260, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
if (yych <= '\\') {
- if (yych <= 0x00) goto yy256;
- if (yych <= '[') goto yy250;
- goto yy257;
+ if (yych <= 0x00) goto yy261;
+ if (yych <= '[') goto yy255;
+ goto yy262;
} else {
- if (yych != '{') goto yy250;
+ if (yych != '{') goto yy255;
}
-yy256:
- YYDEBUG(256, *YYCURSOR);
+yy261:
+ YYDEBUG(261, *YYCURSOR);
YYCURSOR = YYMARKER;
if (yyaccept <= 3) {
if (yyaccept <= 1) {
if (yyaccept <= 0) {
- goto yy224;
+ goto yy229;
} else {
- goto yy226;
+ goto yy231;
}
} else {
if (yyaccept <= 2) {
- goto yy222;
+ goto yy227;
} else {
- goto yy239;
+ goto yy244;
}
}
} else {
if (yyaccept <= 5) {
if (yyaccept <= 4) {
- goto yy244;
+ goto yy249;
} else {
- goto yy261;
+ goto yy266;
}
} else {
- goto yy268;
+ goto yy273;
}
}
-yy257:
- YYDEBUG(257, *YYCURSOR);
+yy262:
+ YYDEBUG(262, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
if (yybm[0+yych] & 8) {
- goto yy258;
+ goto yy263;
}
- goto yy250;
-yy258:
- YYDEBUG(258, *YYCURSOR);
+ goto yy255;
+yy263:
+ YYDEBUG(263, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(259, *YYCURSOR);
+ YYDEBUG(264, *YYCURSOR);
if (yybm[0+yych] & 8) {
- goto yy258;
+ goto yy263;
}
- if (yych <= 0x00) goto yy224;
- if (yych == '\\') goto yy257;
- goto yy250;
-yy260:
- YYDEBUG(260, *YYCURSOR);
+ if (yych <= 0x00) goto yy229;
+ if (yych == '\\') goto yy262;
+ goto yy255;
+yy265:
+ YYDEBUG(265, *YYCURSOR);
yyaccept = 5;
yych = *(YYMARKER = ++YYCURSOR);
if (yybm[0+yych] & 16) {
- goto yy262;
+ goto yy267;
}
if (yych <= ';') {
if (yych <= ' ') {
if (yych <= '\n') {
- if (yych <= 0x00) goto yy261;
- if (yych <= '\t') goto yy251;
+ if (yych <= 0x00) goto yy266;
+ if (yych <= '\t') goto yy256;
} else {
- if (yych != '\r') goto yy251;
+ if (yych != '\r') goto yy256;
}
} else {
if (yych <= ')') {
- if (yych <= '"') goto yy261;
- if (yych <= '%') goto yy251;
+ if (yych <= '"') goto yy266;
+ if (yych <= '%') goto yy256;
} else {
- if (yych <= '/') goto yy251;
- if (yych <= '9') goto yy252;
- if (yych <= ':') goto yy251;
+ if (yych <= '/') goto yy256;
+ if (yych <= '9') goto yy257;
+ if (yych <= ':') goto yy256;
}
}
} else {
if (yych <= '_') {
if (yych <= '@') {
- if (yych != '=') goto yy251;
+ if (yych != '=') goto yy256;
} else {
- if (yych <= 'Z') goto yy252;
- if (yych <= '^') goto yy251;
- goto yy252;
+ if (yych <= 'Z') goto yy257;
+ if (yych <= '^') goto yy256;
+ goto yy257;
}
} else {
if (yych <= '{') {
- if (yych <= '`') goto yy251;
- if (yych <= 'z') goto yy252;
- goto yy251;
+ if (yych <= '`') goto yy256;
+ if (yych <= 'z') goto yy257;
+ goto yy256;
} else {
- if (yych == '}') goto yy251;
- if (yych >= 0x7F) goto yy251;
+ if (yych == '}') goto yy256;
+ if (yych >= 0x7F) goto yy256;
}
}
}
-yy261:
- YYDEBUG(261, *YYCURSOR);
+yy266:
+ YYDEBUG(266, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 398 "Zend/zend_ini_scanner.l"
+#line 418 "Zend/zend_ini_scanner.l"
{ /* TRUE value (when used outside option value/offset this causes parse error!) */
RETURN_TOKEN(BOOL_TRUE, "1", 1);
}
-#line 3481 "Zend/zend_ini_scanner.c"
-yy262:
- YYDEBUG(262, *YYCURSOR);
+#line 3588 "Zend/zend_ini_scanner.c"
+yy267:
+ YYDEBUG(267, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(263, *YYCURSOR);
+ YYDEBUG(268, *YYCURSOR);
if (yybm[0+yych] & 16) {
- goto yy262;
+ goto yy267;
}
- goto yy261;
-yy264:
- YYDEBUG(264, *YYCURSOR);
+ goto yy266;
+yy269:
+ YYDEBUG(269, *YYCURSOR);
yyaccept = 4;
yych = *(YYMARKER = ++YYCURSOR);
if (yych <= '=') {
if (yych <= '"') {
if (yych <= '\n') {
- if (yych <= 0x00) goto yy244;
- if (yych <= 0x08) goto yy251;
- goto yy244;
+ if (yych <= 0x00) goto yy249;
+ if (yych <= 0x08) goto yy256;
+ goto yy249;
} else {
- if (yych == '\r') goto yy244;
- if (yych <= 0x1F) goto yy251;
- goto yy244;
+ if (yych == '\r') goto yy249;
+ if (yych <= 0x1F) goto yy256;
+ goto yy249;
}
} else {
if (yych <= '9') {
- if (yych <= '%') goto yy251;
- if (yych <= ')') goto yy244;
- if (yych <= '/') goto yy251;
- goto yy252;
+ if (yych <= '%') goto yy256;
+ if (yych <= ')') goto yy249;
+ if (yych <= '/') goto yy256;
+ goto yy257;
} else {
- if (yych == ';') goto yy244;
- if (yych <= '<') goto yy251;
- goto yy244;
+ if (yych == ';') goto yy249;
+ if (yych <= '<') goto yy256;
+ goto yy249;
}
}
} else {
if (yych <= '`') {
if (yych <= 'U') {
- if (yych <= '@') goto yy251;
- if (yych <= 'T') goto yy252;
+ if (yych <= '@') goto yy256;
+ if (yych <= 'T') goto yy257;
} else {
- if (yych <= 'Z') goto yy252;
- if (yych == '_') goto yy252;
- goto yy251;
+ if (yych <= 'Z') goto yy257;
+ if (yych == '_') goto yy257;
+ goto yy256;
}
} else {
if (yych <= '{') {
- if (yych == 'u') goto yy265;
- if (yych <= 'z') goto yy252;
- goto yy251;
+ if (yych == 'u') goto yy270;
+ if (yych <= 'z') goto yy257;
+ goto yy256;
} else {
- if (yych == '}') goto yy251;
- if (yych <= '~') goto yy244;
- goto yy251;
+ if (yych == '}') goto yy256;
+ if (yych <= '~') goto yy249;
+ goto yy256;
}
}
}
-yy265:
- YYDEBUG(265, *YYCURSOR);
+yy270:
+ YYDEBUG(270, *YYCURSOR);
yyaccept = 4;
yych = *(YYMARKER = ++YYCURSOR);
if (yych <= '=') {
if (yych <= '"') {
if (yych <= '\n') {
- if (yych <= 0x00) goto yy244;
- if (yych <= 0x08) goto yy251;
- goto yy244;
+ if (yych <= 0x00) goto yy249;
+ if (yych <= 0x08) goto yy256;
+ goto yy249;
} else {
- if (yych == '\r') goto yy244;
- if (yych <= 0x1F) goto yy251;
- goto yy244;
+ if (yych == '\r') goto yy249;
+ if (yych <= 0x1F) goto yy256;
+ goto yy249;
}
} else {
if (yych <= '9') {
- if (yych <= '%') goto yy251;
- if (yych <= ')') goto yy244;
- if (yych <= '/') goto yy251;
- goto yy252;
+ if (yych <= '%') goto yy256;
+ if (yych <= ')') goto yy249;
+ if (yych <= '/') goto yy256;
+ goto yy257;
} else {
- if (yych == ';') goto yy244;
- if (yych <= '<') goto yy251;
- goto yy244;
+ if (yych == ';') goto yy249;
+ if (yych <= '<') goto yy256;
+ goto yy249;
}
}
} else {
if (yych <= '`') {
if (yych <= 'E') {
- if (yych <= '@') goto yy251;
- if (yych <= 'D') goto yy252;
- goto yy260;
+ if (yych <= '@') goto yy256;
+ if (yych <= 'D') goto yy257;
+ goto yy265;
} else {
- if (yych <= 'Z') goto yy252;
- if (yych == '_') goto yy252;
- goto yy251;
+ if (yych <= 'Z') goto yy257;
+ if (yych == '_') goto yy257;
+ goto yy256;
}
} else {
if (yych <= '{') {
- if (yych == 'e') goto yy260;
- if (yych <= 'z') goto yy252;
- goto yy251;
+ if (yych == 'e') goto yy265;
+ if (yych <= 'z') goto yy257;
+ goto yy256;
} else {
- if (yych == '}') goto yy251;
- if (yych <= '~') goto yy244;
- goto yy251;
+ if (yych == '}') goto yy256;
+ if (yych <= '~') goto yy249;
+ goto yy256;
}
}
}
-yy266:
- YYDEBUG(266, *YYCURSOR);
+yy271:
+ YYDEBUG(271, *YYCURSOR);
yyaccept = 4;
yych = *(YYMARKER = ++YYCURSOR);
if (yych <= '=') {
if (yych <= '"') {
if (yych <= '\n') {
- if (yych <= 0x00) goto yy244;
- if (yych <= 0x08) goto yy251;
- goto yy244;
+ if (yych <= 0x00) goto yy249;
+ if (yych <= 0x08) goto yy256;
+ goto yy249;
} else {
- if (yych == '\r') goto yy244;
- if (yych <= 0x1F) goto yy251;
- goto yy244;
+ if (yych == '\r') goto yy249;
+ if (yych <= 0x1F) goto yy256;
+ goto yy249;
}
} else {
if (yych <= '9') {
- if (yych <= '%') goto yy251;
- if (yych <= ')') goto yy244;
- if (yych <= '/') goto yy251;
- goto yy252;
+ if (yych <= '%') goto yy256;
+ if (yych <= ')') goto yy249;
+ if (yych <= '/') goto yy256;
+ goto yy257;
} else {
- if (yych == ';') goto yy244;
- if (yych <= '<') goto yy251;
- goto yy244;
+ if (yych == ';') goto yy249;
+ if (yych <= '<') goto yy256;
+ goto yy249;
}
}
} else {
if (yych <= '`') {
if (yych <= 'F') {
- if (yych <= '@') goto yy251;
- if (yych <= 'E') goto yy252;
+ if (yych <= '@') goto yy256;
+ if (yych <= 'E') goto yy257;
} else {
- if (yych <= 'Z') goto yy252;
- if (yych == '_') goto yy252;
- goto yy251;
+ if (yych <= 'Z') goto yy257;
+ if (yych == '_') goto yy257;
+ goto yy256;
}
} else {
if (yych <= '{') {
- if (yych == 'f') goto yy267;
- if (yych <= 'z') goto yy252;
- goto yy251;
+ if (yych == 'f') goto yy272;
+ if (yych <= 'z') goto yy257;
+ goto yy256;
} else {
- if (yych == '}') goto yy251;
- if (yych <= '~') goto yy244;
- goto yy251;
+ if (yych == '}') goto yy256;
+ if (yych <= '~') goto yy249;
+ goto yy256;
}
}
}
-yy267:
- YYDEBUG(267, *YYCURSOR);
+yy272:
+ YYDEBUG(272, *YYCURSOR);
yyaccept = 6;
yych = *(YYMARKER = ++YYCURSOR);
if (yybm[0+yych] & 4) {
- goto yy252;
+ goto yy257;
}
if (yych <= '%') {
if (yych <= '\f') {
if (yych <= 0x08) {
- if (yych >= 0x01) goto yy251;
+ if (yych >= 0x01) goto yy256;
} else {
- if (yych <= '\t') goto yy269;
- if (yych >= '\v') goto yy251;
+ if (yych <= '\t') goto yy274;
+ if (yych >= '\v') goto yy256;
}
} else {
if (yych <= 0x1F) {
- if (yych >= 0x0E) goto yy251;
+ if (yych >= 0x0E) goto yy256;
} else {
- if (yych <= ' ') goto yy269;
- if (yych >= '#') goto yy251;
+ if (yych <= ' ') goto yy274;
+ if (yych >= '#') goto yy256;
}
}
} else {
if (yych <= '=') {
if (yych <= ':') {
- if (yych >= '*') goto yy251;
+ if (yych >= '*') goto yy256;
} else {
- if (yych == '<') goto yy251;
+ if (yych == '<') goto yy256;
}
} else {
if (yych <= '|') {
- if (yych <= '{') goto yy251;
+ if (yych <= '{') goto yy256;
} else {
- if (yych != '~') goto yy251;
+ if (yych != '~') goto yy256;
}
}
}
-yy268:
- YYDEBUG(268, *YYCURSOR);
+yy273:
+ YYDEBUG(273, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 402 "Zend/zend_ini_scanner.l"
+#line 422 "Zend/zend_ini_scanner.l"
{ /* FALSE value (when used outside option value/offset this causes parse error!)*/
RETURN_TOKEN(BOOL_FALSE, "", 0);
}
-#line 3685 "Zend/zend_ini_scanner.c"
-yy269:
- YYDEBUG(269, *YYCURSOR);
+#line 3792 "Zend/zend_ini_scanner.c"
+yy274:
+ YYDEBUG(274, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(270, *YYCURSOR);
- if (yych == '\t') goto yy269;
- if (yych == ' ') goto yy269;
- goto yy268;
-yy271:
- YYDEBUG(271, *YYCURSOR);
+ YYDEBUG(275, *YYCURSOR);
+ if (yych == '\t') goto yy274;
+ if (yych == ' ') goto yy274;
+ goto yy273;
+yy276:
+ YYDEBUG(276, *YYCURSOR);
yyaccept = 6;
yych = *(YYMARKER = ++YYCURSOR);
if (yych <= '<') {
if (yych <= ' ') {
if (yych <= '\n') {
- if (yych <= 0x00) goto yy268;
- if (yych <= 0x08) goto yy251;
- if (yych <= '\t') goto yy269;
- goto yy268;
+ if (yych <= 0x00) goto yy273;
+ if (yych <= 0x08) goto yy256;
+ if (yych <= '\t') goto yy274;
+ goto yy273;
} else {
- if (yych == '\r') goto yy268;
- if (yych <= 0x1F) goto yy251;
- goto yy269;
+ if (yych == '\r') goto yy273;
+ if (yych <= 0x1F) goto yy256;
+ goto yy274;
}
} else {
if (yych <= '/') {
- if (yych <= '"') goto yy268;
- if (yych <= '%') goto yy251;
- if (yych <= ')') goto yy268;
- goto yy251;
+ if (yych <= '"') goto yy273;
+ if (yych <= '%') goto yy256;
+ if (yych <= ')') goto yy273;
+ goto yy256;
} else {
- if (yych <= '9') goto yy252;
- if (yych == ';') goto yy268;
- goto yy251;
+ if (yych <= '9') goto yy257;
+ if (yych == ';') goto yy273;
+ goto yy256;
}
}
} else {
if (yych <= '`') {
if (yych <= 'N') {
- if (yych <= '=') goto yy268;
- if (yych <= '@') goto yy251;
- if (yych <= 'M') goto yy252;
- goto yy274;
+ if (yych <= '=') goto yy273;
+ if (yych <= '@') goto yy256;
+ if (yych <= 'M') goto yy257;
+ goto yy279;
} else {
- if (yych <= 'Z') goto yy252;
- if (yych == '_') goto yy252;
- goto yy251;
+ if (yych <= 'Z') goto yy257;
+ if (yych == '_') goto yy257;
+ goto yy256;
}
} else {
if (yych <= '{') {
- if (yych == 'n') goto yy274;
- if (yych <= 'z') goto yy252;
- goto yy251;
+ if (yych == 'n') goto yy279;
+ if (yych <= 'z') goto yy257;
+ goto yy256;
} else {
- if (yych == '}') goto yy251;
- if (yych <= '~') goto yy268;
- goto yy251;
+ if (yych == '}') goto yy256;
+ if (yych <= '~') goto yy273;
+ goto yy256;
}
}
}
-yy272:
- YYDEBUG(272, *YYCURSOR);
+yy277:
+ YYDEBUG(277, *YYCURSOR);
yyaccept = 4;
yych = *(YYMARKER = ++YYCURSOR);
if (yych <= '=') {
if (yych <= '"') {
if (yych <= '\n') {
- if (yych <= 0x00) goto yy244;
- if (yych <= 0x08) goto yy251;
- goto yy244;
+ if (yych <= 0x00) goto yy249;
+ if (yych <= 0x08) goto yy256;
+ goto yy249;
} else {
- if (yych == '\r') goto yy244;
- if (yych <= 0x1F) goto yy251;
- goto yy244;
+ if (yych == '\r') goto yy249;
+ if (yych <= 0x1F) goto yy256;
+ goto yy249;
}
} else {
if (yych <= '9') {
- if (yych <= '%') goto yy251;
- if (yych <= ')') goto yy244;
- if (yych <= '/') goto yy251;
- goto yy252;
+ if (yych <= '%') goto yy256;
+ if (yych <= ')') goto yy249;
+ if (yych <= '/') goto yy256;
+ goto yy257;
} else {
- if (yych == ';') goto yy244;
- if (yych <= '<') goto yy251;
- goto yy244;
+ if (yych == ';') goto yy249;
+ if (yych <= '<') goto yy256;
+ goto yy249;
}
}
} else {
if (yych <= '`') {
if (yych <= 'L') {
- if (yych <= '@') goto yy251;
- if (yych <= 'K') goto yy252;
+ if (yych <= '@') goto yy256;
+ if (yych <= 'K') goto yy257;
} else {
- if (yych <= 'Z') goto yy252;
- if (yych == '_') goto yy252;
- goto yy251;
+ if (yych <= 'Z') goto yy257;
+ if (yych == '_') goto yy257;
+ goto yy256;
}
} else {
if (yych <= '{') {
- if (yych == 'l') goto yy273;
- if (yych <= 'z') goto yy252;
- goto yy251;
+ if (yych == 'l') goto yy278;
+ if (yych <= 'z') goto yy257;
+ goto yy256;
} else {
- if (yych == '}') goto yy251;
- if (yych <= '~') goto yy244;
- goto yy251;
+ if (yych == '}') goto yy256;
+ if (yych <= '~') goto yy249;
+ goto yy256;
}
}
}
-yy273:
- YYDEBUG(273, *YYCURSOR);
+yy278:
+ YYDEBUG(278, *YYCURSOR);
yyaccept = 4;
yych = *(YYMARKER = ++YYCURSOR);
if (yych <= '=') {
if (yych <= '"') {
if (yych <= '\n') {
- if (yych <= 0x00) goto yy244;
- if (yych <= 0x08) goto yy251;
- goto yy244;
+ if (yych <= 0x00) goto yy249;
+ if (yych <= 0x08) goto yy256;
+ goto yy249;
} else {
- if (yych == '\r') goto yy244;
- if (yych <= 0x1F) goto yy251;
- goto yy244;
+ if (yych == '\r') goto yy249;
+ if (yych <= 0x1F) goto yy256;
+ goto yy249;
}
} else {
if (yych <= '9') {
- if (yych <= '%') goto yy251;
- if (yych <= ')') goto yy244;
- if (yych <= '/') goto yy251;
- goto yy252;
+ if (yych <= '%') goto yy256;
+ if (yych <= ')') goto yy249;
+ if (yych <= '/') goto yy256;
+ goto yy257;
} else {
- if (yych == ';') goto yy244;
- if (yych <= '<') goto yy251;
- goto yy244;
+ if (yych == ';') goto yy249;
+ if (yych <= '<') goto yy256;
+ goto yy249;
}
}
} else {
if (yych <= '`') {
if (yych <= 'L') {
- if (yych <= '@') goto yy251;
- if (yych <= 'K') goto yy252;
- goto yy267;
+ if (yych <= '@') goto yy256;
+ if (yych <= 'K') goto yy257;
+ goto yy272;
} else {
- if (yych <= 'Z') goto yy252;
- if (yych == '_') goto yy252;
- goto yy251;
+ if (yych <= 'Z') goto yy257;
+ if (yych == '_') goto yy257;
+ goto yy256;
}
} else {
if (yych <= '{') {
- if (yych == 'l') goto yy267;
- if (yych <= 'z') goto yy252;
- goto yy251;
+ if (yych == 'l') goto yy272;
+ if (yych <= 'z') goto yy257;
+ goto yy256;
} else {
- if (yych == '}') goto yy251;
- if (yych <= '~') goto yy244;
- goto yy251;
+ if (yych == '}') goto yy256;
+ if (yych <= '~') goto yy249;
+ goto yy256;
}
}
}
-yy274:
- YYDEBUG(274, *YYCURSOR);
+yy279:
+ YYDEBUG(279, *YYCURSOR);
yyaccept = 4;
yych = *(YYMARKER = ++YYCURSOR);
if (yych <= '=') {
if (yych <= '"') {
if (yych <= '\n') {
- if (yych <= 0x00) goto yy244;
- if (yych <= 0x08) goto yy251;
- goto yy244;
+ if (yych <= 0x00) goto yy249;
+ if (yych <= 0x08) goto yy256;
+ goto yy249;
} else {
- if (yych == '\r') goto yy244;
- if (yych <= 0x1F) goto yy251;
- goto yy244;
+ if (yych == '\r') goto yy249;
+ if (yych <= 0x1F) goto yy256;
+ goto yy249;
}
} else {
if (yych <= '9') {
- if (yych <= '%') goto yy251;
- if (yych <= ')') goto yy244;
- if (yych <= '/') goto yy251;
- goto yy252;
+ if (yych <= '%') goto yy256;
+ if (yych <= ')') goto yy249;
+ if (yych <= '/') goto yy256;
+ goto yy257;
} else {
- if (yych == ';') goto yy244;
- if (yych <= '<') goto yy251;
- goto yy244;
+ if (yych == ';') goto yy249;
+ if (yych <= '<') goto yy256;
+ goto yy249;
}
}
} else {
if (yych <= '`') {
if (yych <= 'E') {
- if (yych <= '@') goto yy251;
- if (yych <= 'D') goto yy252;
- goto yy267;
+ if (yych <= '@') goto yy256;
+ if (yych <= 'D') goto yy257;
+ goto yy272;
} else {
- if (yych <= 'Z') goto yy252;
- if (yych == '_') goto yy252;
- goto yy251;
+ if (yych <= 'Z') goto yy257;
+ if (yych == '_') goto yy257;
+ goto yy256;
}
} else {
if (yych <= '{') {
- if (yych == 'e') goto yy267;
- if (yych <= 'z') goto yy252;
- goto yy251;
+ if (yych == 'e') goto yy272;
+ if (yych <= 'z') goto yy257;
+ goto yy256;
} else {
- if (yych == '}') goto yy251;
- if (yych <= '~') goto yy244;
- goto yy251;
+ if (yych == '}') goto yy256;
+ if (yych <= '~') goto yy249;
+ goto yy256;
}
}
}
-yy275:
- YYDEBUG(275, *YYCURSOR);
+yy280:
+ YYDEBUG(280, *YYCURSOR);
yyaccept = 4;
yych = *(YYMARKER = ++YYCURSOR);
if (yych <= '=') {
if (yych <= '"') {
if (yych <= '\n') {
- if (yych <= 0x00) goto yy244;
- if (yych <= 0x08) goto yy251;
- goto yy244;
+ if (yych <= 0x00) goto yy249;
+ if (yych <= 0x08) goto yy256;
+ goto yy249;
} else {
- if (yych == '\r') goto yy244;
- if (yych <= 0x1F) goto yy251;
- goto yy244;
+ if (yych == '\r') goto yy249;
+ if (yych <= 0x1F) goto yy256;
+ goto yy249;
}
} else {
if (yych <= '9') {
- if (yych <= '%') goto yy251;
- if (yych <= ')') goto yy244;
- if (yych <= '/') goto yy251;
- goto yy252;
+ if (yych <= '%') goto yy256;
+ if (yych <= ')') goto yy249;
+ if (yych <= '/') goto yy256;
+ goto yy257;
} else {
- if (yych == ';') goto yy244;
- if (yych <= '<') goto yy251;
- goto yy244;
+ if (yych == ';') goto yy249;
+ if (yych <= '<') goto yy256;
+ goto yy249;
}
}
} else {
if (yych <= '`') {
if (yych <= 'L') {
- if (yych <= '@') goto yy251;
- if (yych <= 'K') goto yy252;
+ if (yych <= '@') goto yy256;
+ if (yych <= 'K') goto yy257;
} else {
- if (yych <= 'Z') goto yy252;
- if (yych == '_') goto yy252;
- goto yy251;
+ if (yych <= 'Z') goto yy257;
+ if (yych == '_') goto yy257;
+ goto yy256;
}
} else {
if (yych <= '{') {
- if (yych == 'l') goto yy276;
- if (yych <= 'z') goto yy252;
- goto yy251;
+ if (yych == 'l') goto yy281;
+ if (yych <= 'z') goto yy257;
+ goto yy256;
} else {
- if (yych == '}') goto yy251;
- if (yych <= '~') goto yy244;
- goto yy251;
+ if (yych == '}') goto yy256;
+ if (yych <= '~') goto yy249;
+ goto yy256;
}
}
}
-yy276:
- YYDEBUG(276, *YYCURSOR);
+yy281:
+ YYDEBUG(281, *YYCURSOR);
yyaccept = 4;
yych = *(YYMARKER = ++YYCURSOR);
if (yych <= '=') {
if (yych <= '"') {
if (yych <= '\n') {
- if (yych <= 0x00) goto yy244;
- if (yych <= 0x08) goto yy251;
- goto yy244;
+ if (yych <= 0x00) goto yy249;
+ if (yych <= 0x08) goto yy256;
+ goto yy249;
} else {
- if (yych == '\r') goto yy244;
- if (yych <= 0x1F) goto yy251;
- goto yy244;
+ if (yych == '\r') goto yy249;
+ if (yych <= 0x1F) goto yy256;
+ goto yy249;
}
} else {
if (yych <= '9') {
- if (yych <= '%') goto yy251;
- if (yych <= ')') goto yy244;
- if (yych <= '/') goto yy251;
- goto yy252;
+ if (yych <= '%') goto yy256;
+ if (yych <= ')') goto yy249;
+ if (yych <= '/') goto yy256;
+ goto yy257;
} else {
- if (yych == ';') goto yy244;
- if (yych <= '<') goto yy251;
- goto yy244;
+ if (yych == ';') goto yy249;
+ if (yych <= '<') goto yy256;
+ goto yy249;
}
}
} else {
if (yych <= '`') {
if (yych <= 'S') {
- if (yych <= '@') goto yy251;
- if (yych <= 'R') goto yy252;
+ if (yych <= '@') goto yy256;
+ if (yych <= 'R') goto yy257;
} else {
- if (yych <= 'Z') goto yy252;
- if (yych == '_') goto yy252;
- goto yy251;
+ if (yych <= 'Z') goto yy257;
+ if (yych == '_') goto yy257;
+ goto yy256;
}
} else {
if (yych <= '{') {
- if (yych == 's') goto yy277;
- if (yych <= 'z') goto yy252;
- goto yy251;
+ if (yych == 's') goto yy282;
+ if (yych <= 'z') goto yy257;
+ goto yy256;
} else {
- if (yych == '}') goto yy251;
- if (yych <= '~') goto yy244;
- goto yy251;
+ if (yych == '}') goto yy256;
+ if (yych <= '~') goto yy249;
+ goto yy256;
}
}
}
-yy277:
- YYDEBUG(277, *YYCURSOR);
+yy282:
+ YYDEBUG(282, *YYCURSOR);
yyaccept = 4;
yych = *(YYMARKER = ++YYCURSOR);
if (yych <= '=') {
if (yych <= '"') {
if (yych <= '\n') {
- if (yych <= 0x00) goto yy244;
- if (yych <= 0x08) goto yy251;
- goto yy244;
+ if (yych <= 0x00) goto yy249;
+ if (yych <= 0x08) goto yy256;
+ goto yy249;
} else {
- if (yych == '\r') goto yy244;
- if (yych <= 0x1F) goto yy251;
- goto yy244;
+ if (yych == '\r') goto yy249;
+ if (yych <= 0x1F) goto yy256;
+ goto yy249;
}
} else {
if (yych <= '9') {
- if (yych <= '%') goto yy251;
- if (yych <= ')') goto yy244;
- if (yych <= '/') goto yy251;
- goto yy252;
+ if (yych <= '%') goto yy256;
+ if (yych <= ')') goto yy249;
+ if (yych <= '/') goto yy256;
+ goto yy257;
} else {
- if (yych == ';') goto yy244;
- if (yych <= '<') goto yy251;
- goto yy244;
+ if (yych == ';') goto yy249;
+ if (yych <= '<') goto yy256;
+ goto yy249;
}
}
} else {
if (yych <= '`') {
if (yych <= 'E') {
- if (yych <= '@') goto yy251;
- if (yych <= 'D') goto yy252;
- goto yy267;
+ if (yych <= '@') goto yy256;
+ if (yych <= 'D') goto yy257;
+ goto yy272;
} else {
- if (yych <= 'Z') goto yy252;
- if (yych == '_') goto yy252;
- goto yy251;
+ if (yych <= 'Z') goto yy257;
+ if (yych == '_') goto yy257;
+ goto yy256;
}
} else {
if (yych <= '{') {
- if (yych == 'e') goto yy267;
- if (yych <= 'z') goto yy252;
- goto yy251;
+ if (yych == 'e') goto yy272;
+ if (yych <= 'z') goto yy257;
+ goto yy256;
} else {
- if (yych == '}') goto yy251;
- if (yych <= '~') goto yy244;
- goto yy251;
+ if (yych == '}') goto yy256;
+ if (yych <= '~') goto yy249;
+ goto yy256;
}
}
}
-yy278:
- YYDEBUG(278, *YYCURSOR);
+yy283:
+ YYDEBUG(283, *YYCURSOR);
++YYCURSOR;
YYFILL(2);
yych = *YYCURSOR;
-yy279:
- YYDEBUG(279, *YYCURSOR);
+yy284:
+ YYDEBUG(284, *YYCURSOR);
if (yybm[0+yych] & 32) {
- goto yy278;
+ goto yy283;
}
- if (yych >= '\r') goto yy282;
-yy280:
- YYDEBUG(280, *YYCURSOR);
+ if (yych >= '\r') goto yy287;
+yy285:
+ YYDEBUG(285, *YYCURSOR);
++YYCURSOR;
-yy281:
- YYDEBUG(281, *YYCURSOR);
+yy286:
+ YYDEBUG(286, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 528 "Zend/zend_ini_scanner.l"
+#line 554 "Zend/zend_ini_scanner.l"
{ /* Comment */
BEGIN(INITIAL);
SCNG(lineno)++;
return END_OF_LINE;
}
-#line 4067 "Zend/zend_ini_scanner.c"
-yy282:
- YYDEBUG(282, *YYCURSOR);
+#line 4174 "Zend/zend_ini_scanner.c"
+yy287:
+ YYDEBUG(287, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '\n') goto yy280;
- goto yy281;
-yy283:
- YYDEBUG(283, *YYCURSOR);
+ if (yych == '\n') goto yy285;
+ goto yy286;
+yy288:
+ YYDEBUG(288, *YYCURSOR);
yyaccept = 3;
YYMARKER = ++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(284, *YYCURSOR);
+ YYDEBUG(289, *YYCURSOR);
if (yybm[0+yych] & 64) {
- goto yy283;
+ goto yy288;
}
if (yych <= '%') {
if (yych <= '\r') {
if (yych <= 0x08) {
- if (yych <= 0x00) goto yy239;
- goto yy250;
+ if (yych <= 0x00) goto yy244;
+ goto yy255;
} else {
- if (yych <= '\n') goto yy239;
- if (yych <= '\f') goto yy250;
- goto yy239;
+ if (yych <= '\n') goto yy244;
+ if (yych <= '\f') goto yy255;
+ goto yy244;
}
} else {
if (yych <= '"') {
- if (yych <= 0x1F) goto yy250;
- goto yy239;
+ if (yych <= 0x1F) goto yy255;
+ goto yy244;
} else {
- if (yych == '$') goto yy255;
- goto yy250;
+ if (yych == '$') goto yy260;
+ goto yy255;
}
}
} else {
if (yych <= '=') {
if (yych <= ':') {
- if (yych <= ')') goto yy239;
- goto yy250;
+ if (yych <= ')') goto yy244;
+ goto yy255;
} else {
- if (yych == '<') goto yy250;
- goto yy239;
+ if (yych == '<') goto yy255;
+ goto yy244;
}
} else {
if (yych <= '|') {
- if (yych <= '{') goto yy250;
- goto yy239;
+ if (yych <= '{') goto yy255;
+ goto yy244;
} else {
- if (yych == '~') goto yy239;
- goto yy250;
+ if (yych == '~') goto yy244;
+ goto yy255;
}
}
}
-yy285:
- YYDEBUG(285, *YYCURSOR);
+yy290:
+ YYDEBUG(290, *YYCURSOR);
yyaccept = 3;
YYMARKER = ++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(286, *YYCURSOR);
+ YYDEBUG(291, *YYCURSOR);
if (yych <= '-') {
if (yych <= 0x1F) {
if (yych <= '\n') {
- if (yych <= 0x00) goto yy239;
- if (yych <= 0x08) goto yy250;
- goto yy239;
+ if (yych <= 0x00) goto yy244;
+ if (yych <= 0x08) goto yy255;
+ goto yy244;
} else {
- if (yych == '\r') goto yy239;
- goto yy250;
+ if (yych == '\r') goto yy244;
+ goto yy255;
}
} else {
if (yych <= '$') {
- if (yych <= '"') goto yy239;
- if (yych <= '#') goto yy250;
- goto yy255;
+ if (yych <= '"') goto yy244;
+ if (yych <= '#') goto yy255;
+ goto yy260;
} else {
- if (yych <= '%') goto yy250;
- if (yych <= ')') goto yy239;
- goto yy250;
+ if (yych <= '%') goto yy255;
+ if (yych <= ')') goto yy244;
+ goto yy255;
}
}
} else {
if (yych <= '<') {
if (yych <= '9') {
- if (yych <= '.') goto yy283;
- if (yych <= '/') goto yy250;
- goto yy285;
+ if (yych <= '.') goto yy288;
+ if (yych <= '/') goto yy255;
+ goto yy290;
} else {
- if (yych == ';') goto yy239;
- goto yy250;
+ if (yych == ';') goto yy244;
+ goto yy255;
}
} else {
if (yych <= '|') {
- if (yych <= '=') goto yy239;
- if (yych <= '{') goto yy250;
- goto yy239;
+ if (yych <= '=') goto yy244;
+ if (yych <= '{') goto yy255;
+ goto yy244;
} else {
- if (yych == '~') goto yy239;
- goto yy250;
+ if (yych == '~') goto yy244;
+ goto yy255;
}
}
}
-yy287:
- YYDEBUG(287, *YYCURSOR);
+yy292:
+ YYDEBUG(292, *YYCURSOR);
yyaccept = 3;
YYMARKER = ++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(288, *YYCURSOR);
+ YYDEBUG(293, *YYCURSOR);
if (yych <= ')') {
if (yych <= '\r') {
if (yych <= 0x08) {
- if (yych <= 0x00) goto yy239;
- goto yy250;
+ if (yych <= 0x00) goto yy244;
+ goto yy255;
} else {
- if (yych <= '\n') goto yy239;
- if (yych <= '\f') goto yy250;
- goto yy239;
+ if (yych <= '\n') goto yy244;
+ if (yych <= '\f') goto yy255;
+ goto yy244;
}
} else {
if (yych <= '#') {
- if (yych <= 0x1F) goto yy250;
- if (yych <= '"') goto yy239;
- goto yy250;
+ if (yych <= 0x1F) goto yy255;
+ if (yych <= '"') goto yy244;
+ goto yy255;
} else {
- if (yych <= '$') goto yy255;
- if (yych <= '%') goto yy250;
- goto yy239;
+ if (yych <= '$') goto yy260;
+ if (yych <= '%') goto yy255;
+ goto yy244;
}
}
} else {
if (yych <= '<') {
if (yych <= '9') {
- if (yych <= '/') goto yy250;
- goto yy287;
+ if (yych <= '/') goto yy255;
+ goto yy292;
} else {
- if (yych == ';') goto yy239;
- goto yy250;
+ if (yych == ';') goto yy244;
+ goto yy255;
}
} else {
if (yych <= '|') {
- if (yych <= '=') goto yy239;
- if (yych <= '{') goto yy250;
- goto yy239;
+ if (yych <= '=') goto yy244;
+ if (yych <= '{') goto yy255;
+ goto yy244;
} else {
- if (yych == '~') goto yy239;
- goto yy250;
+ if (yych == '~') goto yy244;
+ goto yy255;
}
}
}
-yy289:
- YYDEBUG(289, *YYCURSOR);
+yy294:
+ YYDEBUG(294, *YYCURSOR);
yyaccept = 3;
YYMARKER = ++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(290, *YYCURSOR);
+ YYDEBUG(295, *YYCURSOR);
if (yych <= ')') {
if (yych <= '\r') {
if (yych <= 0x08) {
- if (yych <= 0x00) goto yy239;
- goto yy250;
+ if (yych <= 0x00) goto yy244;
+ goto yy255;
} else {
- if (yych <= '\n') goto yy239;
- if (yych <= '\f') goto yy250;
- goto yy239;
+ if (yych <= '\n') goto yy244;
+ if (yych <= '\f') goto yy255;
+ goto yy244;
}
} else {
if (yych <= '#') {
- if (yych <= 0x1F) goto yy250;
- if (yych <= '"') goto yy239;
- goto yy250;
+ if (yych <= 0x1F) goto yy255;
+ if (yych <= '"') goto yy244;
+ goto yy255;
} else {
- if (yych <= '$') goto yy255;
- if (yych <= '%') goto yy250;
- goto yy239;
+ if (yych <= '$') goto yy260;
+ if (yych <= '%') goto yy255;
+ goto yy244;
}
}
} else {
if (yych <= '<') {
if (yych <= '9') {
- if (yych <= '/') goto yy250;
- goto yy289;
+ if (yych <= '/') goto yy255;
+ goto yy294;
} else {
- if (yych == ';') goto yy239;
- goto yy250;
+ if (yych == ';') goto yy244;
+ goto yy255;
}
} else {
if (yych <= '|') {
- if (yych <= '=') goto yy239;
- if (yych <= '{') goto yy250;
- goto yy239;
+ if (yych <= '=') goto yy244;
+ if (yych <= '{') goto yy255;
+ goto yy244;
} else {
- if (yych == '~') goto yy239;
- goto yy250;
+ if (yych == '~') goto yy244;
+ goto yy255;
}
}
}
-yy291:
- YYDEBUG(291, *YYCURSOR);
+yy296:
+ YYDEBUG(296, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(292, *YYCURSOR);
+ YYDEBUG(297, *YYCURSOR);
if (yybm[0+yych] & 128) {
- goto yy291;
+ goto yy296;
}
- YYDEBUG(293, *YYCURSOR);
+ YYDEBUG(298, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(294, *YYCURSOR);
+ YYDEBUG(299, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 354 "Zend/zend_ini_scanner.l"
+#line 365 "Zend/zend_ini_scanner.l"
{ /* Raw string */
/* Eat leading and trailing single quotes */
if (yytext[0] == '\'' && yytext[yyleng - 1] == '\'') {
@@ -4284,66 +4391,66 @@ yy291:
}
RETURN_TOKEN(TC_RAW, yytext, yyleng);
}
-#line 4288 "Zend/zend_ini_scanner.c"
-yy295:
- YYDEBUG(295, *YYCURSOR);
+#line 4395 "Zend/zend_ini_scanner.c"
+yy300:
+ YYDEBUG(300, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(296, *YYCURSOR);
+ YYDEBUG(301, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 384 "Zend/zend_ini_scanner.l"
+#line 398 "Zend/zend_ini_scanner.l"
{ /* Variable start */
yy_push_state(ST_VARNAME TSRMLS_CC);
return TC_DOLLAR_CURLY;
}
-#line 4299 "Zend/zend_ini_scanner.c"
-yy297:
- YYDEBUG(297, *YYCURSOR);
+#line 4406 "Zend/zend_ini_scanner.c"
+yy302:
+ YYDEBUG(302, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
-yy298:
- YYDEBUG(298, *YYCURSOR);
- if (yych == '\t') goto yy297;
- if (yych == ' ') goto yy297;
- goto yy231;
-yy299:
- YYDEBUG(299, *YYCURSOR);
+yy303:
+ YYDEBUG(303, *YYCURSOR);
+ if (yych == '\t') goto yy302;
+ if (yych == ' ') goto yy302;
+ goto yy236;
+yy304:
+ YYDEBUG(304, *YYCURSOR);
yych = *++YYCURSOR;
- goto yy228;
-yy300:
- YYDEBUG(300, *YYCURSOR);
+ goto yy233;
+yy305:
+ YYDEBUG(305, *YYCURSOR);
yyaccept = 1;
YYMARKER = ++YYCURSOR;
YYFILL(2);
yych = *YYCURSOR;
-yy301:
- YYDEBUG(301, *YYCURSOR);
+yy306:
+ YYDEBUG(306, *YYCURSOR);
if (yych <= 0x1F) {
if (yych <= '\n') {
- if (yych <= 0x08) goto yy226;
- if (yych <= '\t') goto yy300;
- goto yy299;
+ if (yych <= 0x08) goto yy231;
+ if (yych <= '\t') goto yy305;
+ goto yy304;
} else {
- if (yych == '\r') goto yy303;
- goto yy226;
+ if (yych == '\r') goto yy308;
+ goto yy231;
}
} else {
if (yych <= '"') {
- if (yych <= ' ') goto yy300;
- if (yych <= '!') goto yy226;
+ if (yych <= ' ') goto yy305;
+ if (yych <= '!') goto yy231;
} else {
- if (yych == ';') goto yy278;
- goto yy226;
+ if (yych == ';') goto yy283;
+ goto yy231;
}
}
- YYDEBUG(302, *YYCURSOR);
+ YYDEBUG(307, *YYCURSOR);
yych = *++YYCURSOR;
- goto yy233;
-yy303:
- YYDEBUG(303, *YYCURSOR);
+ goto yy238;
+yy308:
+ YYDEBUG(308, *YYCURSOR);
++YYCURSOR;
- if ((yych = *YYCURSOR) == '\n') goto yy299;
- goto yy228;
+ if ((yych = *YYCURSOR) == '\n') goto yy304;
+ goto yy233;
}
/* *********************************** */
yyc_ST_VARNAME:
@@ -4353,7 +4460,7 @@ yyc_ST_VARNAME:
128, 0, 0, 128, 128, 0, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128,
- 0, 0, 0, 128, 0, 128, 0, 128,
+ 128, 0, 0, 128, 0, 128, 0, 128,
0, 0, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 0, 128, 0, 128, 128,
@@ -4382,87 +4489,93 @@ yyc_ST_VARNAME:
128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128,
};
- YYDEBUG(304, *YYCURSOR);
+ YYDEBUG(309, *YYCURSOR);
YYFILL(2);
yych = *YYCURSOR;
if (yych <= '\'') {
- if (yych <= 0x1F) {
+ if (yych <= ' ') {
if (yych <= '\n') {
- if (yych >= '\t') goto yy308;
+ if (yych >= '\t') goto yy313;
} else {
- if (yych == '\r') goto yy308;
+ if (yych == '\r') goto yy313;
}
} else {
if (yych <= '$') {
- if (yych != '#') goto yy308;
+ if (yych != '#') goto yy313;
} else {
- if (yych == '&') goto yy308;
+ if (yych == '&') goto yy313;
}
}
} else {
if (yych <= 'Z') {
if (yych <= ';') {
- if (yych <= ')') goto yy308;
- if (yych >= ';') goto yy308;
+ if (yych <= ')') goto yy313;
+ if (yych >= ';') goto yy313;
} else {
- if (yych == '=') goto yy308;
+ if (yych == '=') goto yy313;
}
} else {
if (yych <= '|') {
- if (yych <= '[') goto yy308;
- if (yych >= '{') goto yy308;
+ if (yych <= '[') goto yy313;
+ if (yych >= '{') goto yy313;
} else {
- if (yych <= '}') goto yy310;
- if (yych <= '~') goto yy308;
+ if (yych <= '}') goto yy315;
+ if (yych <= '~') goto yy313;
}
}
}
- YYDEBUG(306, *YYCURSOR);
+ YYDEBUG(311, *YYCURSOR);
++YYCURSOR;
yych = *YYCURSOR;
- goto yy313;
-yy307:
- YYDEBUG(307, *YYCURSOR);
+ goto yy318;
+yy312:
+ YYDEBUG(312, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 389 "Zend/zend_ini_scanner.l"
+#line 403 "Zend/zend_ini_scanner.l"
{ /* Variable name */
+ /* Eat leading whitespace */
+ EAT_LEADING_WHITESPACE();
+
+ /* Eat trailing whitespace */
+ EAT_TRAILING_WHITESPACE();
+
RETURN_TOKEN(TC_VARNAME, yytext, yyleng);
}
-#line 4432 "Zend/zend_ini_scanner.c"
-yy308:
- YYDEBUG(308, *YYCURSOR);
+#line 4545 "Zend/zend_ini_scanner.c"
+yy313:
+ YYDEBUG(313, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(309, *YYCURSOR);
+ YYDEBUG(314, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 546 "Zend/zend_ini_scanner.l"
+#line 572 "Zend/zend_ini_scanner.l"
{
return 0;
}
-#line 4442 "Zend/zend_ini_scanner.c"
-yy310:
- YYDEBUG(310, *YYCURSOR);
+#line 4555 "Zend/zend_ini_scanner.c"
+yy315:
+ YYDEBUG(315, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(311, *YYCURSOR);
+ YYDEBUG(316, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
-#line 393 "Zend/zend_ini_scanner.l"
+#line 413 "Zend/zend_ini_scanner.l"
{ /* Variable end */
yy_pop_state(TSRMLS_C);
return '}';
}
-#line 4453 "Zend/zend_ini_scanner.c"
-yy312:
- YYDEBUG(312, *YYCURSOR);
+#line 4566 "Zend/zend_ini_scanner.c"
+yy317:
+ YYDEBUG(317, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
-yy313:
- YYDEBUG(313, *YYCURSOR);
+yy318:
+ YYDEBUG(318, *YYCURSOR);
if (yybm[0+yych] & 128) {
- goto yy312;
+ goto yy317;
}
- goto yy307;
+ goto yy312;
}
}
-#line 550 "Zend/zend_ini_scanner.l"
+#line 576 "Zend/zend_ini_scanner.l"
}
diff --git a/Zend/zend_ini_scanner.h b/Zend/zend_ini_scanner.h
index f3109b1c3..07d1102c6 100644
--- a/Zend/zend_ini_scanner.h
+++ b/Zend/zend_ini_scanner.h
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_ini_scanner.h 272370 2008-12-31 11:15:49Z sebastian $ */
+/* $Id: zend_ini_scanner.h 293155 2010-01-05 20:46:53Z sebastian $ */
#ifndef _ZEND_INI_SCANNER_H
#define _ZEND_INI_SCANNER_H
diff --git a/Zend/zend_ini_scanner.l b/Zend/zend_ini_scanner.l
index e87c6d74e..998665bc2 100644
--- a/Zend/zend_ini_scanner.l
+++ b/Zend/zend_ini_scanner.l
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -20,7 +20,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_ini_scanner.l 286913 2009-08-07 15:44:37Z jani $ */
+/* $Id: zend_ini_scanner.l 294698 2010-02-07 12:08:22Z pajoye $ */
#include <errno.h>
#include "zend.h"
@@ -105,6 +105,17 @@ ZEND_API ts_rsrc_id ini_scanner_globals_id;
ZEND_API zend_ini_scanner_globals ini_scanner_globals;
#endif
+/* Eat leading whitespace */
+#define EAT_LEADING_WHITESPACE() \
+ while (yytext[0]) { \
+ if (yytext[0] == ' ' || yytext[0] == '\t') { \
+ SCNG(yy_text)++; \
+ yyleng--; \
+ } else { \
+ break; \
+ } \
+ }
+
/* Eat trailing whitespace + extra char */
#define EAT_TRAILING_WHITESPACE_EX(ch) \
while (yyleng > 0 && ( \
@@ -325,8 +336,8 @@ ANY_CHAR (.|[\n\t])
NEWLINE ("\r"|"\n"|"\r\n")
TABS_AND_SPACES [ \t]
WHITESPACE [ \t]+
-CONSTANT [a-zA-Z][a-zA-Z0-9_]*
-LABEL [^=\n\r\t ;|&$~(){}!"\[]+
+CONSTANT [a-zA-Z_][a-zA-Z0-9_]*
+LABEL [^=\n\r\t;|&$~(){}!"\[]+
TOKENS [:,.\[\]"'()|^&+-/*=%$!~<>?@{}]
OPERATORS [&|~()!]
DOLLAR_CURLY "${"
@@ -367,6 +378,9 @@ SECTION_VALUE_CHARS ([^$\n\r;"'\]\\]|("\\"{ANY_CHAR})|{LITERAL_DOLLAR})
}
<INITIAL>{LABEL}"["{TABS_AND_SPACES}* { /* Start of option with offset */
+ /* Eat leading whitespace */
+ EAT_LEADING_WHITESPACE();
+
/* Eat trailing whitespace and [ */
EAT_TRAILING_WHITESPACE_EX('[');
@@ -387,6 +401,12 @@ SECTION_VALUE_CHARS ([^$\n\r;"'\]\\]|("\\"{ANY_CHAR})|{LITERAL_DOLLAR})
}
<ST_VARNAME>{LABEL} { /* Variable name */
+ /* Eat leading whitespace */
+ EAT_LEADING_WHITESPACE();
+
+ /* Eat trailing whitespace */
+ EAT_TRAILING_WHITESPACE();
+
RETURN_TOKEN(TC_VARNAME, yytext, yyleng);
}
@@ -404,6 +424,12 @@ SECTION_VALUE_CHARS ([^$\n\r;"'\]\\]|("\\"{ANY_CHAR})|{LITERAL_DOLLAR})
}
<INITIAL>{LABEL} { /* Get option name */
+ /* Eat leading whitespace */
+ EAT_LEADING_WHITESPACE();
+
+ /* Eat trailing whitespace */
+ EAT_TRAILING_WHITESPACE();
+
RETURN_TOKEN(TC_LABEL, yytext, yyleng);
}
diff --git a/Zend/zend_ini_scanner_defs.h b/Zend/zend_ini_scanner_defs.h
index 280132abd..1956b6225 100644
--- a/Zend/zend_ini_scanner_defs.h
+++ b/Zend/zend_ini_scanner_defs.h
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.13.5 on Fri Aug 7 18:29:12 2009 */
+/* Generated by re2c 0.13.5 on Sun Feb 7 13:25:37 2010 */
#line 3 "Zend/zend_ini_scanner_defs.h"
enum YYCONDTYPE {
diff --git a/Zend/zend_interfaces.c b/Zend/zend_interfaces.c
index c14c52437..7dc47b138 100755
--- a/Zend/zend_interfaces.c
+++ b/Zend/zend_interfaces.c
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_interfaces.c 277750 2009-03-25 10:39:26Z dmitry $ */
+/* $Id: zend_interfaces.c 294549 2010-02-05 00:37:07Z pajoye $ */
#include "zend.h"
#include "zend_API.h"
@@ -353,6 +353,10 @@ static int zend_implement_aggregate(zend_class_entry *interface, zend_class_entr
if (class_type->num_interfaces) {
for (i = 0; i < class_type->num_interfaces; i++) {
if (class_type->interfaces[i] == zend_ce_iterator) {
+ zend_error(E_ERROR, "Class %s cannot implement both %s and %s at the same time",
+ class_type->name,
+ interface->name,
+ zend_ce_iterator->name);
return FAILURE;
}
if (class_type->interfaces[i] == zend_ce_traversable) {
@@ -378,8 +382,14 @@ static int zend_implement_iterator(zend_class_entry *interface, zend_class_entry
if (class_type->type == ZEND_INTERNAL_CLASS) {
/* inheritance ensures the class has the necessary userland methods */
return SUCCESS;
- } else if (class_type->get_iterator != zend_user_it_get_new_iterator) {
+ } else {
/* c-level get_iterator cannot be changed */
+ if (class_type->get_iterator == zend_user_it_get_new_iterator) {
+ zend_error(E_ERROR, "Class %s cannot implement both %s and %s at the same time",
+ class_type->name,
+ interface->name,
+ zend_ce_aggregate->name);
+ }
return FAILURE;
}
}
diff --git a/Zend/zend_interfaces.h b/Zend/zend_interfaces.h
index 7ff906537..c75e6dde8 100755
--- a/Zend/zend_interfaces.h
+++ b/Zend/zend_interfaces.h
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_interfaces.h 272370 2008-12-31 11:15:49Z sebastian $ */
+/* $Id: zend_interfaces.h 293155 2010-01-05 20:46:53Z sebastian $ */
#ifndef ZEND_INTERFACES_H
#define ZEND_INTERFACES_H
diff --git a/Zend/zend_istdiostream.h b/Zend/zend_istdiostream.h
index da1cfed87..4b38a8c15 100644
--- a/Zend/zend_istdiostream.h
+++ b/Zend/zend_istdiostream.h
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_istdiostream.h 272370 2008-12-31 11:15:49Z sebastian $ */
+/* $Id: zend_istdiostream.h 293155 2010-01-05 20:46:53Z sebastian $ */
#ifndef _ZEND_STDIOSTREAM
#define _ZEND_STDIOSTREAM
diff --git a/Zend/zend_iterators.c b/Zend/zend_iterators.c
index 9d9f04595..76588e245 100755
--- a/Zend/zend_iterators.c
+++ b/Zend/zend_iterators.c
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_iterators.c 272370 2008-12-31 11:15:49Z sebastian $ */
+/* $Id: zend_iterators.c 293155 2010-01-05 20:46:53Z sebastian $ */
#include "zend.h"
#include "zend_API.h"
diff --git a/Zend/zend_iterators.h b/Zend/zend_iterators.h
index 6c90d817b..b10840373 100755
--- a/Zend/zend_iterators.h
+++ b/Zend/zend_iterators.h
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_iterators.h 272370 2008-12-31 11:15:49Z sebastian $ */
+/* $Id: zend_iterators.h 293155 2010-01-05 20:46:53Z sebastian $ */
/* These iterators were designed to operate within the foreach()
* structures provided by the engine, but could be extended for use
diff --git a/Zend/zend_language_parser.c b/Zend/zend_language_parser.c
index faf71f822..6461dc11e 100644
--- a/Zend/zend_language_parser.c
+++ b/Zend/zend_language_parser.c
@@ -334,7 +334,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -349,7 +349,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_language_parser.y 277815 2009-03-26 12:37:54Z dmitry $ */
+/* $Id: zend_language_parser.y 293154 2010-01-05 20:40:23Z sebastian $ */
/*
* LALR shift/reduce conflicts and how they are resolved:
diff --git a/Zend/zend_language_parser.y b/Zend/zend_language_parser.y
index 5923ff550..2635fdb5d 100644
--- a/Zend/zend_language_parser.y
+++ b/Zend/zend_language_parser.y
@@ -3,7 +3,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -18,7 +18,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_language_parser.y 277815 2009-03-26 12:37:54Z dmitry $ */
+/* $Id: zend_language_parser.y 293154 2010-01-05 20:40:23Z sebastian $ */
/*
* LALR shift/reduce conflicts and how they are resolved:
diff --git a/Zend/zend_language_scanner.c b/Zend/zend_language_scanner.c
index 1cb027f11..3f5fefa7c 100644
--- a/Zend/zend_language_scanner.c
+++ b/Zend/zend_language_scanner.c
@@ -1,10 +1,10 @@
-/* Generated by re2c 0.13.5 on Mon May 04 19:38:30 2009 */
+/* Generated by re2c 0.13.5 on Mon Nov 16 23:30:01 2009 */
#line 1 "Zend/zend_language_scanner.l"
/*
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -23,7 +23,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_language_scanner.c 279948 2009-05-05 01:44:52Z mattwil $ */
+/* $Id: zend_language_scanner.c 293155 2010-01-05 20:46:53Z sebastian $ */
#if 0
# define YYDEBUG(s, c) printf("state: %d char: %c\n", s, c)
@@ -685,12 +685,12 @@ ZEND_API int zend_multibyte_read_script(unsigned char *buf, size_t n TSRMLS_DC)
{
if (SCNG(script_org)) {
efree(SCNG(script_org));
+ SCNG(script_org) = NULL;
}
- SCNG(script_org_size) = n;
- SCNG(script_org) = (unsigned char*)erealloc(SCNG(script_org), SCNG(script_org_size));
- memcpy(SCNG(script_org) + SCNG(script_org_size) - n, buf, n);
+ SCNG(script_org_size) = n;
- SCNG(script_org) = (unsigned char*)erealloc(SCNG(script_org), SCNG(script_org_size) + 1);
+ SCNG(script_org) = (unsigned char*)emalloc(SCNG(script_org_size) + 1);
+ memcpy(SCNG(script_org), buf, n);
*(SCNG(script_org)+SCNG(script_org_size)) = '\0';
return 0;
diff --git a/Zend/zend_language_scanner.h b/Zend/zend_language_scanner.h
index 5add51c97..f564c03c2 100644
--- a/Zend/zend_language_scanner.h
+++ b/Zend/zend_language_scanner.h
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_language_scanner.h 272370 2008-12-31 11:15:49Z sebastian $ */
+/* $Id: zend_language_scanner.h 293155 2010-01-05 20:46:53Z sebastian $ */
#ifndef ZEND_SCANNER_H
#define ZEND_SCANNER_H
diff --git a/Zend/zend_language_scanner.l b/Zend/zend_language_scanner.l
index 9d42299dc..250d307d5 100644
--- a/Zend/zend_language_scanner.l
+++ b/Zend/zend_language_scanner.l
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -21,7 +21,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_language_scanner.l 279941 2009-05-05 01:35:44Z mattwil $ */
+/* $Id: zend_language_scanner.l 293154 2010-01-05 20:40:23Z sebastian $ */
#if 0
# define YYDEBUG(s, c) printf("state: %d char: %c\n", s, c)
@@ -683,12 +683,12 @@ ZEND_API int zend_multibyte_read_script(unsigned char *buf, size_t n TSRMLS_DC)
{
if (SCNG(script_org)) {
efree(SCNG(script_org));
+ SCNG(script_org) = NULL;
}
- SCNG(script_org_size) = n;
- SCNG(script_org) = (unsigned char*)erealloc(SCNG(script_org), SCNG(script_org_size));
- memcpy(SCNG(script_org) + SCNG(script_org_size) - n, buf, n);
+ SCNG(script_org_size) = n;
- SCNG(script_org) = (unsigned char*)erealloc(SCNG(script_org), SCNG(script_org_size) + 1);
+ SCNG(script_org) = (unsigned char*)emalloc(SCNG(script_org_size) + 1);
+ memcpy(SCNG(script_org), buf, n);
*(SCNG(script_org)+SCNG(script_org_size)) = '\0';
return 0;
diff --git a/Zend/zend_language_scanner_defs.h b/Zend/zend_language_scanner_defs.h
index 48bd8d539..b2bce820f 100644
--- a/Zend/zend_language_scanner_defs.h
+++ b/Zend/zend_language_scanner_defs.h
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.13.5 on Mon May 04 19:38:30 2009 */
+/* Generated by re2c 0.13.5 on Thu Sep 10 15:34:33 2009 */
#line 3 "Zend/zend_language_scanner_defs.h"
enum YYCONDTYPE {
diff --git a/Zend/zend_list.c b/Zend/zend_list.c
index 2f71ea718..985a1fb33 100644
--- a/Zend/zend_list.c
+++ b/Zend/zend_list.c
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_list.c 272370 2008-12-31 11:15:49Z sebastian $ */
+/* $Id: zend_list.c 293155 2010-01-05 20:46:53Z sebastian $ */
/* resource lists */
diff --git a/Zend/zend_list.h b/Zend/zend_list.h
index a38e057dc..74ee45146 100644
--- a/Zend/zend_list.h
+++ b/Zend/zend_list.h
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_list.h 272370 2008-12-31 11:15:49Z sebastian $ */
+/* $Id: zend_list.h 293155 2010-01-05 20:46:53Z sebastian $ */
#ifndef ZEND_LIST_H
#define ZEND_LIST_H
diff --git a/Zend/zend_llist.c b/Zend/zend_llist.c
index b48b15072..b23fe1cce 100644
--- a/Zend/zend_llist.c
+++ b/Zend/zend_llist.c
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_llist.c 272370 2008-12-31 11:15:49Z sebastian $ */
+/* $Id: zend_llist.c 293155 2010-01-05 20:46:53Z sebastian $ */
#include "zend.h"
#include "zend_llist.h"
diff --git a/Zend/zend_llist.h b/Zend/zend_llist.h
index 47ec5a0d0..ab1e643be 100644
--- a/Zend/zend_llist.h
+++ b/Zend/zend_llist.h
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_llist.h 272370 2008-12-31 11:15:49Z sebastian $ */
+/* $Id: zend_llist.h 293155 2010-01-05 20:46:53Z sebastian $ */
#ifndef ZEND_LLIST_H
#define ZEND_LLIST_H
diff --git a/Zend/zend_modules.h b/Zend/zend_modules.h
index 67736704f..86807eee2 100644
--- a/Zend/zend_modules.h
+++ b/Zend/zend_modules.h
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_modules.h 282827 2009-06-26 15:44:19Z johannes $ */
+/* $Id: zend_modules.h 293155 2010-01-05 20:46:53Z sebastian $ */
#ifndef MODULES_H
#define MODULES_H
diff --git a/Zend/zend_multibyte.c b/Zend/zend_multibyte.c
index 7d270ade9..4b82a67bd 100644
--- a/Zend/zend_multibyte.c
+++ b/Zend/zend_multibyte.c
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_multibyte.c 277438 2009-03-18 17:44:25Z moriyoshi $ */
+/* $Id: zend_multibyte.c 293155 2010-01-05 20:46:53Z sebastian $ */
#include "zend.h"
#include "zend_compile.h"
diff --git a/Zend/zend_multibyte.h b/Zend/zend_multibyte.h
index ee3e2743f..c4c0f1c87 100644
--- a/Zend/zend_multibyte.h
+++ b/Zend/zend_multibyte.h
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_multibyte.h 272370 2008-12-31 11:15:49Z sebastian $ */
+/* $Id: zend_multibyte.h 293155 2010-01-05 20:46:53Z sebastian $ */
#ifndef ZEND_MULTIBYTE_H
#define ZEND_MULTIBYTE_H
diff --git a/Zend/zend_multiply.h b/Zend/zend_multiply.h
index afac089f9..cb790b722 100644
--- a/Zend/zend_multiply.h
+++ b/Zend/zend_multiply.h
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_multiply.h 272370 2008-12-31 11:15:49Z sebastian $ */
+/* $Id: zend_multiply.h 293155 2010-01-05 20:46:53Z sebastian $ */
#if defined(__i386__) && defined(__GNUC__)
diff --git a/Zend/zend_object_handlers.c b/Zend/zend_object_handlers.c
index 7c081caab..f43ed7f91 100644
--- a/Zend/zend_object_handlers.c
+++ b/Zend/zend_object_handlers.c
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_object_handlers.c 282413 2009-06-19 03:29:47Z scottmac $ */
+/* $Id: zend_object_handlers.c 293155 2010-01-05 20:46:53Z sebastian $ */
#include "zend.h"
#include "zend_globals.h"
diff --git a/Zend/zend_object_handlers.h b/Zend/zend_object_handlers.h
index 88871ef29..721bfed43 100644
--- a/Zend/zend_object_handlers.h
+++ b/Zend/zend_object_handlers.h
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_object_handlers.h 272370 2008-12-31 11:15:49Z sebastian $ */
+/* $Id: zend_object_handlers.h 293155 2010-01-05 20:46:53Z sebastian $ */
#ifndef ZEND_OBJECT_HANDLERS_H
#define ZEND_OBJECT_HANDLERS_H
diff --git a/Zend/zend_objects.c b/Zend/zend_objects.c
index f69b82d9d..5aa15551b 100644
--- a/Zend/zend_objects.c
+++ b/Zend/zend_objects.c
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_objects.c 289775 2009-10-19 21:43:34Z johannes $ */
+/* $Id: zend_objects.c 293155 2010-01-05 20:46:53Z sebastian $ */
#include "zend.h"
#include "zend_globals.h"
diff --git a/Zend/zend_objects.h b/Zend/zend_objects.h
index 1a87ca3a2..c27de0af6 100644
--- a/Zend/zend_objects.h
+++ b/Zend/zend_objects.h
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_objects.h 272370 2008-12-31 11:15:49Z sebastian $ */
+/* $Id: zend_objects.h 293155 2010-01-05 20:46:53Z sebastian $ */
#ifndef ZEND_OBJECTS_H
#define ZEND_OBJECTS_H
diff --git a/Zend/zend_objects_API.c b/Zend/zend_objects_API.c
index 020796e95..9f83fd486 100644
--- a/Zend/zend_objects_API.c
+++ b/Zend/zend_objects_API.c
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_objects_API.c 275561 2009-02-11 09:58:23Z tony2001 $ */
+/* $Id: zend_objects_API.c 293155 2010-01-05 20:46:53Z sebastian $ */
#include "zend.h"
#include "zend_globals.h"
diff --git a/Zend/zend_objects_API.h b/Zend/zend_objects_API.h
index 643eaffba..1f1a0ffe9 100644
--- a/Zend/zend_objects_API.h
+++ b/Zend/zend_objects_API.h
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_objects_API.h 272370 2008-12-31 11:15:49Z sebastian $ */
+/* $Id: zend_objects_API.h 293155 2010-01-05 20:46:53Z sebastian $ */
#ifndef ZEND_OBJECTS_API_H
#define ZEND_OBJECTS_API_H
diff --git a/Zend/zend_opcode.c b/Zend/zend_opcode.c
index a721b0d7b..f31ba2473 100644
--- a/Zend/zend_opcode.c
+++ b/Zend/zend_opcode.c
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_opcode.c 281737 2009-06-05 23:20:59Z shire $ */
+/* $Id: zend_opcode.c 293155 2010-01-05 20:46:53Z sebastian $ */
#include <stdio.h>
diff --git a/Zend/zend_operators.c b/Zend/zend_operators.c
index 6ee0d8e59..fa02c75e0 100644
--- a/Zend/zend_operators.c
+++ b/Zend/zend_operators.c
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_operators.c 281670 2009-06-04 18:20:45Z mattwil $ */
+/* $Id: zend_operators.c 293155 2010-01-05 20:46:53Z sebastian $ */
#include <ctype.h>
@@ -1227,6 +1227,12 @@ ZEND_API int concat_function(zval *result, zval *op1, zval *op2 TSRMLS_DC) /* {{
if (result==op1) { /* special case, perform operations on result */
uint res_len = Z_STRLEN_P(op1) + Z_STRLEN_P(op2);
+ if (Z_STRLEN_P(result) < 0 || (int) (Z_STRLEN_P(op1) + Z_STRLEN_P(op2)) < 0) {
+ efree(Z_STRVAL_P(result));
+ ZVAL_EMPTY_STRING(result);
+ zend_error(E_ERROR, "String size overflow");
+ }
+
Z_STRVAL_P(result) = erealloc(Z_STRVAL_P(result), res_len+1);
memcpy(Z_STRVAL_P(result)+Z_STRLEN_P(result), Z_STRVAL_P(op2), Z_STRLEN_P(op2));
diff --git a/Zend/zend_operators.h b/Zend/zend_operators.h
index 03cd707d4..bc2428479 100644
--- a/Zend/zend_operators.h
+++ b/Zend/zend_operators.h
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_operators.h 281670 2009-06-04 18:20:45Z mattwil $ */
+/* $Id: zend_operators.h 293155 2010-01-05 20:46:53Z sebastian $ */
#ifndef ZEND_OPERATORS_H
#define ZEND_OPERATORS_H
diff --git a/Zend/zend_ptr_stack.c b/Zend/zend_ptr_stack.c
index 5625a349d..d866e6b85 100644
--- a/Zend/zend_ptr_stack.c
+++ b/Zend/zend_ptr_stack.c
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_ptr_stack.c 272370 2008-12-31 11:15:49Z sebastian $ */
+/* $Id: zend_ptr_stack.c 293155 2010-01-05 20:46:53Z sebastian $ */
#include "zend.h"
#include "zend_ptr_stack.h"
diff --git a/Zend/zend_ptr_stack.h b/Zend/zend_ptr_stack.h
index bd2f8b2d3..490b98262 100644
--- a/Zend/zend_ptr_stack.h
+++ b/Zend/zend_ptr_stack.h
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_ptr_stack.h 281712 2009-06-05 11:21:31Z lbarnaud $ */
+/* $Id: zend_ptr_stack.h 293155 2010-01-05 20:46:53Z sebastian $ */
#ifndef ZEND_PTR_STACK_H
#define ZEND_PTR_STACK_H
diff --git a/Zend/zend_qsort.c b/Zend/zend_qsort.c
index 8b65f964d..b1447428f 100644
--- a/Zend/zend_qsort.c
+++ b/Zend/zend_qsort.c
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_qsort.c 272370 2008-12-31 11:15:49Z sebastian $ */
+/* $Id: zend_qsort.c 293155 2010-01-05 20:46:53Z sebastian $ */
#include "zend.h"
diff --git a/Zend/zend_qsort.h b/Zend/zend_qsort.h
index 1044320d9..667df71bd 100644
--- a/Zend/zend_qsort.h
+++ b/Zend/zend_qsort.h
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_qsort.h 272370 2008-12-31 11:15:49Z sebastian $ */
+/* $Id: zend_qsort.h 293155 2010-01-05 20:46:53Z sebastian $ */
#ifndef ZEND_QSORT_H
#define ZEND_QSORT_H
diff --git a/Zend/zend_sprintf.c b/Zend/zend_sprintf.c
index de1dd208f..4e9eb8ecc 100644
--- a/Zend/zend_sprintf.c
+++ b/Zend/zend_sprintf.c
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_sprintf.c 272370 2008-12-31 11:15:49Z sebastian $ */
+/* $Id: zend_sprintf.c 293155 2010-01-05 20:46:53Z sebastian $ */
#include <stdio.h>
diff --git a/Zend/zend_stack.c b/Zend/zend_stack.c
index a8da8244c..caa7f3698 100644
--- a/Zend/zend_stack.c
+++ b/Zend/zend_stack.c
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_stack.c 272370 2008-12-31 11:15:49Z sebastian $ */
+/* $Id: zend_stack.c 293155 2010-01-05 20:46:53Z sebastian $ */
#include "zend.h"
#include "zend_stack.h"
diff --git a/Zend/zend_stack.h b/Zend/zend_stack.h
index 5aed0321b..408c383ec 100644
--- a/Zend/zend_stack.h
+++ b/Zend/zend_stack.h
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_stack.h 272370 2008-12-31 11:15:49Z sebastian $ */
+/* $Id: zend_stack.h 293155 2010-01-05 20:46:53Z sebastian $ */
#ifndef ZEND_STACK_H
#define ZEND_STACK_H
diff --git a/Zend/zend_static_allocator.c b/Zend/zend_static_allocator.c
index efa299e94..6a985c7a5 100644
--- a/Zend/zend_static_allocator.c
+++ b/Zend/zend_static_allocator.c
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_static_allocator.c 272370 2008-12-31 11:15:49Z sebastian $ */
+/* $Id: zend_static_allocator.c 293155 2010-01-05 20:46:53Z sebastian $ */
#include "zend_static_allocator.h"
diff --git a/Zend/zend_static_allocator.h b/Zend/zend_static_allocator.h
index 70cfab744..9921a8789 100644
--- a/Zend/zend_static_allocator.h
+++ b/Zend/zend_static_allocator.h
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_static_allocator.h 272370 2008-12-31 11:15:49Z sebastian $ */
+/* $Id: zend_static_allocator.h 293155 2010-01-05 20:46:53Z sebastian $ */
#ifndef ZEND_STATIC_ALLOCATOR_H
#define ZEND_STATIC_ALLOCATOR_H
diff --git a/Zend/zend_stream.c b/Zend/zend_stream.c
index 2b99358f0..d3548517a 100644
--- a/Zend/zend_stream.c
+++ b/Zend/zend_stream.c
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -19,7 +19,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_stream.c 277834 2009-03-26 17:28:49Z dmitry $ */
+/* $Id: zend_stream.c 293155 2010-01-05 20:46:53Z sebastian $ */
#include "zend.h"
diff --git a/Zend/zend_stream.h b/Zend/zend_stream.h
index f9c08eaf8..e40a33b46 100644
--- a/Zend/zend_stream.h
+++ b/Zend/zend_stream.h
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -19,7 +19,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_stream.h 282248 2009-06-16 14:33:33Z felipe $ */
+/* $Id: zend_stream.h 293155 2010-01-05 20:46:53Z sebastian $ */
#ifndef ZEND_STREAM_H
#define ZEND_STREAM_H
diff --git a/Zend/zend_strtod.h b/Zend/zend_strtod.h
index 01eb99375..c112d295c 100644
--- a/Zend/zend_strtod.h
+++ b/Zend/zend_strtod.h
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_strtod.h 272370 2008-12-31 11:15:49Z sebastian $ */
+/* $Id: zend_strtod.h 293155 2010-01-05 20:46:53Z sebastian $ */
/* This is a header file for the strtod implementation by David M. Gay which
* can be found in zend_strtod.c */
diff --git a/Zend/zend_ts_hash.c b/Zend/zend_ts_hash.c
index cc27dc9c5..43f719ddc 100644
--- a/Zend/zend_ts_hash.c
+++ b/Zend/zend_ts_hash.c
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_ts_hash.c 273192 2009-01-09 19:16:55Z tony2001 $ */
+/* $Id: zend_ts_hash.c 293155 2010-01-05 20:46:53Z sebastian $ */
#include "zend.h"
#include "zend_ts_hash.h"
diff --git a/Zend/zend_ts_hash.h b/Zend/zend_ts_hash.h
index d6ffb7726..bdc2a8d8d 100644
--- a/Zend/zend_ts_hash.h
+++ b/Zend/zend_ts_hash.h
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_ts_hash.h 273192 2009-01-09 19:16:55Z tony2001 $ */
+/* $Id: zend_ts_hash.h 293155 2010-01-05 20:46:53Z sebastian $ */
#ifndef ZEND_TS_HASH_H
#define ZEND_TS_HASH_H
diff --git a/Zend/zend_types.h b/Zend/zend_types.h
index 100b27927..374f600c2 100644
--- a/Zend/zend_types.h
+++ b/Zend/zend_types.h
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_types.h 281712 2009-06-05 11:21:31Z lbarnaud $ */
+/* $Id: zend_types.h 293155 2010-01-05 20:46:53Z sebastian $ */
#ifndef ZEND_TYPES_H
#define ZEND_TYPES_H
diff --git a/Zend/zend_variables.c b/Zend/zend_variables.c
index 5aad679b0..987351c6e 100644
--- a/Zend/zend_variables.c
+++ b/Zend/zend_variables.c
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_variables.c 272370 2008-12-31 11:15:49Z sebastian $ */
+/* $Id: zend_variables.c 294427 2010-02-03 18:07:25Z pajoye $ */
#include <stdio.h>
#include "zend.h"
@@ -151,16 +151,19 @@ ZEND_API int zend_print_variable(zval *var)
}
-#if ZEND_DEBUG
-ZEND_API void _zval_copy_ctor_wrapper(zval *zvalue)
+ZEND_API void _zval_dtor_wrapper(zval *zvalue)
{
- zval_copy_ctor(zvalue);
+ TSRMLS_FETCH();
+
+ GC_REMOVE_ZVAL_FROM_BUFFER(zvalue);
+ zval_dtor(zvalue);
}
-ZEND_API void _zval_dtor_wrapper(zval *zvalue)
+#if ZEND_DEBUG
+ZEND_API void _zval_copy_ctor_wrapper(zval *zvalue)
{
- zval_dtor(zvalue);
+ zval_copy_ctor(zvalue);
}
diff --git a/Zend/zend_variables.h b/Zend/zend_variables.h
index fbc989353..b73602e8b 100644
--- a/Zend/zend_variables.h
+++ b/Zend/zend_variables.h
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_variables.h 279681 2009-05-01 21:46:53Z jani $ */
+/* $Id: zend_variables.h 294427 2010-02-03 18:07:25Z pajoye $ */
#ifndef ZEND_VARIABLES_H
#define ZEND_VARIABLES_H
@@ -50,26 +50,25 @@ ZEND_API int zend_print_variable(zval *var);
ZEND_API void _zval_ptr_dtor(zval **zval_ptr ZEND_FILE_LINE_DC);
ZEND_API void _zval_internal_dtor(zval *zvalue ZEND_FILE_LINE_DC);
ZEND_API void _zval_internal_ptr_dtor(zval **zvalue ZEND_FILE_LINE_DC);
+ZEND_API void _zval_dtor_wrapper(zval *zvalue);
#define zval_copy_ctor(zvalue) _zval_copy_ctor((zvalue) ZEND_FILE_LINE_CC)
#define zval_dtor(zvalue) _zval_dtor((zvalue) ZEND_FILE_LINE_CC)
#define zval_ptr_dtor(zval_ptr) _zval_ptr_dtor((zval_ptr) ZEND_FILE_LINE_CC)
#define zval_internal_dtor(zvalue) _zval_internal_dtor((zvalue) ZEND_FILE_LINE_CC)
#define zval_internal_ptr_dtor(zvalue) _zval_internal_ptr_dtor((zvalue) ZEND_FILE_LINE_CC)
+#define zval_dtor_wrapper _zval_dtor_wrapper
#if ZEND_DEBUG
ZEND_API void _zval_copy_ctor_wrapper(zval *zvalue);
-ZEND_API void _zval_dtor_wrapper(zval *zvalue);
ZEND_API void _zval_ptr_dtor_wrapper(zval **zval_ptr);
ZEND_API void _zval_internal_dtor_wrapper(zval *zvalue);
ZEND_API void _zval_internal_ptr_dtor_wrapper(zval **zvalue);
#define zval_copy_ctor_wrapper _zval_copy_ctor_wrapper
-#define zval_dtor_wrapper _zval_dtor_wrapper
#define zval_ptr_dtor_wrapper _zval_ptr_dtor_wrapper
#define zval_internal_dtor_wrapper _zval_internal_dtor_wrapper
#define zval_internal_ptr_dtor_wrapper _zval_internal_ptr_dtor_wrapper
#else
#define zval_copy_ctor_wrapper _zval_copy_ctor_func
-#define zval_dtor_wrapper _zval_dtor_func
#define zval_ptr_dtor_wrapper _zval_ptr_dtor
#define zval_internal_dtor_wrapper _zval_internal_dtor
#define zval_internal_ptr_dtor_wrapper _zval_internal_ptr_dtor
diff --git a/Zend/zend_vm.h b/Zend/zend_vm.h
index a80a4b89b..61390d04e 100644
--- a/Zend/zend_vm.h
+++ b/Zend/zend_vm.h
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_vm.h 272370 2008-12-31 11:15:49Z sebastian $ */
+/* $Id: zend_vm.h 293155 2010-01-05 20:46:53Z sebastian $ */
#ifndef ZEND_VM_H
#define ZEND_VM_H
diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h
index 485f2cc17..06040f336 100644
--- a/Zend/zend_vm_def.h
+++ b/Zend/zend_vm_def.h
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -18,7 +18,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_vm_def.h 290152 2009-11-02 18:11:33Z pajoye $ */
+/* $Id: zend_vm_def.h 293155 2010-01-05 20:46:53Z sebastian $ */
/* If you change this file, please regenerate the zend_vm_execute.h and
* zend_vm_opcodes.h files by running:
@@ -1100,7 +1100,7 @@ ZEND_VM_HANDLER(84, ZEND_FETCH_DIM_W, VAR|CV, CONST|TMP|VAR|UNUSED|CV)
FREE_OP1_VAR_PTR();
/* We are going to assign the result by reference */
- if (opline->extended_value) {
+ if (opline->extended_value && EX_T(opline->result.u.var).var.ptr_ptr) {
Z_DELREF_PP(EX_T(opline->result.u.var).var.ptr_ptr);
SEPARATE_ZVAL_TO_MAKE_IS_REF(EX_T(opline->result.u.var).var.ptr_ptr);
Z_ADDREF_PP(EX_T(opline->result.u.var).var.ptr_ptr);
@@ -3691,7 +3691,7 @@ ZEND_VM_HANDLER(78, ZEND_FE_FETCH, VAR, ANY)
{
zend_op *opline = EX(opline);
zend_free_op free_op1;
- zval *array = GET_OP1_ZVAL_PTR(BP_VAR_R);
+ zval *array = EX_T(opline->op1.u.var).var.ptr;
zval **value;
char *str_key;
uint str_key_len;
@@ -3701,8 +3701,6 @@ ZEND_VM_HANDLER(78, ZEND_FE_FETCH, VAR, ANY)
int key_type = 0;
zend_bool use_key = (zend_bool)(opline->extended_value & ZEND_FE_FETCH_WITH_KEY);
- PZVAL_LOCK(array);
-
switch (zend_iterator_unwrap(array, &iter TSRMLS_CC)) {
default:
case ZEND_ITER_INVALID:
@@ -3915,7 +3913,7 @@ ZEND_VM_HELPER_EX(zend_isset_isempty_dim_prop_obj_handler, VAR|UNUSED|CV, CONST|
zend_free_op free_op2;
zval *offset = GET_OP2_ZVAL_PTR(BP_VAR_R);
- if (Z_TYPE_PP(container) == IS_ARRAY) {
+ if (Z_TYPE_PP(container) == IS_ARRAY && !prop_dim) {
HashTable *ht;
int isset = 0;
diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h
index 9d931107d..826ba57d1 100644
--- a/Zend/zend_vm_execute.h
+++ b/Zend/zend_vm_execute.h
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -1332,6 +1332,7 @@ static int ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_CONST(int type, ZEND
if (opline->op2.u.EA.type == ZEND_FETCH_STATIC_MEMBER) {
retval = zend_std_get_static_property(EX_T(opline->op2.u.var).class_entry, Z_STRVAL_P(varname), Z_STRLEN_P(varname), 0 TSRMLS_CC);
+
} else {
target_symbol_table = zend_get_target_symbol_table(opline, EX(Ts), type, varname TSRMLS_CC);
/*
@@ -8850,8 +8851,8 @@ static int ZEND_FASTCALL ZEND_FE_RESET_SPEC_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARG
static int ZEND_FASTCALL ZEND_FE_FETCH_SPEC_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
zend_op *opline = EX(opline);
- zend_free_op free_op1;
- zval *array = _get_zval_ptr_var(&opline->op1, EX(Ts), &free_op1 TSRMLS_CC);
+
+ zval *array = EX_T(opline->op1.u.var).var.ptr;
zval **value;
char *str_key;
uint str_key_len;
@@ -8861,8 +8862,6 @@ static int ZEND_FASTCALL ZEND_FE_FETCH_SPEC_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARG
int key_type = 0;
zend_bool use_key = (zend_bool)(opline->extended_value & ZEND_FE_FETCH_WITH_KEY);
- PZVAL_LOCK(array);
-
switch (zend_iterator_unwrap(array, &iter TSRMLS_CC)) {
default:
case ZEND_ITER_INVALID:
@@ -9865,7 +9864,7 @@ static int ZEND_FASTCALL ZEND_FETCH_DIM_W_SPEC_VAR_CONST_HANDLER(ZEND_OPCODE_HA
if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
/* We are going to assign the result by reference */
- if (opline->extended_value) {
+ if (opline->extended_value && EX_T(opline->result.u.var).var.ptr_ptr) {
Z_DELREF_PP(EX_T(opline->result.u.var).var.ptr_ptr);
SEPARATE_ZVAL_TO_MAKE_IS_REF(EX_T(opline->result.u.var).var.ptr_ptr);
Z_ADDREF_PP(EX_T(opline->result.u.var).var.ptr_ptr);
@@ -10805,7 +10804,7 @@ static int ZEND_FASTCALL zend_isset_isempty_dim_prop_obj_handler_SPEC_VAR_CONST(
zval *offset = &opline->op2.u.constant;
- if (Z_TYPE_PP(container) == IS_ARRAY) {
+ if (Z_TYPE_PP(container) == IS_ARRAY && !prop_dim) {
HashTable *ht;
int isset = 0;
@@ -11668,7 +11667,7 @@ static int ZEND_FASTCALL ZEND_FETCH_DIM_W_SPEC_VAR_TMP_HANDLER(ZEND_OPCODE_HAND
if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
/* We are going to assign the result by reference */
- if (opline->extended_value) {
+ if (opline->extended_value && EX_T(opline->result.u.var).var.ptr_ptr) {
Z_DELREF_PP(EX_T(opline->result.u.var).var.ptr_ptr);
SEPARATE_ZVAL_TO_MAKE_IS_REF(EX_T(opline->result.u.var).var.ptr_ptr);
Z_ADDREF_PP(EX_T(opline->result.u.var).var.ptr_ptr);
@@ -12554,7 +12553,7 @@ static int ZEND_FASTCALL zend_isset_isempty_dim_prop_obj_handler_SPEC_VAR_TMP(in
zend_free_op free_op2;
zval *offset = _get_zval_ptr_tmp(&opline->op2, EX(Ts), &free_op2 TSRMLS_CC);
- if (Z_TYPE_PP(container) == IS_ARRAY) {
+ if (Z_TYPE_PP(container) == IS_ARRAY && !prop_dim) {
HashTable *ht;
int isset = 0;
@@ -13417,7 +13416,7 @@ static int ZEND_FASTCALL ZEND_FETCH_DIM_W_SPEC_VAR_VAR_HANDLER(ZEND_OPCODE_HAND
if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
/* We are going to assign the result by reference */
- if (opline->extended_value) {
+ if (opline->extended_value && EX_T(opline->result.u.var).var.ptr_ptr) {
Z_DELREF_PP(EX_T(opline->result.u.var).var.ptr_ptr);
SEPARATE_ZVAL_TO_MAKE_IS_REF(EX_T(opline->result.u.var).var.ptr_ptr);
Z_ADDREF_PP(EX_T(opline->result.u.var).var.ptr_ptr);
@@ -14354,7 +14353,7 @@ static int ZEND_FASTCALL zend_isset_isempty_dim_prop_obj_handler_SPEC_VAR_VAR(in
zend_free_op free_op2;
zval *offset = _get_zval_ptr_var(&opline->op2, EX(Ts), &free_op2 TSRMLS_CC);
- if (Z_TYPE_PP(container) == IS_ARRAY) {
+ if (Z_TYPE_PP(container) == IS_ARRAY && !prop_dim) {
HashTable *ht;
int isset = 0;
@@ -14757,7 +14756,7 @@ static int ZEND_FASTCALL ZEND_FETCH_DIM_W_SPEC_VAR_UNUSED_HANDLER(ZEND_OPCODE_H
if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
/* We are going to assign the result by reference */
- if (opline->extended_value) {
+ if (opline->extended_value && EX_T(opline->result.u.var).var.ptr_ptr) {
Z_DELREF_PP(EX_T(opline->result.u.var).var.ptr_ptr);
SEPARATE_ZVAL_TO_MAKE_IS_REF(EX_T(opline->result.u.var).var.ptr_ptr);
Z_ADDREF_PP(EX_T(opline->result.u.var).var.ptr_ptr);
@@ -15808,7 +15807,7 @@ static int ZEND_FASTCALL ZEND_FETCH_DIM_W_SPEC_VAR_CV_HANDLER(ZEND_OPCODE_HANDL
if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
/* We are going to assign the result by reference */
- if (opline->extended_value) {
+ if (opline->extended_value && EX_T(opline->result.u.var).var.ptr_ptr) {
Z_DELREF_PP(EX_T(opline->result.u.var).var.ptr_ptr);
SEPARATE_ZVAL_TO_MAKE_IS_REF(EX_T(opline->result.u.var).var.ptr_ptr);
Z_ADDREF_PP(EX_T(opline->result.u.var).var.ptr_ptr);
@@ -16740,7 +16739,7 @@ static int ZEND_FASTCALL zend_isset_isempty_dim_prop_obj_handler_SPEC_VAR_CV(int
zval *offset = _get_zval_ptr_cv(&opline->op2, EX(Ts), BP_VAR_R TSRMLS_CC);
- if (Z_TYPE_PP(container) == IS_ARRAY) {
+ if (Z_TYPE_PP(container) == IS_ARRAY && !prop_dim) {
HashTable *ht;
int isset = 0;
@@ -17930,7 +17929,7 @@ static int ZEND_FASTCALL zend_isset_isempty_dim_prop_obj_handler_SPEC_UNUSED_CON
zval *offset = &opline->op2.u.constant;
- if (Z_TYPE_PP(container) == IS_ARRAY) {
+ if (Z_TYPE_PP(container) == IS_ARRAY && !prop_dim) {
HashTable *ht;
int isset = 0;
@@ -18987,7 +18986,7 @@ static int ZEND_FASTCALL zend_isset_isempty_dim_prop_obj_handler_SPEC_UNUSED_TMP
zend_free_op free_op2;
zval *offset = _get_zval_ptr_tmp(&opline->op2, EX(Ts), &free_op2 TSRMLS_CC);
- if (Z_TYPE_PP(container) == IS_ARRAY) {
+ if (Z_TYPE_PP(container) == IS_ARRAY && !prop_dim) {
HashTable *ht;
int isset = 0;
@@ -20044,7 +20043,7 @@ static int ZEND_FASTCALL zend_isset_isempty_dim_prop_obj_handler_SPEC_UNUSED_VAR
zend_free_op free_op2;
zval *offset = _get_zval_ptr_var(&opline->op2, EX(Ts), &free_op2 TSRMLS_CC);
- if (Z_TYPE_PP(container) == IS_ARRAY) {
+ if (Z_TYPE_PP(container) == IS_ARRAY && !prop_dim) {
HashTable *ht;
int isset = 0;
@@ -21360,7 +21359,7 @@ static int ZEND_FASTCALL zend_isset_isempty_dim_prop_obj_handler_SPEC_UNUSED_CV(
zval *offset = _get_zval_ptr_cv(&opline->op2, EX(Ts), BP_VAR_R TSRMLS_CC);
- if (Z_TYPE_PP(container) == IS_ARRAY) {
+ if (Z_TYPE_PP(container) == IS_ARRAY && !prop_dim) {
HashTable *ht;
int isset = 0;
@@ -21712,6 +21711,7 @@ static int ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_CV(int type, ZEND_OP
if (opline->op2.u.EA.type == ZEND_FETCH_STATIC_MEMBER) {
retval = zend_std_get_static_property(EX_T(opline->op2.u.var).class_entry, Z_STRVAL_P(varname), Z_STRLEN_P(varname), 0 TSRMLS_CC);
+
} else {
target_symbol_table = zend_get_target_symbol_table(opline, EX(Ts), type, varname TSRMLS_CC);
/*
@@ -23567,7 +23567,7 @@ static int ZEND_FASTCALL ZEND_FETCH_DIM_W_SPEC_CV_CONST_HANDLER(ZEND_OPCODE_HAN
}
/* We are going to assign the result by reference */
- if (opline->extended_value) {
+ if (opline->extended_value && EX_T(opline->result.u.var).var.ptr_ptr) {
Z_DELREF_PP(EX_T(opline->result.u.var).var.ptr_ptr);
SEPARATE_ZVAL_TO_MAKE_IS_REF(EX_T(opline->result.u.var).var.ptr_ptr);
Z_ADDREF_PP(EX_T(opline->result.u.var).var.ptr_ptr);
@@ -24345,7 +24345,7 @@ static int ZEND_FASTCALL zend_isset_isempty_dim_prop_obj_handler_SPEC_CV_CONST(i
zval *offset = &opline->op2.u.constant;
- if (Z_TYPE_PP(container) == IS_ARRAY) {
+ if (Z_TYPE_PP(container) == IS_ARRAY && !prop_dim) {
HashTable *ht;
int isset = 0;
@@ -25204,7 +25204,7 @@ static int ZEND_FASTCALL ZEND_FETCH_DIM_W_SPEC_CV_TMP_HANDLER(ZEND_OPCODE_HANDL
}
/* We are going to assign the result by reference */
- if (opline->extended_value) {
+ if (opline->extended_value && EX_T(opline->result.u.var).var.ptr_ptr) {
Z_DELREF_PP(EX_T(opline->result.u.var).var.ptr_ptr);
SEPARATE_ZVAL_TO_MAKE_IS_REF(EX_T(opline->result.u.var).var.ptr_ptr);
Z_ADDREF_PP(EX_T(opline->result.u.var).var.ptr_ptr);
@@ -25985,7 +25985,7 @@ static int ZEND_FASTCALL zend_isset_isempty_dim_prop_obj_handler_SPEC_CV_TMP(int
zend_free_op free_op2;
zval *offset = _get_zval_ptr_tmp(&opline->op2, EX(Ts), &free_op2 TSRMLS_CC);
- if (Z_TYPE_PP(container) == IS_ARRAY) {
+ if (Z_TYPE_PP(container) == IS_ARRAY && !prop_dim) {
HashTable *ht;
int isset = 0;
@@ -26844,7 +26844,7 @@ static int ZEND_FASTCALL ZEND_FETCH_DIM_W_SPEC_CV_VAR_HANDLER(ZEND_OPCODE_HANDL
}
/* We are going to assign the result by reference */
- if (opline->extended_value) {
+ if (opline->extended_value && EX_T(opline->result.u.var).var.ptr_ptr) {
Z_DELREF_PP(EX_T(opline->result.u.var).var.ptr_ptr);
SEPARATE_ZVAL_TO_MAKE_IS_REF(EX_T(opline->result.u.var).var.ptr_ptr);
Z_ADDREF_PP(EX_T(opline->result.u.var).var.ptr_ptr);
@@ -27675,7 +27675,7 @@ static int ZEND_FASTCALL zend_isset_isempty_dim_prop_obj_handler_SPEC_CV_VAR(int
zend_free_op free_op2;
zval *offset = _get_zval_ptr_var(&opline->op2, EX(Ts), &free_op2 TSRMLS_CC);
- if (Z_TYPE_PP(container) == IS_ARRAY) {
+ if (Z_TYPE_PP(container) == IS_ARRAY && !prop_dim) {
HashTable *ht;
int isset = 0;
@@ -28074,7 +28074,7 @@ static int ZEND_FASTCALL ZEND_FETCH_DIM_W_SPEC_CV_UNUSED_HANDLER(ZEND_OPCODE_HA
}
/* We are going to assign the result by reference */
- if (opline->extended_value) {
+ if (opline->extended_value && EX_T(opline->result.u.var).var.ptr_ptr) {
Z_DELREF_PP(EX_T(opline->result.u.var).var.ptr_ptr);
SEPARATE_ZVAL_TO_MAKE_IS_REF(EX_T(opline->result.u.var).var.ptr_ptr);
Z_ADDREF_PP(EX_T(opline->result.u.var).var.ptr_ptr);
@@ -29026,7 +29026,7 @@ static int ZEND_FASTCALL ZEND_FETCH_DIM_W_SPEC_CV_CV_HANDLER(ZEND_OPCODE_HANDLE
}
/* We are going to assign the result by reference */
- if (opline->extended_value) {
+ if (opline->extended_value && EX_T(opline->result.u.var).var.ptr_ptr) {
Z_DELREF_PP(EX_T(opline->result.u.var).var.ptr_ptr);
SEPARATE_ZVAL_TO_MAKE_IS_REF(EX_T(opline->result.u.var).var.ptr_ptr);
Z_ADDREF_PP(EX_T(opline->result.u.var).var.ptr_ptr);
@@ -29852,7 +29852,7 @@ static int ZEND_FASTCALL zend_isset_isempty_dim_prop_obj_handler_SPEC_CV_CV(int
zval *offset = _get_zval_ptr_cv(&opline->op2, EX(Ts), BP_VAR_R TSRMLS_CC);
- if (Z_TYPE_PP(container) == IS_ARRAY) {
+ if (Z_TYPE_PP(container) == IS_ARRAY && !prop_dim) {
HashTable *ht;
int isset = 0;
diff --git a/Zend/zend_vm_gen.php b/Zend/zend_vm_gen.php
index f67296bf0..d7dca6e03 100644
--- a/Zend/zend_vm_gen.php
+++ b/Zend/zend_vm_gen.php
@@ -3,7 +3,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -16,7 +16,7 @@
| Authors: Dmitry Stogov <dmitry@zend.com> |
+----------------------------------------------------------------------+
- $Id: zend_vm_gen.php 272370 2008-12-31 11:15:49Z sebastian $
+ $Id: zend_vm_gen.php 293155 2010-01-05 20:46:53Z sebastian $
*/
$header_text = <<< DATA
@@ -24,7 +24,7 @@ $header_text = <<< DATA
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
diff --git a/Zend/zend_vm_opcodes.h b/Zend/zend_vm_opcodes.h
index 502529bc2..d048a8576 100644
--- a/Zend/zend_vm_opcodes.h
+++ b/Zend/zend_vm_opcodes.h
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
- | Copyright (c) 1998-2009 Zend Technologies Ltd. (http://www.zend.com) |
+ | Copyright (c) 1998-2010 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |