diff options
author | Ondřej Surý <ondrej@sury.org> | 2011-02-16 10:13:02 +0100 |
---|---|---|
committer | Ondřej Surý <ondrej@sury.org> | 2011-02-16 10:13:02 +0100 |
commit | fd5a0b31640419ca63d1ddeaffd6d3cf2a741814 (patch) | |
tree | bfd17d84c5181d7b98d7d66f56573f4fc897e31c /Zend | |
parent | 01fcdff3849c3691d9aaeaab735846ab6d8895ca (diff) | |
download | php-fd5a0b31640419ca63d1ddeaffd6d3cf2a741814.tar.gz |
Imported Upstream version 5.3.5upstream/5.3.5
Diffstat (limited to 'Zend')
42 files changed, 1729 insertions, 1642 deletions
diff --git a/Zend/acinclude.m4 b/Zend/acinclude.m4 index 643ae2b29..efd9cc97e 100644 --- a/Zend/acinclude.m4 +++ b/Zend/acinclude.m4 @@ -1,10 +1,10 @@ -dnl $Id: acinclude.m4 298893 2010-05-03 09:05:30Z pajoye $ +dnl $Id: acinclude.m4 304193 2010-10-07 21:44:41Z felipe $ dnl dnl This file contains local autoconf functions. AC_DEFUN([LIBZEND_BISON_CHECK],[ # we only support certain bison versions - bison_version_list="1.28 1.35 1.75 1.875 2.0 2.1 2.2 2.3 2.4 2.4.1 2.4.2" + bison_version_list="1.28 1.35 1.75 1.875 2.0 2.1 2.2 2.3 2.4 2.4.1 2.4.2 2.4.3" # for standalone build of Zend Engine test -z "$SED" && SED=sed diff --git a/Zend/tests/bug45180.phpt b/Zend/tests/bug45180.phpt index 4e1ab9ee0..f1ca43427 100644 --- a/Zend/tests/bug45180.phpt +++ b/Zend/tests/bug45180.phpt @@ -43,11 +43,11 @@ __call: string(3) "ABC" __call: string(3) "ABC" -__callstatic: +__call: string(3) "XYZ" -__callstatic: +__call: string(3) "WWW" -__callstatic: +__call: string(3) "ABC" __callstatic: string(1) "A" @@ -58,4 +58,4 @@ string(1) "C" __callstatic: string(3) "FOO" __callstatic: -string(3) "FOO" +string(3) "FOO"
\ No newline at end of file diff --git a/Zend/tests/bug45186.phpt b/Zend/tests/bug45186.phpt index da7ac73f5..bcf88a189 100644 --- a/Zend/tests/bug45186.phpt +++ b/Zend/tests/bug45186.phpt @@ -35,17 +35,17 @@ call_user_func('self::y'); ?> --EXPECTF-- -__callstatic: +__call: string(3) "ABC" -__callstatic: +__call: string(3) "ABC" __call: string(3) "xyz" -__callstatic: +__call: string(3) "www" __call: string(1) "y" -__callstatic: +__call: string(1) "y" ok __callstatic: diff --git a/Zend/tests/bug51176.phpt b/Zend/tests/bug51176.phpt index 436378eff..1b0e285c6 100644 --- a/Zend/tests/bug51176.phpt +++ b/Zend/tests/bug51176.phpt @@ -27,6 +27,6 @@ $foo->start(); ?> --EXPECT-- -static -static -static +instance +instance +instance
\ No newline at end of file diff --git a/Zend/tests/bug52361.phpt b/Zend/tests/bug52361.phpt new file mode 100644 index 000000000..3c2dffa63 --- /dev/null +++ b/Zend/tests/bug52361.phpt @@ -0,0 +1,35 @@ +--TEST-- +Bug #52361 (Throwing an exception in a destructor causes invalid catching) +--FILE-- +<?php +class aaa { + public function __destruct() { + try { + throw new Exception(__CLASS__); + } catch(Exception $ex) { + echo "1. $ex\n"; + } + } +} +function bbb() { + $a = new aaa(); + throw new Exception(__FUNCTION__); +} +try { + bbb(); + echo "must be skipped !!!"; +} catch(Exception $ex) { + echo "2. $ex\n"; +} +?> +--EXPECTF-- +1. exception 'Exception' with message 'aaa' in %sbug52361.php:5 +Stack trace: +#0 %sbug52361.php(16): aaa->__destruct() +#1 %sbug52361.php(16): bbb() +#2 {main} +2. exception 'Exception' with message 'bbb' in %sbug52361.php:13 +Stack trace: +#0 %sbug52361.php(16): bbb() +#1 {main} + diff --git a/Zend/tests/bug52484.phpt b/Zend/tests/bug52484.phpt new file mode 100644 index 000000000..ccdf858f6 --- /dev/null +++ b/Zend/tests/bug52484.phpt @@ -0,0 +1,19 @@ +--TEST-- +Bug #52484 (__set() ignores setting properties with empty names) +--FILE-- +<?php + +class A { + function __unset($prop) { + unset($this->$prop); + } +} + +$a = new A(); +$prop = null; + +unset($a->$prop); + +?> +--EXPECTF-- +Fatal error: Cannot access empty property in %s on line %d diff --git a/Zend/tests/bug52484_2.phpt b/Zend/tests/bug52484_2.phpt new file mode 100644 index 000000000..1639c8102 --- /dev/null +++ b/Zend/tests/bug52484_2.phpt @@ -0,0 +1,19 @@ +--TEST-- +Bug #52484.2 (__set() ignores setting properties with empty names) +--FILE-- +<?php + +class A { + function __set($prop, $val) { + $this->$prop = $val; + } +} + +$a = new A(); +$prop = null; + +$a->$prop = 2; + +?> +--EXPECTF-- +Fatal error: Cannot access empty property in %s on line %d diff --git a/Zend/tests/bug52484_3.phpt b/Zend/tests/bug52484_3.phpt new file mode 100644 index 000000000..20dde3d3c --- /dev/null +++ b/Zend/tests/bug52484_3.phpt @@ -0,0 +1,19 @@ +--TEST-- +Bug #52484.3 (__set() ignores setting properties with empty names) +--FILE-- +<?php + +class A { + function __get($prop) { + var_dump($this->$prop); + } +} + +$a = new A(); +$prop = null; + +var_dump($a->$prop); + +?> +--EXPECTF-- +Fatal error: Cannot access empty property in %s on line %d diff --git a/Zend/tests/bug52508.phpt b/Zend/tests/bug52508.phpt new file mode 100644 index 000000000..83292a540 --- /dev/null +++ b/Zend/tests/bug52508.phpt @@ -0,0 +1,20 @@ +--TEST-- +Bug #52508 (newline problem with parse_ini_file+INI_SCANNER_RAW) +--FILE-- +<?php + +$file = dirname(__FILE__) .'/bug52508.ini'; + +file_put_contents($file, "a = 1"); + +$ini_array = parse_ini_file($file, true, INI_SCANNER_RAW); +var_dump($ini_array); + +unlink($file); + +?> +--EXPECT-- +array(1) { + ["a"]=> + string(1) "1" +} diff --git a/Zend/tests/bug52879.phpt b/Zend/tests/bug52879.phpt new file mode 100644 index 000000000..0193be4b4 --- /dev/null +++ b/Zend/tests/bug52879.phpt @@ -0,0 +1,16 @@ +--TEST-- +Bug #52879 (Objects unreferenced in __get, __set, __isset or __unset can be freed too early) +--FILE-- +<?php +class MyClass { + public $myRef; + public function __set($property,$value) { + $this->myRef = $value; + } +} +$myGlobal=new MyClass($myGlobal); +$myGlobal->myRef=&$myGlobal; +$myGlobal->myNonExistentProperty="ok\n"; +echo $myGlobal; +--EXPECT-- +ok diff --git a/Zend/tests/bug52939.phpt b/Zend/tests/bug52939.phpt new file mode 100644 index 000000000..91bd27bab --- /dev/null +++ b/Zend/tests/bug52939.phpt @@ -0,0 +1,40 @@ +--TEST-- +Bug #52939 (zend_call_function_array does not respect ZEND_SEND_PREFER_REF) +--FILE-- +<?php +$ar1 = array("row1" => 2, "row2" => 1); +var_dump(array_multisort($ar1)); +var_dump($ar1); + +$ar1 = array("row1" => 2, "row2" => 1); +$args = array(&$ar1); +var_dump(call_user_func_array("array_multisort", $args)); +var_dump($ar1); + +$ar1 = array("row1" => 2, "row2" => 1); +$args = array($ar1); +var_dump(call_user_func_array("array_multisort", $args)); +var_dump($ar1); +?> +--EXPECT-- +bool(true) +array(2) { + ["row2"]=> + int(1) + ["row1"]=> + int(2) +} +bool(true) +array(2) { + ["row2"]=> + int(1) + ["row1"]=> + int(2) +} +bool(true) +array(2) { + ["row1"]=> + int(2) + ["row2"]=> + int(1) +} diff --git a/Zend/tests/bug53305.phpt b/Zend/tests/bug53305.phpt new file mode 100644 index 000000000..c922ac633 --- /dev/null +++ b/Zend/tests/bug53305.phpt @@ -0,0 +1,19 @@ +--TEST-- +Bug #53305 (E_NOTICE when defining a constant starts with __COMPILER_HALT_OFFSET__) +--FILE-- +<?php +error_reporting(E_ALL); + +define('__COMPILER_HALT_OFFSET__1', 1); +define('__COMPILER_HALT_OFFSET__2', 2); +define('__COMPILER_HALT_OFFSET__', 3); +define('__COMPILER_HALT_OFFSET__1'.chr(0), 4); + +var_dump(__COMPILER_HALT_OFFSET__1); +var_dump(constant('__COMPILER_HALT_OFFSET__1'.chr(0))); + +?> +--EXPECTF-- +Notice: Constant __COMPILER_HALT_OFFSET__ already defined in %s on line %d +int(1) +int(4) diff --git a/Zend/tests/bug53632.phpt b/Zend/tests/bug53632.phpt new file mode 100644 index 000000000..9a6dade9e --- /dev/null +++ b/Zend/tests/bug53632.phpt @@ -0,0 +1,10 @@ +--TEST-- +zend_strtod() hangs with 2.2250738585072011e-308 +--FILE-- +<?php +$d = 2.2250738585072011e-308; + +echo "Done\n"; +?> +--EXPECTF-- +Done diff --git a/Zend/tests/call_static_003.phpt b/Zend/tests/call_static_003.phpt index d5e2b7529..566ff0fdf 100644 --- a/Zend/tests/call_static_003.phpt +++ b/Zend/tests/call_static_003.phpt @@ -28,9 +28,9 @@ foo::BAZ(); --EXPECT-- nonstatic string(6) "fOoBaR" -static +nonstatic string(6) "foOBAr" -static +nonstatic string(6) "fOOBAr" static string(3) "bAr" diff --git a/Zend/tests/call_static_007.phpt b/Zend/tests/call_static_007.phpt index 766802092..419f10231 100644 --- a/Zend/tests/call_static_007.phpt +++ b/Zend/tests/call_static_007.phpt @@ -30,5 +30,5 @@ a::Foo(); --EXPECT-- __callstatic: Test __call: Test -__callstatic: Bar +__call: Bar __callstatic: Foo diff --git a/Zend/tests/declare_001.phpt b/Zend/tests/declare_001.phpt index 8f6f73347..14c9a453d 100644 --- a/Zend/tests/declare_001.phpt +++ b/Zend/tests/declare_001.phpt @@ -1,5 +1,11 @@ --TEST-- Testing declare statement with several type values +--SKIPIF-- +<?php +if (in_array("detect_unicode", array_keys(ini_get_all()))) { + die("skip"); +} +?> --FILE-- <?php diff --git a/Zend/tests/gc_032.phpt b/Zend/tests/gc_032.phpt new file mode 100644 index 000000000..615b008e6 --- /dev/null +++ b/Zend/tests/gc_032.phpt @@ -0,0 +1,40 @@ +--TEST-- +GC 032: Crash in GC because of invalid reference counting +--FILE-- +<?php +$a = array(); +$b =& $a; +$a[0] = $a; +debug_zval_dump($a); +$a = array(array()); +$b =& $a; +$a[0][0] = $a; +debug_zval_dump($a); +?> +--EXPECT-- +array(1) refcount(1){ + [0]=> + array(1) refcount(3){ + [0]=> + array(1) refcount(3){ + [0]=> + *RECURSION* + } + } +} +array(1) refcount(1){ + [0]=> + array(1) refcount(3){ + [0]=> + array(1) refcount(1){ + [0]=> + array(1) refcount(3){ + [0]=> + array(1) refcount(1){ + [0]=> + *RECURSION* + } + } + } + } +} diff --git a/Zend/tests/multibyte/multibyte_encoding_006.phpt b/Zend/tests/multibyte/multibyte_encoding_006.phpt Binary files differnew file mode 100644 index 000000000..da5b8a22b --- /dev/null +++ b/Zend/tests/multibyte/multibyte_encoding_006.phpt diff --git a/Zend/tests/objects_032.phpt b/Zend/tests/objects_032.phpt new file mode 100644 index 000000000..e5e3ecadb --- /dev/null +++ b/Zend/tests/objects_032.phpt @@ -0,0 +1,40 @@ +--TEST-- +Covariant return-by-ref constraints +--FILE-- +<?php + +class A implements ArrayAccess { + public $foo = array(); + + public function &offsetGet($n) { + return $this->foo[$n]; + } + + public function offsetSet($n, $v) { + } + public function offsetUnset($n) { + } + public function offsetExists($n) { + } +} + +$a = new A; + +$a['foo']['bar'] = 2; + +var_dump($a); + +?> +==DONE== +--EXPECTF-- +object(A)#1 (1) { + ["foo"]=> + array(1) { + ["foo"]=> + array(1) { + ["bar"]=> + int(2) + } + } +} +==DONE== diff --git a/Zend/tests/unset_cv05.phpt b/Zend/tests/unset_cv05.phpt index 8e3c6349b..90ebc6ba3 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-- -Warning: Directive 'register_long_arrays' is deprecated in PHP %d.%d and greater in Unknown on line 0 +Deprecated: 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 b1ef0cc2a..ba21cf430 100644 --- a/Zend/tests/unset_cv06.phpt +++ b/Zend/tests/unset_cv06.phpt @@ -19,7 +19,7 @@ echo $x; echo "ok\n"; ?> --EXPECTF-- -Warning: Directive 'register_globals' is deprecated in PHP %d.%d and greater in Unknown on line 0 +Deprecated: 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_API.c b/Zend/zend_API.c index cf74a9b7f..ea00d44af 100644 --- a/Zend/zend_API.c +++ b/Zend/zend_API.c @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend_API.c 299395 2010-05-14 23:48:03Z felipe $ */ +/* $Id: zend_API.c 302137 2010-08-12 07:58:14Z sas $ */ #include "zend.h" #include "zend_execute.h" @@ -1082,7 +1082,7 @@ ZEND_API int _object_and_properties_init(zval *arg, zend_class_entry *class_type } else { ALLOC_HASHTABLE_REL(object->properties); zend_hash_init(object->properties, zend_hash_num_elements(&class_type->default_properties), NULL, ZVAL_PTR_DTOR, 0); - zend_hash_copy(object->properties, &class_type->default_properties, (copy_ctor_func_t) zval_add_ref, (void *) &tmp, sizeof(zval *)); + zend_hash_copy(object->properties, &class_type->default_properties, zval_copy_property_ctor(class_type), (void *) &tmp, sizeof(zval *)); } } else { Z_OBJVAL_P(arg) = class_type->create_object(class_type TSRMLS_CC); diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index 8b8a84e68..af450b885 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend_compile.c 300817 2010-06-28 16:37:57Z felipe $ */ +/* $Id: zend_compile.c 305057 2010-11-03 15:40:24Z colder $ */ #include <zend_language_parser.h> #include "zend.h" @@ -2551,12 +2551,14 @@ static zend_bool zend_do_perform_implementation_check(const zend_function *fe, c return 0; } - if (proto->common.pass_rest_by_reference + if (fe->common.type != ZEND_USER_FUNCTION + && proto->common.pass_rest_by_reference && !fe->common.pass_rest_by_reference) { return 0; } - if (fe->common.return_reference != proto->common.return_reference) { + /* by-ref constraints on return values are covariant */ + if (proto->common.return_reference && !fe->common.return_reference) { return 0; } @@ -2580,6 +2582,8 @@ static zend_bool zend_do_perform_implementation_check(const zend_function *fe, c /* Only one has an array type hint and the other one doesn't */ return 0; } + + /* by-ref constraints on arguments are invariant */ if (fe->common.arg_info[i].pass_by_reference != proto->common.arg_info[i].pass_by_reference) { return 0; } @@ -2817,6 +2821,9 @@ static int inherit_static_prop(zval **p TSRMLS_DC, int num_args, va_list args, c } /* }}} */ +#define zval_property_ctor(parent_ce, ce) \ + ((copy_ctor_func_t) (((parent_ce)->type != (ce)->type) ? zval_shared_property_ctor : zval_add_ref)) + ZEND_API void zend_do_inheritance(zend_class_entry *ce, zend_class_entry *parent_ce TSRMLS_DC) /* {{{ */ { if ((ce->ce_flags & ZEND_ACC_INTERFACE) @@ -2840,7 +2847,7 @@ ZEND_API void zend_do_inheritance(zend_class_entry *ce, zend_class_entry *parent zend_do_inherit_interfaces(ce, parent_ce TSRMLS_CC); /* Inherit properties */ - zend_hash_merge(&ce->default_properties, &parent_ce->default_properties, (void (*)(void *)) zval_add_ref, NULL, sizeof(zval *), 0); + zend_hash_merge(&ce->default_properties, &parent_ce->default_properties, zval_property_ctor(parent_ce, ce), NULL, sizeof(zval *), 0); if (parent_ce->type != ce->type) { /* User class extends internal class */ zend_update_class_constants(parent_ce TSRMLS_CC); @@ -2850,7 +2857,7 @@ ZEND_API void zend_do_inheritance(zend_class_entry *ce, zend_class_entry *parent } zend_hash_merge_ex(&ce->properties_info, &parent_ce->properties_info, (copy_ctor_func_t) (ce->type & ZEND_INTERNAL_CLASS ? zend_duplicate_property_info_internal : zend_duplicate_property_info), sizeof(zend_property_info), (merge_checker_func_t) do_inherit_property_access_check, ce); - zend_hash_merge(&ce->constants_table, &parent_ce->constants_table, (void (*)(void *)) zval_add_ref, NULL, sizeof(zval *), 0); + zend_hash_merge(&ce->constants_table, &parent_ce->constants_table, zval_property_ctor(parent_ce, ce), NULL, sizeof(zval *), 0); zend_hash_merge_ex(&ce->function_table, &parent_ce->function_table, (copy_ctor_func_t) do_inherit_method, sizeof(zend_function), (merge_checker_func_t) do_inherit_method_check, ce); do_inherit_parent_constructor(ce); diff --git a/Zend/zend_constants.c b/Zend/zend_constants.c index 2713019cb..8a49b2f72 100644 --- a/Zend/zend_constants.c +++ b/Zend/zend_constants.c @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend_constants.c 293155 2010-01-05 20:46:53Z sebastian $ */ +/* $Id: zend_constants.c 305332 2010-11-14 01:38:52Z felipe $ */ #include "zend.h" #include "zend_constants.h" @@ -434,8 +434,16 @@ ZEND_API int zend_register_constant(zend_constant *c TSRMLS_DC) } } - if ((strncmp(name, "__COMPILER_HALT_OFFSET__", sizeof("__COMPILER_HALT_OFFSET__") - 1) == 0) || - zend_hash_add(EG(zend_constants), name, c->name_len, (void *) c, sizeof(zend_constant), NULL)==FAILURE) { + /* Check if the user is trying to define the internal pseudo constant name __COMPILER_HALT_OFFSET__ */ + if ((c->name_len == sizeof("__COMPILER_HALT_OFFSET__") + && !memcmp(name, "__COMPILER_HALT_OFFSET__", sizeof("__COMPILER_HALT_OFFSET__")-1)) + || zend_hash_add(EG(zend_constants), name, c->name_len, (void *) c, sizeof(zend_constant), NULL)==FAILURE) { + + /* The internal __COMPILER_HALT_OFFSET__ is prefixed by NULL byte */ + if (c->name[0] == '\0' && c->name_len > sizeof("\0__COMPILER_HALT_OFFSET__") + && memcmp(name, "\0__COMPILER_HALT_OFFSET__", sizeof("\0__COMPILER_HALT_OFFSET__")) == 0) { + name++; + } zend_error(E_NOTICE,"Constant %s already defined", name); free(c->name); if (!(c->flags & CONST_PERSISTENT)) { diff --git a/Zend/zend_exceptions.c b/Zend/zend_exceptions.c index fcd9f2551..aa2a366b3 100644 --- a/Zend/zend_exceptions.c +++ b/Zend/zend_exceptions.c @@ -19,7 +19,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend_exceptions.c 293155 2010-01-05 20:46:53Z sebastian $ */ +/* $Id: zend_exceptions.c 302311 2010-08-16 08:11:08Z dmitry $ */ #include "zend.h" #include "zend_API.h" @@ -137,7 +137,7 @@ static zend_object_value zend_default_exception_new_ex(zend_class_entry *class_t ALLOC_HASHTABLE(object->properties); zend_hash_init(object->properties, 0, NULL, ZVAL_PTR_DTOR, 0); - zend_hash_copy(object->properties, &class_type->default_properties, (copy_ctor_func_t) zval_add_ref, (void *) &tmp, sizeof(zval *)); + zend_hash_copy(object->properties, &class_type->default_properties, zval_copy_property_ctor(class_type), (void *) &tmp, sizeof(zval *)); ALLOC_ZVAL(trace); Z_UNSET_ISREF_P(trace); @@ -572,6 +572,7 @@ ZEND_METHOD(exception, __toString) zend_call_function(&fci, NULL TSRMLS_CC); if (Z_TYPE_P(trace) != IS_STRING) { + zval_ptr_dtor(&trace); trace = NULL; } @@ -592,6 +593,10 @@ ZEND_METHOD(exception, __toString) zval_dtor(&line); exception = zend_read_property(default_exception_ce, exception, "previous", sizeof("previous")-1, 0 TSRMLS_CC); + + if (trace) { + zval_ptr_dtor(&trace); + } } zval_dtor(&fname); @@ -599,10 +604,6 @@ ZEND_METHOD(exception, __toString) * the result in uncaught exception handlers without memleaks. */ zend_update_property_string(default_exception_ce, getThis(), "string", sizeof("string")-1, str TSRMLS_CC); - if (trace) { - zval_ptr_dtor(&trace); - } - RETURN_STRINGL(str, len, 0); } /* }}} */ diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c index 0573bb37c..d7a2e2c9b 100644 --- a/Zend/zend_execute.c +++ b/Zend/zend_execute.c @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend_execute.c 298213 2010-04-20 12:30:35Z dmitry $ */ +/* $Id: zend_execute.c 303895 2010-09-30 14:11:51Z dmitry $ */ #define ZEND_INTENSIVE_DEBUGGING 0 @@ -714,8 +714,8 @@ static inline zval* zend_assign_to_variable(zval **variable_ptr_ptr, zval *value ALLOC_ZVAL(variable_ptr); *variable_ptr_ptr = variable_ptr; *variable_ptr = *value; - zval_copy_ctor(variable_ptr); Z_SET_REFCOUNT_P(variable_ptr, 1); + zval_copy_ctor(variable_ptr); } else { *variable_ptr_ptr = value; Z_ADDREF_P(value); diff --git a/Zend/zend_execute_API.c b/Zend/zend_execute_API.c index 6e6a2caa3..8996abf08 100644 --- a/Zend/zend_execute_API.c +++ b/Zend/zend_execute_API.c @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend_execute_API.c 299766 2010-05-26 00:00:58Z felipe $ */ +/* $Id: zend_execute_API.c 304364 2010-10-13 08:51:39Z dmitry $ */ #include <stdio.h> #include <signal.h> @@ -870,7 +870,8 @@ int zend_call_function(zend_fcall_info *fci, zend_fcall_info_cache *fci_cache TS if (Z_REFCOUNT_PP(fci->params[i]) > 1) { zval *new_zval; - if (fci->no_separation) { + if (fci->no_separation && + !ARG_MAY_BE_SENT_BY_REF(EX(function_state).function, i + 1)) { if(i) { /* hack to clean up the stack */ zend_vm_stack_push_nocheck((void *) (zend_uintptr_t)i TSRMLS_CC); diff --git a/Zend/zend_gc.c b/Zend/zend_gc.c index 16c31ea1e..7e6e1538e 100644 --- a/Zend/zend_gc.c +++ b/Zend/zend_gc.c @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend_gc.c 297307 2010-04-01 22:54:03Z stas $ */ +/* $Id: zend_gc.c 303016 2010-09-03 09:27:47Z dmitry $ */ #include "zend.h" #include "zend_API.h" @@ -414,19 +414,21 @@ static void gc_mark_roots(TSRMLS_D) gc_root_buffer *current = GC_G(roots).next; while (current != &GC_G(roots)) { - if (current->handle && EG(objects_store).object_buckets) { - struct _store_object *obj = &EG(objects_store).object_buckets[current->handle].bucket.obj; + if (current->handle) { + if (EG(objects_store).object_buckets) { + struct _store_object *obj = &EG(objects_store).object_buckets[current->handle].bucket.obj; - if (GC_GET_COLOR(obj->buffered) == GC_PURPLE) { - zval z; + if (GC_GET_COLOR(obj->buffered) == GC_PURPLE) { + zval z; - INIT_PZVAL(&z); - Z_OBJ_HANDLE(z) = current->handle; - Z_OBJ_HT(z) = current->u.handlers; - zobj_mark_grey(obj, &z TSRMLS_CC); - } else { - GC_SET_ADDRESS(obj->buffered, NULL); - GC_REMOVE_FROM_BUFFER(current); + INIT_PZVAL(&z); + Z_OBJ_HANDLE(z) = current->handle; + Z_OBJ_HT(z) = current->u.handlers; + zobj_mark_grey(obj, &z TSRMLS_CC); + } else { + GC_SET_ADDRESS(obj->buffered, NULL); + GC_REMOVE_FROM_BUFFER(current); + } } } else { if (GC_ZVAL_GET_COLOR(current->u.pz) == GC_PURPLE) { @@ -623,15 +625,17 @@ static void gc_collect_roots(TSRMLS_D) gc_root_buffer *current = GC_G(roots).next; while (current != &GC_G(roots)) { - if (current->handle && EG(objects_store).object_buckets) { - struct _store_object *obj = &EG(objects_store).object_buckets[current->handle].bucket.obj; - zval z; + if (current->handle) { + if (EG(objects_store).object_buckets) { + struct _store_object *obj = &EG(objects_store).object_buckets[current->handle].bucket.obj; + zval z; - GC_SET_ADDRESS(obj->buffered, NULL); - INIT_PZVAL(&z); - Z_OBJ_HANDLE(z) = current->handle; - Z_OBJ_HT(z) = current->u.handlers; - zobj_collect_white(&z TSRMLS_CC); + GC_SET_ADDRESS(obj->buffered, NULL); + INIT_PZVAL(&z); + Z_OBJ_HANDLE(z) = current->handle; + Z_OBJ_HT(z) = current->u.handlers; + zobj_collect_white(&z TSRMLS_CC); + } } else { GC_ZVAL_SET_ADDRESS(current->u.pz, NULL); zval_collect_white(current->u.pz TSRMLS_CC); diff --git a/Zend/zend_hash.c b/Zend/zend_hash.c index 854ac2b3e..674347b4a 100644 --- a/Zend/zend_hash.c +++ b/Zend/zend_hash.c @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend_hash.c 298914 2010-05-03 16:36:04Z felipe $ */ +/* $Id: zend_hash.c 303364 2010-09-14 14:26:37Z johannes $ */ #include "zend.h" @@ -63,6 +63,9 @@ static void _zend_is_inconsistent(const HashTable *ht, const char *file, int lin case HT_CLEANING: zend_output_debug_string(1, "%s(%d) : ht=%p is being cleaned", file, line, ht); break; + default: + zend_output_debug_string(1, "%s(%d) : ht=%p is inconsistent", file, line, ht); + break; } zend_bailout(); } diff --git a/Zend/zend_hash.h b/Zend/zend_hash.h index 166003b1e..64e9c19cc 100644 --- a/Zend/zend_hash.h +++ b/Zend/zend_hash.h @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend_hash.h 293155 2010-01-05 20:46:53Z sebastian $ */ +/* $Id: zend_hash.h 304083 2010-10-05 11:28:56Z dmitry $ */ #ifndef ZEND_HASH_H #define ZEND_HASH_H @@ -312,7 +312,7 @@ END_EXTERN_C() } \ if (*tmp >= '0' && *tmp <= '9') { /* possibly a numeric index */ \ const char *end = key + length - 1; \ - long idx; \ + ulong idx; \ \ if ((*end != '\0') /* not a null terminated string */ \ || (*tmp == '0' && length > 2) /* numbers with leading zeros */ \ @@ -328,11 +328,11 @@ END_EXTERN_C() } \ if (tmp == end) { \ if (*key == '-') { \ - idx = -idx; \ - if (idx > 0) { /* overflow */ \ + if (idx-1 > LONG_MAX) { /* overflow */ \ break; \ } \ - } else if (idx < 0) { /* overflow */ \ + idx = (ulong)(-(long)idx); \ + } else if (idx > LONG_MAX) { /* overflow */ \ break; \ } \ return func; \ diff --git a/Zend/zend_ini_scanner.c b/Zend/zend_ini_scanner.c index 25a9c52e5..191132923 100644 --- a/Zend/zend_ini_scanner.c +++ b/Zend/zend_ini_scanner.c @@ -1,4 +1,4 @@ -/* Generated by re2c 0.13.5 on Tue May 25 22:53:58 2010 */ +/* Generated by re2c 0.13.5 on Sun Aug 1 12:07:43 2010 */ #line 1 "Zend/zend_ini_scanner.l" /* +----------------------------------------------------------------------+ @@ -22,7 +22,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend_ini_scanner.c 299767 2010-05-26 02:18:17Z felipe $ */ +/* $Id: zend_ini_scanner.c 301758 2010-08-01 15:26:54Z felipe $ */ #include <errno.h> #include "zend.h" @@ -1826,7 +1826,7 @@ yy134: yyc_ST_RAW: { static const unsigned char yybm[] = { - 160, 160, 160, 160, 160, 160, 160, 160, + 32, 160, 160, 160, 160, 160, 160, 160, 160, 224, 0, 160, 160, 0, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, @@ -1862,27 +1862,42 @@ yyc_ST_RAW: YYDEBUG(135, *YYCURSOR); YYFILL(3); yych = *YYCURSOR; - if (yych <= '\r') { - if (yych <= '\t') { - if (yych >= '\t') goto yy139; + if (yych <= '\f') { + if (yych <= 0x08) { + if (yych >= 0x01) goto yy139; } else { - if (yych <= '\n') goto yy140; - if (yych >= '\r') goto yy142; + if (yych <= '\t') goto yy141; + if (yych <= '\n') goto yy142; + goto yy139; } } else { if (yych <= ' ') { - if (yych >= ' ') goto yy139; + if (yych <= '\r') goto yy144; + if (yych <= 0x1F) goto yy139; + goto yy141; } else { - if (yych == ';') goto yy143; + if (yych == ';') goto yy145; + goto yy139; } } YYDEBUG(137, *YYCURSOR); ++YYCURSOR; - yych = *YYCURSOR; - goto yy155; -yy138: YYDEBUG(138, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); +#line 567 "Zend/zend_ini_scanner.l" + { /* End of option value (if EOF is reached before EOL */ + BEGIN(INITIAL); + return END_OF_LINE; +} +#line 1893 "Zend/zend_ini_scanner.c" +yy139: + YYDEBUG(139, *YYCURSOR); + ++YYCURSOR; + yych = *YYCURSOR; + goto yy156; +yy140: + YYDEBUG(140, *YYCURSOR); + yyleng = YYCURSOR - SCNG(yy_text); #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 */ @@ -1892,27 +1907,27 @@ yy138: } RETURN_TOKEN(TC_RAW, yytext, yyleng); } -#line 1896 "Zend/zend_ini_scanner.c" -yy139: - YYDEBUG(139, *YYCURSOR); +#line 1911 "Zend/zend_ini_scanner.c" +yy141: + YYDEBUG(141, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 64) { - goto yy151; + goto yy152; } if (yych <= '\f') { - if (yych == '\n') goto yy150; - goto yy154; + if (yych == '\n') goto yy151; + goto yy156; } else { - if (yych <= '\r') goto yy153; - if (yych == ';') goto yy145; - goto yy154; + if (yych <= '\r') goto yy154; + if (yych == ';') goto yy146; + goto yy156; } -yy140: - YYDEBUG(140, *YYCURSOR); +yy142: + YYDEBUG(142, *YYCURSOR); ++YYCURSOR; -yy141: - YYDEBUG(141, *YYCURSOR); +yy143: + YYDEBUG(143, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 458 "Zend/zend_ini_scanner.l" { /* End of option value */ @@ -1920,41 +1935,33 @@ yy141: SCNG(lineno)++; return END_OF_LINE; } -#line 1924 "Zend/zend_ini_scanner.c" -yy142: - YYDEBUG(142, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '\n') goto yy150; - goto yy141; -yy143: - YYDEBUG(143, *YYCURSOR); - yyaccept = 1; - yych = *(YYMARKER = ++YYCURSOR); - goto yy146; +#line 1939 "Zend/zend_ini_scanner.c" +yy144: YYDEBUG(144, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 567 "Zend/zend_ini_scanner.l" - { /* End of option value (if EOF is reached before EOL */ - BEGIN(INITIAL); - return END_OF_LINE; -} -#line 1942 "Zend/zend_ini_scanner.c" + yych = *++YYCURSOR; + if (yych == '\n') goto yy151; + goto yy143; yy145: YYDEBUG(145, *YYCURSOR); + yyaccept = 1; + yych = *(YYMARKER = ++YYCURSOR); + goto yy147; +yy146: + YYDEBUG(146, *YYCURSOR); ++YYCURSOR; YYFILL(2); yych = *YYCURSOR; -yy146: - YYDEBUG(146, *YYCURSOR); - if (yybm[0+yych] & 32) { - goto yy145; - } - if (yych >= '\r') goto yy149; yy147: YYDEBUG(147, *YYCURSOR); - ++YYCURSOR; + if (yybm[0+yych] & 32) { + goto yy146; + } + if (yych >= '\r') goto yy150; yy148: YYDEBUG(148, *YYCURSOR); + ++YYCURSOR; +yy149: + YYDEBUG(149, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 554 "Zend/zend_ini_scanner.l" { /* Comment */ @@ -1962,50 +1969,51 @@ yy148: SCNG(lineno)++; return END_OF_LINE; } -#line 1966 "Zend/zend_ini_scanner.c" -yy149: - YYDEBUG(149, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '\n') goto yy147; - goto yy148; +#line 1973 "Zend/zend_ini_scanner.c" yy150: YYDEBUG(150, *YYCURSOR); yych = *++YYCURSOR; - goto yy141; + if (yych == '\n') goto yy148; + goto yy149; yy151: YYDEBUG(151, *YYCURSOR); + yych = *++YYCURSOR; + goto yy143; +yy152: + YYDEBUG(152, *YYCURSOR); yyaccept = 0; YYMARKER = ++YYCURSOR; YYFILL(2); yych = *YYCURSOR; - YYDEBUG(152, *YYCURSOR); + YYDEBUG(153, *YYCURSOR); if (yybm[0+yych] & 64) { - goto yy151; + goto yy152; } if (yych <= '\f') { - if (yych == '\n') goto yy150; - goto yy154; + if (yych <= 0x00) goto yy140; + if (yych == '\n') goto yy151; + goto yy155; } else { - if (yych <= '\r') goto yy153; - if (yych == ';') goto yy145; - goto yy154; + if (yych <= '\r') goto yy154; + if (yych == ';') goto yy146; + goto yy155; } -yy153: - YYDEBUG(153, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '\n') goto yy150; - goto yy141; yy154: YYDEBUG(154, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == '\n') goto yy151; + goto yy143; +yy155: + YYDEBUG(155, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy155: - YYDEBUG(155, *YYCURSOR); +yy156: + YYDEBUG(156, *YYCURSOR); if (yybm[0+yych] & 128) { - goto yy154; + goto yy155; } - goto yy138; + goto yy140; } /* *********************************** */ yyc_ST_SECTION_RAW: @@ -2044,44 +2052,44 @@ yyc_ST_SECTION_RAW: 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, }; - YYDEBUG(156, *YYCURSOR); + YYDEBUG(157, *YYCURSOR); YYFILL(3); yych = *YYCURSOR; if (yych <= '\f') { - if (yych == '\n') goto yy160; + if (yych == '\n') goto yy161; } else { - if (yych <= '\r') goto yy160; - if (yych == ']') goto yy162; + if (yych <= '\r') goto yy161; + if (yych == ']') goto yy163; } - YYDEBUG(158, *YYCURSOR); + YYDEBUG(159, *YYCURSOR); ++YYCURSOR; yych = *YYCURSOR; - goto yy169; -yy159: - YYDEBUG(159, *YYCURSOR); + goto yy170; +yy160: + YYDEBUG(160, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #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 2068 "Zend/zend_ini_scanner.c" -yy160: - YYDEBUG(160, *YYCURSOR); - ++YYCURSOR; +#line 2076 "Zend/zend_ini_scanner.c" +yy161: YYDEBUG(161, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(162, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 572 "Zend/zend_ini_scanner.l" { return 0; } -#line 2078 "Zend/zend_ini_scanner.c" -yy162: - YYDEBUG(162, *YYCURSOR); - ++YYCURSOR; - yych = *YYCURSOR; - goto yy165; +#line 2086 "Zend/zend_ini_scanner.c" yy163: YYDEBUG(163, *YYCURSOR); + ++YYCURSOR; + yych = *YYCURSOR; + goto yy166; +yy164: + YYDEBUG(164, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 374 "Zend/zend_ini_scanner.l" { /* End of section */ @@ -2089,40 +2097,40 @@ yy163: SCNG(lineno)++; return ']'; } -#line 2093 "Zend/zend_ini_scanner.c" -yy164: - YYDEBUG(164, *YYCURSOR); +#line 2101 "Zend/zend_ini_scanner.c" +yy165: + YYDEBUG(165, *YYCURSOR); ++YYCURSOR; YYFILL(2); yych = *YYCURSOR; -yy165: - YYDEBUG(165, *YYCURSOR); - if (yybm[0+yych] & 64) { - goto yy164; - } - if (yych == '\n') goto yy166; - if (yych == '\r') goto yy167; - goto yy163; yy166: YYDEBUG(166, *YYCURSOR); - yych = *++YYCURSOR; - goto yy163; + if (yybm[0+yych] & 64) { + goto yy165; + } + if (yych == '\n') goto yy167; + if (yych == '\r') goto yy168; + goto yy164; yy167: YYDEBUG(167, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '\n') goto yy166; - goto yy163; + goto yy164; yy168: YYDEBUG(168, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == '\n') goto yy167; + goto yy164; +yy169: + YYDEBUG(169, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy169: - YYDEBUG(169, *YYCURSOR); +yy170: + YYDEBUG(170, *YYCURSOR); if (yybm[0+yych] & 128) { - goto yy168; + goto yy169; } - goto yy159; + goto yy160; } /* *********************************** */ yyc_ST_SECTION_VALUE: @@ -2161,203 +2169,203 @@ yyc_ST_SECTION_VALUE: 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, }; - YYDEBUG(170, *YYCURSOR); + YYDEBUG(171, *YYCURSOR); YYFILL(3); yych = *YYCURSOR; if (yych <= '-') { if (yych <= ' ') { if (yych <= '\n') { - if (yych <= 0x08) goto yy172; - if (yych <= '\t') goto yy174; - goto yy175; + if (yych <= 0x08) goto yy173; + if (yych <= '\t') goto yy175; + goto yy176; } else { - if (yych == '\r') goto yy175; - if (yych >= ' ') goto yy174; + if (yych == '\r') goto yy176; + if (yych >= ' ') goto yy175; } } else { if (yych <= '$') { - if (yych == '"') goto yy177; - if (yych >= '$') goto yy179; + if (yych == '"') goto yy178; + if (yych >= '$') goto yy180; } else { - if (yych == '\'') goto yy180; - if (yych >= '-') goto yy181; + if (yych == '\'') goto yy181; + if (yych >= '-') goto yy182; } } } else { if (yych <= 'Z') { if (yych <= '9') { - if (yych <= '.') goto yy182; - if (yych >= '0') goto yy183; + if (yych <= '.') goto yy183; + if (yych >= '0') goto yy184; } else { - if (yych == ';') goto yy175; - if (yych >= 'A') goto yy185; + if (yych == ';') goto yy176; + if (yych >= 'A') goto yy186; } } else { if (yych <= '^') { - if (yych <= '[') goto yy172; - if (yych <= '\\') goto yy187; - if (yych <= ']') goto yy188; + if (yych <= '[') goto yy173; + if (yych <= '\\') goto yy188; + if (yych <= ']') goto yy189; } else { - if (yych == '`') goto yy172; - if (yych <= 'z') goto yy185; + if (yych == '`') goto yy173; + if (yych <= 'z') goto yy186; } } } -yy172: - YYDEBUG(172, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - goto yy195; yy173: YYDEBUG(173, *YYCURSOR); + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + goto yy196; +yy174: + YYDEBUG(174, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 490 "Zend/zend_ini_scanner.l" { /* Get rest as section/offset value */ RETURN_TOKEN(TC_STRING, yytext, yyleng); } -#line 2219 "Zend/zend_ini_scanner.c" -yy174: - YYDEBUG(174, *YYCURSOR); +#line 2227 "Zend/zend_ini_scanner.c" +yy175: + YYDEBUG(175, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 0x1F) { - if (yych == '\t') goto yy221; - goto yy195; + if (yych == '\t') goto yy222; + goto yy196; } else { - if (yych <= ' ') goto yy221; - if (yych == '"') goto yy223; - goto yy195; + if (yych <= ' ') goto yy222; + if (yych == '"') goto yy224; + goto yy196; } -yy175: - YYDEBUG(175, *YYCURSOR); - ++YYCURSOR; yy176: YYDEBUG(176, *YYCURSOR); + ++YYCURSOR; +yy177: + YYDEBUG(177, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 572 "Zend/zend_ini_scanner.l" { return 0; } -#line 2242 "Zend/zend_ini_scanner.c" -yy177: - YYDEBUG(177, *YYCURSOR); - ++YYCURSOR; +#line 2250 "Zend/zend_ini_scanner.c" yy178: YYDEBUG(178, *YYCURSOR); + ++YYCURSOR; +yy179: + YYDEBUG(179, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 494 "Zend/zend_ini_scanner.l" { /* Double quoted '"' string start */ yy_push_state(ST_DOUBLE_QUOTES TSRMLS_CC); return '"'; } -#line 2254 "Zend/zend_ini_scanner.c" -yy179: - YYDEBUG(179, *YYCURSOR); +#line 2262 "Zend/zend_ini_scanner.c" +yy180: + YYDEBUG(180, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '\\') { - if (yych <= 0x00) goto yy176; - if (yych <= '[') goto yy194; - goto yy199; + if (yych <= 0x00) goto yy177; + if (yych <= '[') goto yy195; + goto yy200; } else { - if (yych == '{') goto yy219; - goto yy194; + if (yych == '{') goto yy220; + goto yy195; } -yy180: - YYDEBUG(180, *YYCURSOR); +yy181: + YYDEBUG(181, *YYCURSOR); yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 128) { - goto yy215; + goto yy216; } - goto yy176; -yy181: - YYDEBUG(181, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') goto yy195; - if (yych <= '9') goto yy213; - goto yy195; + goto yy177; yy182: YYDEBUG(182, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') goto yy195; - if (yych <= '9') goto yy211; - goto yy195; + if (yych <= '/') goto yy196; + if (yych <= '9') goto yy214; + goto yy196; yy183: YYDEBUG(183, *YYCURSOR); + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') goto yy196; + if (yych <= '9') goto yy212; + goto yy196; +yy184: + YYDEBUG(184, *YYCURSOR); yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '\'') { if (yych <= '\r') { - if (yych == '\n') goto yy184; - if (yych <= '\f') goto yy195; + if (yych == '\n') goto yy185; + if (yych <= '\f') goto yy196; } else { - if (yych == '"') goto yy184; - if (yych <= '&') goto yy195; + if (yych == '"') goto yy185; + if (yych <= '&') goto yy196; } } else { if (yych <= '9') { - if (yych == '.') goto yy207; - if (yych <= '/') goto yy195; - goto yy209; + if (yych == '.') goto yy208; + if (yych <= '/') goto yy196; + goto yy210; } else { if (yych <= ';') { - if (yych <= ':') goto yy195; + if (yych <= ':') goto yy196; } else { - if (yych != ']') goto yy195; + if (yych != ']') goto yy196; } } } -yy184: - YYDEBUG(184, *YYCURSOR); +yy185: + YYDEBUG(185, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 468 "Zend/zend_ini_scanner.l" { /* Get number option value as string */ RETURN_TOKEN(TC_NUMBER, yytext, yyleng); } -#line 2320 "Zend/zend_ini_scanner.c" -yy185: - YYDEBUG(185, *YYCURSOR); +#line 2328 "Zend/zend_ini_scanner.c" +yy186: + YYDEBUG(186, *YYCURSOR); yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 32) { - goto yy205; + goto yy206; } if (yych <= '"') { if (yych <= '\f') { - if (yych != '\n') goto yy195; + if (yych != '\n') goto yy196; } else { - if (yych <= '\r') goto yy186; - if (yych <= '!') goto yy195; + if (yych <= '\r') goto yy187; + if (yych <= '!') goto yy196; } } else { if (yych <= ':') { - if (yych != '\'') goto yy195; + if (yych != '\'') goto yy196; } else { - if (yych <= ';') goto yy186; - if (yych != ']') goto yy195; + if (yych <= ';') goto yy187; + if (yych != ']') goto yy196; } } -yy186: - YYDEBUG(186, *YYCURSOR); +yy187: + YYDEBUG(187, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 464 "Zend/zend_ini_scanner.l" { /* Get constant option value */ RETURN_TOKEN(TC_CONSTANT, yytext, yyleng); } -#line 2350 "Zend/zend_ini_scanner.c" -yy187: - YYDEBUG(187, *YYCURSOR); - yych = *++YYCURSOR; - goto yy194; +#line 2358 "Zend/zend_ini_scanner.c" yy188: YYDEBUG(188, *YYCURSOR); - ++YYCURSOR; - yych = *YYCURSOR; - goto yy191; + yych = *++YYCURSOR; + goto yy195; yy189: YYDEBUG(189, *YYCURSOR); + ++YYCURSOR; + yych = *YYCURSOR; + goto yy192; +yy190: + YYDEBUG(190, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 374 "Zend/zend_ini_scanner.l" { /* End of section */ @@ -2365,317 +2373,317 @@ yy189: SCNG(lineno)++; return ']'; } -#line 2369 "Zend/zend_ini_scanner.c" -yy190: - YYDEBUG(190, *YYCURSOR); +#line 2377 "Zend/zend_ini_scanner.c" +yy191: + YYDEBUG(191, *YYCURSOR); ++YYCURSOR; YYFILL(2); yych = *YYCURSOR; -yy191: - YYDEBUG(191, *YYCURSOR); - if (yybm[0+yych] & 2) { - goto yy190; - } - if (yych == '\n') goto yy192; - if (yych == '\r') goto yy193; - goto yy189; yy192: YYDEBUG(192, *YYCURSOR); - yych = *++YYCURSOR; - goto yy189; + if (yybm[0+yych] & 2) { + goto yy191; + } + if (yych == '\n') goto yy193; + if (yych == '\r') goto yy194; + goto yy190; yy193: YYDEBUG(193, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '\n') goto yy192; - goto yy189; + goto yy190; yy194: YYDEBUG(194, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == '\n') goto yy193; + goto yy190; +yy195: + YYDEBUG(195, *YYCURSOR); yyaccept = 0; YYMARKER = ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy195: - YYDEBUG(195, *YYCURSOR); - if (yybm[0+yych] & 4) { - goto yy194; - } - if (yych == '$') goto yy197; - if (yych != '\\') goto yy173; yy196: YYDEBUG(196, *YYCURSOR); + if (yybm[0+yych] & 4) { + goto yy195; + } + if (yych == '$') goto yy198; + if (yych != '\\') goto yy174; +yy197: + YYDEBUG(197, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - goto yy194; -yy197: - YYDEBUG(197, *YYCURSOR); + goto yy195; +yy198: + YYDEBUG(198, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; if (yych <= '\\') { - if (yych <= 0x00) goto yy198; - if (yych <= '[') goto yy194; - goto yy199; + if (yych <= 0x00) goto yy199; + if (yych <= '[') goto yy195; + goto yy200; } else { - if (yych != '{') goto yy194; + if (yych != '{') goto yy195; } -yy198: - YYDEBUG(198, *YYCURSOR); +yy199: + YYDEBUG(199, *YYCURSOR); YYCURSOR = YYMARKER; if (yyaccept <= 1) { if (yyaccept <= 0) { - goto yy173; + goto yy174; } else { - goto yy176; + goto yy177; } } else { if (yyaccept <= 2) { - goto yy184; + goto yy185; } else { - goto yy186; + goto yy187; } } -yy199: - YYDEBUG(199, *YYCURSOR); +yy200: + YYDEBUG(200, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 8) { - goto yy200; + goto yy201; } - if (yych == '\\') goto yy202; - goto yy194; -yy200: - YYDEBUG(200, *YYCURSOR); + if (yych == '\\') goto yy203; + goto yy195; +yy201: + YYDEBUG(201, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(201, *YYCURSOR); + YYDEBUG(202, *YYCURSOR); if (yybm[0+yych] & 8) { - goto yy200; + goto yy201; } - if (yych == '\\') goto yy204; - goto yy194; -yy202: - YYDEBUG(202, *YYCURSOR); + if (yych == '\\') goto yy205; + goto yy195; +yy203: + YYDEBUG(203, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(203, *YYCURSOR); + YYDEBUG(204, *YYCURSOR); if (yybm[0+yych] & 8) { - goto yy200; + goto yy201; } - if (yych == '\\') goto yy202; - goto yy194; -yy204: - YYDEBUG(204, *YYCURSOR); + if (yych == '\\') goto yy203; + goto yy195; +yy205: + YYDEBUG(205, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 8) { - goto yy200; + goto yy201; } - if (yych == '\\') goto yy202; - goto yy194; -yy205: - YYDEBUG(205, *YYCURSOR); + if (yych == '\\') goto yy203; + goto yy195; +yy206: + YYDEBUG(206, *YYCURSOR); yyaccept = 3; YYMARKER = ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(206, *YYCURSOR); + YYDEBUG(207, *YYCURSOR); if (yybm[0+yych] & 32) { - goto yy205; + goto yy206; } if (yych <= '$') { if (yych <= '\r') { - if (yych == '\n') goto yy186; - if (yych <= '\f') goto yy194; - goto yy186; + if (yych == '\n') goto yy187; + if (yych <= '\f') goto yy195; + goto yy187; } else { - if (yych == '"') goto yy186; - if (yych <= '#') goto yy194; - goto yy197; + if (yych == '"') goto yy187; + if (yych <= '#') goto yy195; + goto yy198; } } else { if (yych <= ';') { - if (yych == '\'') goto yy186; - if (yych <= ':') goto yy194; - goto yy186; + if (yych == '\'') goto yy187; + if (yych <= ':') goto yy195; + goto yy187; } else { - if (yych <= '[') goto yy194; - if (yych <= '\\') goto yy196; - if (yych <= ']') goto yy186; - goto yy194; + if (yych <= '[') goto yy195; + if (yych <= '\\') goto yy197; + if (yych <= ']') goto yy187; + goto yy195; } } -yy207: - YYDEBUG(207, *YYCURSOR); +yy208: + YYDEBUG(208, *YYCURSOR); yyaccept = 2; YYMARKER = ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(208, *YYCURSOR); + YYDEBUG(209, *YYCURSOR); if (yybm[0+yych] & 64) { - goto yy207; + goto yy208; } if (yych <= '$') { if (yych <= '\r') { - if (yych == '\n') goto yy184; - if (yych <= '\f') goto yy194; - goto yy184; + if (yych == '\n') goto yy185; + if (yych <= '\f') goto yy195; + goto yy185; } else { - if (yych == '"') goto yy184; - if (yych <= '#') goto yy194; - goto yy197; + if (yych == '"') goto yy185; + if (yych <= '#') goto yy195; + goto yy198; } } else { if (yych <= ';') { - if (yych == '\'') goto yy184; - if (yych <= ':') goto yy194; - goto yy184; + if (yych == '\'') goto yy185; + if (yych <= ':') goto yy195; + goto yy185; } else { - if (yych <= '[') goto yy194; - if (yych <= '\\') goto yy196; - if (yych <= ']') goto yy184; - goto yy194; + if (yych <= '[') goto yy195; + if (yych <= '\\') goto yy197; + if (yych <= ']') goto yy185; + goto yy195; } } -yy209: - YYDEBUG(209, *YYCURSOR); +yy210: + YYDEBUG(210, *YYCURSOR); yyaccept = 2; YYMARKER = ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(210, *YYCURSOR); + YYDEBUG(211, *YYCURSOR); if (yych <= '\'') { if (yych <= '!') { if (yych <= '\n') { - if (yych <= '\t') goto yy194; - goto yy184; + if (yych <= '\t') goto yy195; + goto yy185; } else { - if (yych == '\r') goto yy184; - goto yy194; + if (yych == '\r') goto yy185; + goto yy195; } } else { if (yych <= '#') { - if (yych <= '"') goto yy184; - goto yy194; + if (yych <= '"') goto yy185; + goto yy195; } else { - if (yych <= '$') goto yy197; - if (yych <= '&') goto yy194; - goto yy184; + if (yych <= '$') goto yy198; + if (yych <= '&') goto yy195; + goto yy185; } } } else { if (yych <= ':') { if (yych <= '.') { - if (yych <= '-') goto yy194; - goto yy207; + if (yych <= '-') goto yy195; + goto yy208; } else { - if (yych <= '/') goto yy194; - if (yych <= '9') goto yy209; - goto yy194; + if (yych <= '/') goto yy195; + if (yych <= '9') goto yy210; + goto yy195; } } else { if (yych <= '[') { - if (yych <= ';') goto yy184; - goto yy194; + if (yych <= ';') goto yy185; + goto yy195; } else { - if (yych <= '\\') goto yy196; - if (yych <= ']') goto yy184; - goto yy194; + if (yych <= '\\') goto yy197; + if (yych <= ']') goto yy185; + goto yy195; } } } -yy211: - YYDEBUG(211, *YYCURSOR); +yy212: + YYDEBUG(212, *YYCURSOR); yyaccept = 2; YYMARKER = ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(212, *YYCURSOR); + YYDEBUG(213, *YYCURSOR); if (yych <= '&') { if (yych <= '\r') { - if (yych == '\n') goto yy184; - if (yych <= '\f') goto yy194; - goto yy184; + if (yych == '\n') goto yy185; + if (yych <= '\f') goto yy195; + goto yy185; } else { if (yych <= '"') { - if (yych <= '!') goto yy194; - goto yy184; + if (yych <= '!') goto yy195; + goto yy185; } else { - if (yych == '$') goto yy197; - goto yy194; + if (yych == '$') goto yy198; + goto yy195; } } } else { if (yych <= ':') { - if (yych <= '\'') goto yy184; - if (yych <= '/') goto yy194; - if (yych <= '9') goto yy211; - goto yy194; + if (yych <= '\'') goto yy185; + if (yych <= '/') goto yy195; + if (yych <= '9') goto yy212; + goto yy195; } else { if (yych <= '[') { - if (yych <= ';') goto yy184; - goto yy194; + if (yych <= ';') goto yy185; + goto yy195; } else { - if (yych <= '\\') goto yy196; - if (yych <= ']') goto yy184; - goto yy194; + if (yych <= '\\') goto yy197; + if (yych <= ']') goto yy185; + goto yy195; } } } -yy213: - YYDEBUG(213, *YYCURSOR); +yy214: + YYDEBUG(214, *YYCURSOR); yyaccept = 2; YYMARKER = ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(214, *YYCURSOR); + YYDEBUG(215, *YYCURSOR); if (yych <= '&') { if (yych <= '\r') { - if (yych == '\n') goto yy184; - if (yych <= '\f') goto yy194; - goto yy184; + if (yych == '\n') goto yy185; + if (yych <= '\f') goto yy195; + goto yy185; } else { if (yych <= '"') { - if (yych <= '!') goto yy194; - goto yy184; + if (yych <= '!') goto yy195; + goto yy185; } else { - if (yych == '$') goto yy197; - goto yy194; + if (yych == '$') goto yy198; + goto yy195; } } } else { if (yych <= ':') { - if (yych <= '\'') goto yy184; - if (yych <= '/') goto yy194; - if (yych <= '9') goto yy213; - goto yy194; + if (yych <= '\'') goto yy185; + if (yych <= '/') goto yy195; + if (yych <= '9') goto yy214; + goto yy195; } else { if (yych <= '[') { - if (yych <= ';') goto yy184; - goto yy194; + if (yych <= ';') goto yy185; + goto yy195; } else { - if (yych <= '\\') goto yy196; - if (yych <= ']') goto yy184; - goto yy194; + if (yych <= '\\') goto yy197; + if (yych <= ']') goto yy185; + goto yy195; } } } -yy215: - YYDEBUG(215, *YYCURSOR); +yy216: + YYDEBUG(216, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(216, *YYCURSOR); + YYDEBUG(217, *YYCURSOR); if (yybm[0+yych] & 128) { - goto yy215; + goto yy216; } - YYDEBUG(217, *YYCURSOR); - ++YYCURSOR; YYDEBUG(218, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(219, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 365 "Zend/zend_ini_scanner.l" { /* Raw string */ @@ -2686,65 +2694,65 @@ yy215: } RETURN_TOKEN(TC_RAW, yytext, yyleng); } -#line 2690 "Zend/zend_ini_scanner.c" -yy219: - YYDEBUG(219, *YYCURSOR); - ++YYCURSOR; +#line 2698 "Zend/zend_ini_scanner.c" +yy220: YYDEBUG(220, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(221, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 398 "Zend/zend_ini_scanner.l" { /* Variable start */ yy_push_state(ST_VARNAME TSRMLS_CC); return TC_DOLLAR_CURLY; } -#line 2701 "Zend/zend_ini_scanner.c" -yy221: - YYDEBUG(221, *YYCURSOR); +#line 2709 "Zend/zend_ini_scanner.c" +yy222: + YYDEBUG(222, *YYCURSOR); yyaccept = 0; YYMARKER = ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(222, *YYCURSOR); + YYDEBUG(223, *YYCURSOR); if (yych <= '"') { if (yych <= '\f') { - if (yych <= 0x08) goto yy194; - if (yych <= '\t') goto yy221; - if (yych <= '\n') goto yy173; - goto yy194; + if (yych <= 0x08) goto yy195; + if (yych <= '\t') goto yy222; + if (yych <= '\n') goto yy174; + goto yy195; } else { if (yych <= 0x1F) { - if (yych <= '\r') goto yy173; - goto yy194; + if (yych <= '\r') goto yy174; + goto yy195; } else { - if (yych <= ' ') goto yy221; - if (yych <= '!') goto yy194; + if (yych <= ' ') goto yy222; + if (yych <= '!') goto yy195; } } } else { if (yych <= ':') { if (yych <= '$') { - if (yych <= '#') goto yy194; - goto yy197; + if (yych <= '#') goto yy195; + goto yy198; } else { - if (yych == '\'') goto yy173; - goto yy194; + if (yych == '\'') goto yy174; + goto yy195; } } else { if (yych <= '[') { - if (yych <= ';') goto yy173; - goto yy194; + if (yych <= ';') goto yy174; + goto yy195; } else { - if (yych <= '\\') goto yy196; - if (yych <= ']') goto yy173; - goto yy194; + if (yych <= '\\') goto yy197; + if (yych <= ']') goto yy174; + goto yy195; } } } -yy223: - YYDEBUG(223, *YYCURSOR); +yy224: + YYDEBUG(224, *YYCURSOR); ++YYCURSOR; yych = *YYCURSOR; - goto yy178; + goto yy179; } /* *********************************** */ yyc_ST_VALUE: @@ -2783,27 +2791,27 @@ yyc_ST_VALUE: 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, }; - YYDEBUG(224, *YYCURSOR); + YYDEBUG(225, *YYCURSOR); YYFILL(6); yych = *YYCURSOR; YYDEBUG(-1, yych); switch (yych) { - case 0x00: goto yy226; + case 0x00: goto yy227; case '\t': - case ' ': goto yy230; - case '\n': goto yy232; - case '\r': goto yy234; + case ' ': goto yy231; + case '\n': goto yy233; + case '\r': goto yy235; case '!': case '&': case '(': case ')': case '|': - case '~': goto yy235; - case '"': goto yy237; - case '$': goto yy239; - case '\'': goto yy240; - case '-': goto yy241; - case '.': goto yy242; + case '~': goto yy236; + case '"': goto yy238; + case '$': goto yy240; + case '\'': goto yy241; + case '-': goto yy242; + case '.': goto yy243; case '0': case '1': case '2': @@ -2813,9 +2821,9 @@ yyc_ST_VALUE: case '6': case '7': case '8': - case '9': goto yy243; - case ';': goto yy245; - case '=': goto yy246; + case '9': goto yy244; + case ';': goto yy246; + case '=': goto yy247; case 'A': case 'B': case 'C': @@ -2858,62 +2866,62 @@ yyc_ST_VALUE: case 'v': case 'w': case 'x': - case 'z': goto yy248; + case 'z': goto yy249; case 'F': - case 'f': goto yy250; + case 'f': goto yy251; case 'N': - case 'n': goto yy251; + case 'n': goto yy252; case 'O': - case 'o': goto yy252; + case 'o': goto yy253; case 'T': - case 't': goto yy253; + case 't': goto yy254; case 'Y': - case 'y': goto yy254; - default: goto yy228; + case 'y': goto yy255; + default: goto yy229; } -yy226: - YYDEBUG(226, *YYCURSOR); - ++YYCURSOR; yy227: YYDEBUG(227, *YYCURSOR); + ++YYCURSOR; +yy228: + YYDEBUG(228, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 567 "Zend/zend_ini_scanner.l" { /* End of option value (if EOF is reached before EOL */ BEGIN(INITIAL); return END_OF_LINE; } -#line 2886 "Zend/zend_ini_scanner.c" -yy228: - YYDEBUG(228, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - goto yy256; +#line 2894 "Zend/zend_ini_scanner.c" yy229: YYDEBUG(229, *YYCURSOR); + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + goto yy257; +yy230: + YYDEBUG(230, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 486 "Zend/zend_ini_scanner.l" { /* Get everything else as option/offset value */ RETURN_TOKEN(TC_STRING, yytext, yyleng); } -#line 2899 "Zend/zend_ini_scanner.c" -yy230: - YYDEBUG(230, *YYCURSOR); - yyaccept = 1; - yych = *(YYMARKER = ++YYCURSOR); - goto yy306; +#line 2907 "Zend/zend_ini_scanner.c" yy231: YYDEBUG(231, *YYCURSOR); + yyaccept = 1; + yych = *(YYMARKER = ++YYCURSOR); + goto yy307; +yy232: + YYDEBUG(232, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 540 "Zend/zend_ini_scanner.l" { RETURN_TOKEN(TC_WHITESPACE, yytext, yyleng); } -#line 2912 "Zend/zend_ini_scanner.c" -yy232: - YYDEBUG(232, *YYCURSOR); - ++YYCURSOR; +#line 2920 "Zend/zend_ini_scanner.c" yy233: YYDEBUG(233, *YYCURSOR); + ++YYCURSOR; +yy234: + YYDEBUG(234, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 458 "Zend/zend_ini_scanner.l" { /* End of option value */ @@ -2921,126 +2929,126 @@ yy233: SCNG(lineno)++; return END_OF_LINE; } -#line 2925 "Zend/zend_ini_scanner.c" -yy234: - YYDEBUG(234, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '\n') goto yy304; - goto yy233; +#line 2933 "Zend/zend_ini_scanner.c" yy235: YYDEBUG(235, *YYCURSOR); - ++YYCURSOR; - yych = *YYCURSOR; - goto yy303; + yych = *++YYCURSOR; + if (yych == '\n') goto yy305; + goto yy234; yy236: YYDEBUG(236, *YYCURSOR); + ++YYCURSOR; + yych = *YYCURSOR; + goto yy304; +yy237: + YYDEBUG(237, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 476 "Zend/zend_ini_scanner.l" { /* Boolean operators */ return yytext[0]; } -#line 2943 "Zend/zend_ini_scanner.c" -yy237: - YYDEBUG(237, *YYCURSOR); - ++YYCURSOR; +#line 2951 "Zend/zend_ini_scanner.c" yy238: YYDEBUG(238, *YYCURSOR); + ++YYCURSOR; +yy239: + YYDEBUG(239, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 494 "Zend/zend_ini_scanner.l" { /* Double quoted '"' string start */ yy_push_state(ST_DOUBLE_QUOTES TSRMLS_CC); return '"'; } -#line 2955 "Zend/zend_ini_scanner.c" -yy239: - YYDEBUG(239, *YYCURSOR); +#line 2963 "Zend/zend_ini_scanner.c" +yy240: + YYDEBUG(240, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '\\') { - if (yych <= 0x00) goto yy227; - if (yych <= '[') goto yy255; - goto yy262; + if (yych <= 0x00) goto yy228; + if (yych <= '[') goto yy256; + goto yy263; } else { - if (yych == '{') goto yy300; - goto yy255; + if (yych == '{') goto yy301; + goto yy256; } -yy240: - YYDEBUG(240, *YYCURSOR); +yy241: + YYDEBUG(241, *YYCURSOR); yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 128) { - goto yy296; + goto yy297; } - goto yy227; -yy241: - YYDEBUG(241, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') goto yy256; - if (yych <= '9') goto yy294; - goto yy256; + goto yy228; yy242: YYDEBUG(242, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') goto yy256; - if (yych <= '9') goto yy292; - goto yy256; + if (yych <= '/') goto yy257; + if (yych <= '9') goto yy295; + goto yy257; yy243: YYDEBUG(243, *YYCURSOR); + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') goto yy257; + if (yych <= '9') goto yy293; + goto yy257; +yy244: + YYDEBUG(244, *YYCURSOR); yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= '\r') { if (yych <= 0x08) { - if (yych >= 0x01) goto yy256; + if (yych >= 0x01) goto yy257; } else { - if (yych <= '\n') goto yy244; - if (yych <= '\f') goto yy256; + if (yych <= '\n') goto yy245; + if (yych <= '\f') goto yy257; } } else { if (yych <= '%') { - if (yych <= 0x1F) goto yy256; - if (yych >= '#') goto yy256; + if (yych <= 0x1F) goto yy257; + if (yych >= '#') goto yy257; } else { - if (yych <= ')') goto yy244; - if (yych <= '-') goto yy256; - goto yy288; + if (yych <= ')') goto yy245; + if (yych <= '-') goto yy257; + goto yy289; } } } else { if (yych <= '<') { if (yych <= '9') { - if (yych <= '/') goto yy256; - goto yy290; + if (yych <= '/') goto yy257; + goto yy291; } else { - if (yych != ';') goto yy256; + if (yych != ';') goto yy257; } } else { if (yych <= '|') { - if (yych <= '=') goto yy244; - if (yych <= '{') goto yy256; + if (yych <= '=') goto yy245; + if (yych <= '{') goto yy257; } else { - if (yych != '~') goto yy256; + if (yych != '~') goto yy257; } } } -yy244: - YYDEBUG(244, *YYCURSOR); +yy245: + YYDEBUG(245, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 468 "Zend/zend_ini_scanner.l" { /* Get number option value as string */ RETURN_TOKEN(TC_NUMBER, yytext, yyleng); } -#line 3035 "Zend/zend_ini_scanner.c" -yy245: - YYDEBUG(245, *YYCURSOR); - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - goto yy284; +#line 3043 "Zend/zend_ini_scanner.c" yy246: YYDEBUG(246, *YYCURSOR); - ++YYCURSOR; + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + goto yy285; +yy247: YYDEBUG(247, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(248, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 480 "Zend/zend_ini_scanner.l" { /* Make = used in option value to trigger error */ @@ -3048,1121 +3056,1121 @@ yy246: BEGIN(INITIAL); return END_OF_LINE; } -#line 3052 "Zend/zend_ini_scanner.c" -yy248: - YYDEBUG(248, *YYCURSOR); +#line 3060 "Zend/zend_ini_scanner.c" +yy249: + YYDEBUG(249, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 4) { - goto yy257; + goto yy258; } if (yych <= ')') { if (yych <= '\f') { - if (yych <= 0x00) goto yy249; - if (yych <= 0x08) goto yy256; - if (yych >= '\v') goto yy256; + if (yych <= 0x00) goto yy250; + if (yych <= 0x08) goto yy257; + if (yych >= '\v') goto yy257; } else { if (yych <= 0x1F) { - if (yych >= 0x0E) goto yy256; + if (yych >= 0x0E) goto yy257; } else { - if (yych <= '"') goto yy249; - if (yych <= '%') goto yy256; + if (yych <= '"') goto yy250; + if (yych <= '%') goto yy257; } } } else { if (yych <= '=') { - if (yych == ';') goto yy249; - if (yych <= '<') goto yy256; + if (yych == ';') goto yy250; + if (yych <= '<') goto yy257; } else { if (yych <= '|') { - if (yych <= '{') goto yy256; + if (yych <= '{') goto yy257; } else { - if (yych != '~') goto yy256; + if (yych != '~') goto yy257; } } } -yy249: - YYDEBUG(249, *YYCURSOR); +yy250: + YYDEBUG(250, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 464 "Zend/zend_ini_scanner.l" { /* Get constant option value */ RETURN_TOKEN(TC_CONSTANT, yytext, yyleng); } -#line 3092 "Zend/zend_ini_scanner.c" -yy250: - YYDEBUG(250, *YYCURSOR); +#line 3100 "Zend/zend_ini_scanner.c" +yy251: + YYDEBUG(251, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '<') { if (yych <= '"') { if (yych <= '\n') { - if (yych <= 0x00) goto yy249; - if (yych <= 0x08) goto yy256; - goto yy249; + if (yych <= 0x00) goto yy250; + if (yych <= 0x08) goto yy257; + goto yy250; } else { - if (yych == '\r') goto yy249; - if (yych <= 0x1F) goto yy256; - goto yy249; + if (yych == '\r') goto yy250; + if (yych <= 0x1F) goto yy257; + goto yy250; } } else { if (yych <= '/') { - if (yych <= '%') goto yy256; - if (yych <= ')') goto yy249; - goto yy256; + if (yych <= '%') goto yy257; + if (yych <= ')') goto yy250; + goto yy257; } else { - if (yych <= '9') goto yy257; - if (yych == ';') goto yy249; - goto yy256; + if (yych <= '9') goto yy258; + if (yych == ';') goto yy250; + goto yy257; } } } else { if (yych <= '`') { if (yych <= 'A') { - if (yych <= '=') goto yy249; - if (yych <= '@') goto yy256; - goto yy280; + if (yych <= '=') goto yy250; + if (yych <= '@') goto yy257; + goto yy281; } else { - if (yych <= 'Z') goto yy257; - if (yych == '_') goto yy257; - goto yy256; + if (yych <= 'Z') goto yy258; + if (yych == '_') goto yy258; + goto yy257; } } else { if (yych <= '{') { - if (yych <= 'a') goto yy280; - if (yych <= 'z') goto yy257; - goto yy256; + if (yych <= 'a') goto yy281; + if (yych <= 'z') goto yy258; + goto yy257; } else { - if (yych == '}') goto yy256; - if (yych <= '~') goto yy249; - goto yy256; + if (yych == '}') goto yy257; + if (yych <= '~') goto yy250; + goto yy257; } } } -yy251: - YYDEBUG(251, *YYCURSOR); +yy252: + YYDEBUG(252, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= '%') { if (yych <= '\f') { - if (yych <= 0x00) goto yy249; - if (yych <= 0x08) goto yy256; - if (yych <= '\n') goto yy249; - goto yy256; + if (yych <= 0x00) goto yy250; + if (yych <= 0x08) goto yy257; + if (yych <= '\n') goto yy250; + goto yy257; } else { - if (yych <= '\r') goto yy249; - if (yych <= 0x1F) goto yy256; - if (yych <= '"') goto yy249; - goto yy256; + if (yych <= '\r') goto yy250; + if (yych <= 0x1F) goto yy257; + if (yych <= '"') goto yy250; + goto yy257; } } else { if (yych <= ':') { - if (yych <= ')') goto yy249; - if (yych <= '/') goto yy256; - if (yych <= '9') goto yy257; - goto yy256; + if (yych <= ')') goto yy250; + if (yych <= '/') goto yy257; + if (yych <= '9') goto yy258; + goto yy257; } else { if (yych <= '<') { - if (yych <= ';') goto yy249; - goto yy256; - } else { - if (yych <= '=') goto yy249; - if (yych <= '@') goto yy256; + if (yych <= ';') goto yy250; goto yy257; + } else { + if (yych <= '=') goto yy250; + if (yych <= '@') goto yy257; + goto yy258; } } } } else { if (yych <= 'n') { if (yych <= 'Z') { - if (yych <= 'O') goto yy276; - if (yych == 'U') goto yy277; - goto yy257; + if (yych <= 'O') goto yy277; + if (yych == 'U') goto yy278; + goto yy258; } else { - if (yych == '_') goto yy257; - if (yych <= '`') goto yy256; - goto yy257; + if (yych == '_') goto yy258; + if (yych <= '`') goto yy257; + goto yy258; } } else { if (yych <= 'z') { - if (yych <= 'o') goto yy276; - if (yych == 'u') goto yy277; - goto yy257; + if (yych <= 'o') goto yy277; + if (yych == 'u') goto yy278; + goto yy258; } else { if (yych <= '|') { - if (yych <= '{') goto yy256; - goto yy249; + if (yych <= '{') goto yy257; + goto yy250; } else { - if (yych == '~') goto yy249; - goto yy256; + if (yych == '~') goto yy250; + goto yy257; } } } } -yy252: - YYDEBUG(252, *YYCURSOR); +yy253: + YYDEBUG(253, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { if (yych <= '%') { if (yych <= '\f') { - if (yych <= 0x00) goto yy249; - if (yych <= 0x08) goto yy256; - if (yych <= '\n') goto yy249; - goto yy256; + if (yych <= 0x00) goto yy250; + if (yych <= 0x08) goto yy257; + if (yych <= '\n') goto yy250; + goto yy257; } else { - if (yych <= '\r') goto yy249; - if (yych <= 0x1F) goto yy256; - if (yych <= '"') goto yy249; - goto yy256; + if (yych <= '\r') goto yy250; + if (yych <= 0x1F) goto yy257; + if (yych <= '"') goto yy250; + goto yy257; } } else { if (yych <= ':') { - if (yych <= ')') goto yy249; - if (yych <= '/') goto yy256; - if (yych <= '9') goto yy257; - goto yy256; + if (yych <= ')') goto yy250; + if (yych <= '/') goto yy257; + if (yych <= '9') goto yy258; + goto yy257; } else { if (yych <= '<') { - if (yych <= ';') goto yy249; - goto yy256; - } else { - if (yych <= '=') goto yy249; - if (yych <= '@') goto yy256; + if (yych <= ';') goto yy250; goto yy257; + } else { + if (yych <= '=') goto yy250; + if (yych <= '@') goto yy257; + goto yy258; } } } } else { if (yych <= 'e') { if (yych <= 'Z') { - if (yych <= 'F') goto yy271; - if (yych == 'N') goto yy265; - goto yy257; + if (yych <= 'F') goto yy272; + if (yych == 'N') goto yy266; + goto yy258; } else { - if (yych == '_') goto yy257; - if (yych <= '`') goto yy256; - goto yy257; + if (yych == '_') goto yy258; + if (yych <= '`') goto yy257; + goto yy258; } } else { if (yych <= 'z') { - if (yych <= 'f') goto yy271; - if (yych == 'n') goto yy265; - goto yy257; + if (yych <= 'f') goto yy272; + if (yych == 'n') goto yy266; + goto yy258; } else { if (yych <= '|') { - if (yych <= '{') goto yy256; - goto yy249; + if (yych <= '{') goto yy257; + goto yy250; } else { - if (yych == '~') goto yy249; - goto yy256; + if (yych == '~') goto yy250; + goto yy257; } } } } -yy253: - YYDEBUG(253, *YYCURSOR); +yy254: + YYDEBUG(254, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '=') { if (yych <= '"') { if (yych <= '\n') { - if (yych <= 0x00) goto yy249; - if (yych <= 0x08) goto yy256; - goto yy249; + if (yych <= 0x00) goto yy250; + if (yych <= 0x08) goto yy257; + goto yy250; } else { - if (yych == '\r') goto yy249; - if (yych <= 0x1F) goto yy256; - goto yy249; + if (yych == '\r') goto yy250; + if (yych <= 0x1F) goto yy257; + goto yy250; } } else { if (yych <= '9') { - if (yych <= '%') goto yy256; - if (yych <= ')') goto yy249; - if (yych <= '/') goto yy256; - goto yy257; + if (yych <= '%') goto yy257; + if (yych <= ')') goto yy250; + if (yych <= '/') goto yy257; + goto yy258; } else { - if (yych == ';') goto yy249; - if (yych <= '<') goto yy256; - goto yy249; + if (yych == ';') goto yy250; + if (yych <= '<') goto yy257; + goto yy250; } } } else { if (yych <= '`') { if (yych <= 'R') { - if (yych <= '@') goto yy256; - if (yych <= 'Q') goto yy257; - goto yy269; + if (yych <= '@') goto yy257; + if (yych <= 'Q') goto yy258; + goto yy270; } else { - if (yych <= 'Z') goto yy257; - if (yych == '_') goto yy257; - goto yy256; + if (yych <= 'Z') goto yy258; + if (yych == '_') goto yy258; + goto yy257; } } else { if (yych <= '{') { - if (yych == 'r') goto yy269; - if (yych <= 'z') goto yy257; - goto yy256; + if (yych == 'r') goto yy270; + if (yych <= 'z') goto yy258; + goto yy257; } else { - if (yych == '}') goto yy256; - if (yych <= '~') goto yy249; - goto yy256; + if (yych == '}') goto yy257; + if (yych <= '~') goto yy250; + goto yy257; } } } -yy254: - YYDEBUG(254, *YYCURSOR); +yy255: + YYDEBUG(255, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '=') { if (yych <= '"') { if (yych <= '\n') { - if (yych <= 0x00) goto yy249; - if (yych <= 0x08) goto yy256; - goto yy249; + if (yych <= 0x00) goto yy250; + if (yych <= 0x08) goto yy257; + goto yy250; } else { - if (yych == '\r') goto yy249; - if (yych <= 0x1F) goto yy256; - goto yy249; + if (yych == '\r') goto yy250; + if (yych <= 0x1F) goto yy257; + goto yy250; } } else { if (yych <= '9') { - if (yych <= '%') goto yy256; - if (yych <= ')') goto yy249; - if (yych <= '/') goto yy256; - goto yy257; + if (yych <= '%') goto yy257; + if (yych <= ')') goto yy250; + if (yych <= '/') goto yy257; + goto yy258; } else { - if (yych == ';') goto yy249; - if (yych <= '<') goto yy256; - goto yy249; + if (yych == ';') goto yy250; + if (yych <= '<') goto yy257; + goto yy250; } } } else { if (yych <= '`') { if (yych <= 'E') { - if (yych <= '@') goto yy256; - if (yych <= 'D') goto yy257; - goto yy259; + if (yych <= '@') goto yy257; + if (yych <= 'D') goto yy258; + goto yy260; } else { - if (yych <= 'Z') goto yy257; - if (yych == '_') goto yy257; - goto yy256; + if (yych <= 'Z') goto yy258; + if (yych == '_') goto yy258; + goto yy257; } } else { if (yych <= '{') { - if (yych == 'e') goto yy259; - if (yych <= 'z') goto yy257; - goto yy256; + if (yych == 'e') goto yy260; + if (yych <= 'z') goto yy258; + goto yy257; } else { - if (yych == '}') goto yy256; - if (yych <= '~') goto yy249; - goto yy256; + if (yych == '}') goto yy257; + if (yych <= '~') goto yy250; + goto yy257; } } } -yy255: - YYDEBUG(255, *YYCURSOR); +yy256: + YYDEBUG(256, *YYCURSOR); yyaccept = 0; YYMARKER = ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy256: - YYDEBUG(256, *YYCURSOR); - if (yybm[0+yych] & 2) { - goto yy255; - } - if (yych == '$') goto yy260; - goto yy229; yy257: YYDEBUG(257, *YYCURSOR); + if (yybm[0+yych] & 2) { + goto yy256; + } + if (yych == '$') goto yy261; + goto yy230; +yy258: + YYDEBUG(258, *YYCURSOR); yyaccept = 4; YYMARKER = ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(258, *YYCURSOR); + YYDEBUG(259, *YYCURSOR); if (yybm[0+yych] & 4) { - goto yy257; + goto yy258; } if (yych <= '%') { if (yych <= '\r') { if (yych <= 0x08) { - if (yych <= 0x00) goto yy249; - goto yy255; + if (yych <= 0x00) goto yy250; + goto yy256; } else { - if (yych <= '\n') goto yy249; - if (yych <= '\f') goto yy255; - goto yy249; + if (yych <= '\n') goto yy250; + if (yych <= '\f') goto yy256; + goto yy250; } } else { if (yych <= '"') { - if (yych <= 0x1F) goto yy255; - goto yy249; + if (yych <= 0x1F) goto yy256; + goto yy250; } else { - if (yych == '$') goto yy260; - goto yy255; + if (yych == '$') goto yy261; + goto yy256; } } } else { if (yych <= '=') { if (yych <= ':') { - if (yych <= ')') goto yy249; - goto yy255; + if (yych <= ')') goto yy250; + goto yy256; } else { - if (yych == '<') goto yy255; - goto yy249; + if (yych == '<') goto yy256; + goto yy250; } } else { if (yych <= '|') { - if (yych <= '{') goto yy255; - goto yy249; + if (yych <= '{') goto yy256; + goto yy250; } else { - if (yych == '~') goto yy249; - goto yy255; + if (yych == '~') goto yy250; + goto yy256; } } } -yy259: - YYDEBUG(259, *YYCURSOR); +yy260: + YYDEBUG(260, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '=') { if (yych <= '"') { if (yych <= '\n') { - if (yych <= 0x00) goto yy249; - if (yych <= 0x08) goto yy256; - goto yy249; + if (yych <= 0x00) goto yy250; + if (yych <= 0x08) goto yy257; + goto yy250; } else { - if (yych == '\r') goto yy249; - if (yych <= 0x1F) goto yy256; - goto yy249; + if (yych == '\r') goto yy250; + if (yych <= 0x1F) goto yy257; + goto yy250; } } else { if (yych <= '9') { - if (yych <= '%') goto yy256; - if (yych <= ')') goto yy249; - if (yych <= '/') goto yy256; - goto yy257; + if (yych <= '%') goto yy257; + if (yych <= ')') goto yy250; + if (yych <= '/') goto yy257; + goto yy258; } else { - if (yych == ';') goto yy249; - if (yych <= '<') goto yy256; - goto yy249; + if (yych == ';') goto yy250; + if (yych <= '<') goto yy257; + goto yy250; } } } else { if (yych <= '`') { if (yych <= 'S') { - if (yych <= '@') goto yy256; - if (yych <= 'R') goto yy257; - goto yy265; + if (yych <= '@') goto yy257; + if (yych <= 'R') goto yy258; + goto yy266; } else { - if (yych <= 'Z') goto yy257; - if (yych == '_') goto yy257; - goto yy256; + if (yych <= 'Z') goto yy258; + if (yych == '_') goto yy258; + goto yy257; } } else { if (yych <= '{') { - if (yych == 's') goto yy265; - if (yych <= 'z') goto yy257; - goto yy256; + if (yych == 's') goto yy266; + if (yych <= 'z') goto yy258; + goto yy257; } else { - if (yych == '}') goto yy256; - if (yych <= '~') goto yy249; - goto yy256; + if (yych == '}') goto yy257; + if (yych <= '~') goto yy250; + goto yy257; } } } -yy260: - YYDEBUG(260, *YYCURSOR); +yy261: + YYDEBUG(261, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; if (yych <= '\\') { - if (yych <= 0x00) goto yy261; - if (yych <= '[') goto yy255; - goto yy262; + if (yych <= 0x00) goto yy262; + if (yych <= '[') goto yy256; + goto yy263; } else { - if (yych != '{') goto yy255; + if (yych != '{') goto yy256; } -yy261: - YYDEBUG(261, *YYCURSOR); +yy262: + YYDEBUG(262, *YYCURSOR); YYCURSOR = YYMARKER; if (yyaccept <= 3) { if (yyaccept <= 1) { if (yyaccept <= 0) { - goto yy229; + goto yy230; } else { - goto yy231; + goto yy232; } } else { if (yyaccept <= 2) { - goto yy227; + goto yy228; } else { - goto yy244; + goto yy245; } } } else { if (yyaccept <= 5) { if (yyaccept <= 4) { - goto yy249; + goto yy250; } else { - goto yy266; + goto yy267; } } else { - goto yy273; + goto yy274; } } -yy262: - YYDEBUG(262, *YYCURSOR); +yy263: + YYDEBUG(263, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 8) { - goto yy263; + goto yy264; } - goto yy255; -yy263: - YYDEBUG(263, *YYCURSOR); + goto yy256; +yy264: + YYDEBUG(264, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(264, *YYCURSOR); + YYDEBUG(265, *YYCURSOR); if (yybm[0+yych] & 8) { - goto yy263; + goto yy264; } - if (yych <= 0x00) goto yy229; - if (yych == '\\') goto yy262; - goto yy255; -yy265: - YYDEBUG(265, *YYCURSOR); + if (yych <= 0x00) goto yy230; + if (yych == '\\') goto yy263; + goto yy256; +yy266: + YYDEBUG(266, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 16) { - goto yy267; + goto yy268; } if (yych <= ';') { if (yych <= ' ') { if (yych <= '\n') { - if (yych <= 0x00) goto yy266; - if (yych <= '\t') goto yy256; + if (yych <= 0x00) goto yy267; + if (yych <= '\t') goto yy257; } else { - if (yych != '\r') goto yy256; + if (yych != '\r') goto yy257; } } else { if (yych <= ')') { - if (yych <= '"') goto yy266; - if (yych <= '%') goto yy256; + if (yych <= '"') goto yy267; + if (yych <= '%') goto yy257; } else { - if (yych <= '/') goto yy256; - if (yych <= '9') goto yy257; - if (yych <= ':') goto yy256; + if (yych <= '/') goto yy257; + if (yych <= '9') goto yy258; + if (yych <= ':') goto yy257; } } } else { if (yych <= '_') { if (yych <= '@') { - if (yych != '=') goto yy256; + if (yych != '=') goto yy257; } else { - if (yych <= 'Z') goto yy257; - if (yych <= '^') goto yy256; - goto yy257; + if (yych <= 'Z') goto yy258; + if (yych <= '^') goto yy257; + goto yy258; } } else { if (yych <= '{') { - if (yych <= '`') goto yy256; - if (yych <= 'z') goto yy257; - goto yy256; + if (yych <= '`') goto yy257; + if (yych <= 'z') goto yy258; + goto yy257; } else { - if (yych == '}') goto yy256; - if (yych >= 0x7F) goto yy256; + if (yych == '}') goto yy257; + if (yych >= 0x7F) goto yy257; } } } -yy266: - YYDEBUG(266, *YYCURSOR); +yy267: + YYDEBUG(267, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #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 3588 "Zend/zend_ini_scanner.c" -yy267: - YYDEBUG(267, *YYCURSOR); +#line 3596 "Zend/zend_ini_scanner.c" +yy268: + YYDEBUG(268, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(268, *YYCURSOR); + YYDEBUG(269, *YYCURSOR); if (yybm[0+yych] & 16) { - goto yy267; + goto yy268; } - goto yy266; -yy269: - YYDEBUG(269, *YYCURSOR); + goto yy267; +yy270: + YYDEBUG(270, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '=') { if (yych <= '"') { if (yych <= '\n') { - if (yych <= 0x00) goto yy249; - if (yych <= 0x08) goto yy256; - goto yy249; + if (yych <= 0x00) goto yy250; + if (yych <= 0x08) goto yy257; + goto yy250; } else { - if (yych == '\r') goto yy249; - if (yych <= 0x1F) goto yy256; - goto yy249; + if (yych == '\r') goto yy250; + if (yych <= 0x1F) goto yy257; + goto yy250; } } else { if (yych <= '9') { - if (yych <= '%') goto yy256; - if (yych <= ')') goto yy249; - if (yych <= '/') goto yy256; - goto yy257; + if (yych <= '%') goto yy257; + if (yych <= ')') goto yy250; + if (yych <= '/') goto yy257; + goto yy258; } else { - if (yych == ';') goto yy249; - if (yych <= '<') goto yy256; - goto yy249; + if (yych == ';') goto yy250; + if (yych <= '<') goto yy257; + goto yy250; } } } else { if (yych <= '`') { if (yych <= 'U') { - if (yych <= '@') goto yy256; - if (yych <= 'T') goto yy257; + if (yych <= '@') goto yy257; + if (yych <= 'T') goto yy258; } else { - if (yych <= 'Z') goto yy257; - if (yych == '_') goto yy257; - goto yy256; + if (yych <= 'Z') goto yy258; + if (yych == '_') goto yy258; + goto yy257; } } else { if (yych <= '{') { - if (yych == 'u') goto yy270; - if (yych <= 'z') goto yy257; - goto yy256; + if (yych == 'u') goto yy271; + if (yych <= 'z') goto yy258; + goto yy257; } else { - if (yych == '}') goto yy256; - if (yych <= '~') goto yy249; - goto yy256; + if (yych == '}') goto yy257; + if (yych <= '~') goto yy250; + goto yy257; } } } -yy270: - YYDEBUG(270, *YYCURSOR); +yy271: + YYDEBUG(271, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '=') { if (yych <= '"') { if (yych <= '\n') { - if (yych <= 0x00) goto yy249; - if (yych <= 0x08) goto yy256; - goto yy249; + if (yych <= 0x00) goto yy250; + if (yych <= 0x08) goto yy257; + goto yy250; } else { - if (yych == '\r') goto yy249; - if (yych <= 0x1F) goto yy256; - goto yy249; + if (yych == '\r') goto yy250; + if (yych <= 0x1F) goto yy257; + goto yy250; } } else { if (yych <= '9') { - if (yych <= '%') goto yy256; - if (yych <= ')') goto yy249; - if (yych <= '/') goto yy256; - goto yy257; + if (yych <= '%') goto yy257; + if (yych <= ')') goto yy250; + if (yych <= '/') goto yy257; + goto yy258; } else { - if (yych == ';') goto yy249; - if (yych <= '<') goto yy256; - goto yy249; + if (yych == ';') goto yy250; + if (yych <= '<') goto yy257; + goto yy250; } } } else { if (yych <= '`') { if (yych <= 'E') { - if (yych <= '@') goto yy256; - if (yych <= 'D') goto yy257; - goto yy265; + if (yych <= '@') goto yy257; + if (yych <= 'D') goto yy258; + goto yy266; } else { - if (yych <= 'Z') goto yy257; - if (yych == '_') goto yy257; - goto yy256; + if (yych <= 'Z') goto yy258; + if (yych == '_') goto yy258; + goto yy257; } } else { if (yych <= '{') { - if (yych == 'e') goto yy265; - if (yych <= 'z') goto yy257; - goto yy256; + if (yych == 'e') goto yy266; + if (yych <= 'z') goto yy258; + goto yy257; } else { - if (yych == '}') goto yy256; - if (yych <= '~') goto yy249; - goto yy256; + if (yych == '}') goto yy257; + if (yych <= '~') goto yy250; + goto yy257; } } } -yy271: - YYDEBUG(271, *YYCURSOR); +yy272: + YYDEBUG(272, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '=') { if (yych <= '"') { if (yych <= '\n') { - if (yych <= 0x00) goto yy249; - if (yych <= 0x08) goto yy256; - goto yy249; + if (yych <= 0x00) goto yy250; + if (yych <= 0x08) goto yy257; + goto yy250; } else { - if (yych == '\r') goto yy249; - if (yych <= 0x1F) goto yy256; - goto yy249; + if (yych == '\r') goto yy250; + if (yych <= 0x1F) goto yy257; + goto yy250; } } else { if (yych <= '9') { - if (yych <= '%') goto yy256; - if (yych <= ')') goto yy249; - if (yych <= '/') goto yy256; - goto yy257; + if (yych <= '%') goto yy257; + if (yych <= ')') goto yy250; + if (yych <= '/') goto yy257; + goto yy258; } else { - if (yych == ';') goto yy249; - if (yych <= '<') goto yy256; - goto yy249; + if (yych == ';') goto yy250; + if (yych <= '<') goto yy257; + goto yy250; } } } else { if (yych <= '`') { if (yych <= 'F') { - if (yych <= '@') goto yy256; - if (yych <= 'E') goto yy257; + if (yych <= '@') goto yy257; + if (yych <= 'E') goto yy258; } else { - if (yych <= 'Z') goto yy257; - if (yych == '_') goto yy257; - goto yy256; + if (yych <= 'Z') goto yy258; + if (yych == '_') goto yy258; + goto yy257; } } else { if (yych <= '{') { - if (yych == 'f') goto yy272; - if (yych <= 'z') goto yy257; - goto yy256; + if (yych == 'f') goto yy273; + if (yych <= 'z') goto yy258; + goto yy257; } else { - if (yych == '}') goto yy256; - if (yych <= '~') goto yy249; - goto yy256; + if (yych == '}') goto yy257; + if (yych <= '~') goto yy250; + goto yy257; } } } -yy272: - YYDEBUG(272, *YYCURSOR); +yy273: + YYDEBUG(273, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 4) { - goto yy257; + goto yy258; } if (yych <= '%') { if (yych <= '\f') { if (yych <= 0x08) { - if (yych >= 0x01) goto yy256; + if (yych >= 0x01) goto yy257; } else { - if (yych <= '\t') goto yy274; - if (yych >= '\v') goto yy256; + if (yych <= '\t') goto yy275; + if (yych >= '\v') goto yy257; } } else { if (yych <= 0x1F) { - if (yych >= 0x0E) goto yy256; + if (yych >= 0x0E) goto yy257; } else { - if (yych <= ' ') goto yy274; - if (yych >= '#') goto yy256; + if (yych <= ' ') goto yy275; + if (yych >= '#') goto yy257; } } } else { if (yych <= '=') { if (yych <= ':') { - if (yych >= '*') goto yy256; + if (yych >= '*') goto yy257; } else { - if (yych == '<') goto yy256; + if (yych == '<') goto yy257; } } else { if (yych <= '|') { - if (yych <= '{') goto yy256; + if (yych <= '{') goto yy257; } else { - if (yych != '~') goto yy256; + if (yych != '~') goto yy257; } } } -yy273: - YYDEBUG(273, *YYCURSOR); +yy274: + YYDEBUG(274, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #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 3792 "Zend/zend_ini_scanner.c" -yy274: - YYDEBUG(274, *YYCURSOR); +#line 3800 "Zend/zend_ini_scanner.c" +yy275: + YYDEBUG(275, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(275, *YYCURSOR); - if (yych == '\t') goto yy274; - if (yych == ' ') goto yy274; - goto yy273; -yy276: YYDEBUG(276, *YYCURSOR); + if (yych == '\t') goto yy275; + if (yych == ' ') goto yy275; + goto yy274; +yy277: + YYDEBUG(277, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '<') { if (yych <= ' ') { if (yych <= '\n') { - if (yych <= 0x00) goto yy273; - if (yych <= 0x08) goto yy256; - if (yych <= '\t') goto yy274; - goto yy273; - } else { - if (yych == '\r') goto yy273; - if (yych <= 0x1F) goto yy256; + if (yych <= 0x00) goto yy274; + if (yych <= 0x08) goto yy257; + if (yych <= '\t') goto yy275; goto yy274; + } else { + if (yych == '\r') goto yy274; + if (yych <= 0x1F) goto yy257; + goto yy275; } } else { if (yych <= '/') { - if (yych <= '"') goto yy273; - if (yych <= '%') goto yy256; - if (yych <= ')') goto yy273; - goto yy256; + if (yych <= '"') goto yy274; + if (yych <= '%') goto yy257; + if (yych <= ')') goto yy274; + goto yy257; } else { - if (yych <= '9') goto yy257; - if (yych == ';') goto yy273; - goto yy256; + if (yych <= '9') goto yy258; + if (yych == ';') goto yy274; + goto yy257; } } } else { if (yych <= '`') { if (yych <= 'N') { - if (yych <= '=') goto yy273; - if (yych <= '@') goto yy256; - if (yych <= 'M') goto yy257; - goto yy279; + if (yych <= '=') goto yy274; + if (yych <= '@') goto yy257; + if (yych <= 'M') goto yy258; + goto yy280; } else { - if (yych <= 'Z') goto yy257; - if (yych == '_') goto yy257; - goto yy256; + if (yych <= 'Z') goto yy258; + if (yych == '_') goto yy258; + goto yy257; } } else { if (yych <= '{') { - if (yych == 'n') goto yy279; - if (yych <= 'z') goto yy257; - goto yy256; + if (yych == 'n') goto yy280; + if (yych <= 'z') goto yy258; + goto yy257; } else { - if (yych == '}') goto yy256; - if (yych <= '~') goto yy273; - goto yy256; + if (yych == '}') goto yy257; + if (yych <= '~') goto yy274; + goto yy257; } } } -yy277: - YYDEBUG(277, *YYCURSOR); +yy278: + YYDEBUG(278, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '=') { if (yych <= '"') { if (yych <= '\n') { - if (yych <= 0x00) goto yy249; - if (yych <= 0x08) goto yy256; - goto yy249; + if (yych <= 0x00) goto yy250; + if (yych <= 0x08) goto yy257; + goto yy250; } else { - if (yych == '\r') goto yy249; - if (yych <= 0x1F) goto yy256; - goto yy249; + if (yych == '\r') goto yy250; + if (yych <= 0x1F) goto yy257; + goto yy250; } } else { if (yych <= '9') { - if (yych <= '%') goto yy256; - if (yych <= ')') goto yy249; - if (yych <= '/') goto yy256; - goto yy257; + if (yych <= '%') goto yy257; + if (yych <= ')') goto yy250; + if (yych <= '/') goto yy257; + goto yy258; } else { - if (yych == ';') goto yy249; - if (yych <= '<') goto yy256; - goto yy249; + if (yych == ';') goto yy250; + if (yych <= '<') goto yy257; + goto yy250; } } } else { if (yych <= '`') { if (yych <= 'L') { - if (yych <= '@') goto yy256; - if (yych <= 'K') goto yy257; + if (yych <= '@') goto yy257; + if (yych <= 'K') goto yy258; } else { - if (yych <= 'Z') goto yy257; - if (yych == '_') goto yy257; - goto yy256; + if (yych <= 'Z') goto yy258; + if (yych == '_') goto yy258; + goto yy257; } } else { if (yych <= '{') { - if (yych == 'l') goto yy278; - if (yych <= 'z') goto yy257; - goto yy256; + if (yych == 'l') goto yy279; + if (yych <= 'z') goto yy258; + goto yy257; } else { - if (yych == '}') goto yy256; - if (yych <= '~') goto yy249; - goto yy256; + if (yych == '}') goto yy257; + if (yych <= '~') goto yy250; + goto yy257; } } } -yy278: - YYDEBUG(278, *YYCURSOR); +yy279: + YYDEBUG(279, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '=') { if (yych <= '"') { if (yych <= '\n') { - if (yych <= 0x00) goto yy249; - if (yych <= 0x08) goto yy256; - goto yy249; + if (yych <= 0x00) goto yy250; + if (yych <= 0x08) goto yy257; + goto yy250; } else { - if (yych == '\r') goto yy249; - if (yych <= 0x1F) goto yy256; - goto yy249; + if (yych == '\r') goto yy250; + if (yych <= 0x1F) goto yy257; + goto yy250; } } else { if (yych <= '9') { - if (yych <= '%') goto yy256; - if (yych <= ')') goto yy249; - if (yych <= '/') goto yy256; - goto yy257; + if (yych <= '%') goto yy257; + if (yych <= ')') goto yy250; + if (yych <= '/') goto yy257; + goto yy258; } else { - if (yych == ';') goto yy249; - if (yych <= '<') goto yy256; - goto yy249; + if (yych == ';') goto yy250; + if (yych <= '<') goto yy257; + goto yy250; } } } else { if (yych <= '`') { if (yych <= 'L') { - if (yych <= '@') goto yy256; - if (yych <= 'K') goto yy257; - goto yy272; + if (yych <= '@') goto yy257; + if (yych <= 'K') goto yy258; + goto yy273; } else { - if (yych <= 'Z') goto yy257; - if (yych == '_') goto yy257; - goto yy256; + if (yych <= 'Z') goto yy258; + if (yych == '_') goto yy258; + goto yy257; } } else { if (yych <= '{') { - if (yych == 'l') goto yy272; - if (yych <= 'z') goto yy257; - goto yy256; + if (yych == 'l') goto yy273; + if (yych <= 'z') goto yy258; + goto yy257; } else { - if (yych == '}') goto yy256; - if (yych <= '~') goto yy249; - goto yy256; + if (yych == '}') goto yy257; + if (yych <= '~') goto yy250; + goto yy257; } } } -yy279: - YYDEBUG(279, *YYCURSOR); +yy280: + YYDEBUG(280, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '=') { if (yych <= '"') { if (yych <= '\n') { - if (yych <= 0x00) goto yy249; - if (yych <= 0x08) goto yy256; - goto yy249; + if (yych <= 0x00) goto yy250; + if (yych <= 0x08) goto yy257; + goto yy250; } else { - if (yych == '\r') goto yy249; - if (yych <= 0x1F) goto yy256; - goto yy249; + if (yych == '\r') goto yy250; + if (yych <= 0x1F) goto yy257; + goto yy250; } } else { if (yych <= '9') { - if (yych <= '%') goto yy256; - if (yych <= ')') goto yy249; - if (yych <= '/') goto yy256; - goto yy257; + if (yych <= '%') goto yy257; + if (yych <= ')') goto yy250; + if (yych <= '/') goto yy257; + goto yy258; } else { - if (yych == ';') goto yy249; - if (yych <= '<') goto yy256; - goto yy249; + if (yych == ';') goto yy250; + if (yych <= '<') goto yy257; + goto yy250; } } } else { if (yych <= '`') { if (yych <= 'E') { - if (yych <= '@') goto yy256; - if (yych <= 'D') goto yy257; - goto yy272; + if (yych <= '@') goto yy257; + if (yych <= 'D') goto yy258; + goto yy273; } else { - if (yych <= 'Z') goto yy257; - if (yych == '_') goto yy257; - goto yy256; + if (yych <= 'Z') goto yy258; + if (yych == '_') goto yy258; + goto yy257; } } else { if (yych <= '{') { - if (yych == 'e') goto yy272; - if (yych <= 'z') goto yy257; - goto yy256; + if (yych == 'e') goto yy273; + if (yych <= 'z') goto yy258; + goto yy257; } else { - if (yych == '}') goto yy256; - if (yych <= '~') goto yy249; - goto yy256; + if (yych == '}') goto yy257; + if (yych <= '~') goto yy250; + goto yy257; } } } -yy280: - YYDEBUG(280, *YYCURSOR); +yy281: + YYDEBUG(281, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '=') { if (yych <= '"') { if (yych <= '\n') { - if (yych <= 0x00) goto yy249; - if (yych <= 0x08) goto yy256; - goto yy249; + if (yych <= 0x00) goto yy250; + if (yych <= 0x08) goto yy257; + goto yy250; } else { - if (yych == '\r') goto yy249; - if (yych <= 0x1F) goto yy256; - goto yy249; + if (yych == '\r') goto yy250; + if (yych <= 0x1F) goto yy257; + goto yy250; } } else { if (yych <= '9') { - if (yych <= '%') goto yy256; - if (yych <= ')') goto yy249; - if (yych <= '/') goto yy256; - goto yy257; + if (yych <= '%') goto yy257; + if (yych <= ')') goto yy250; + if (yych <= '/') goto yy257; + goto yy258; } else { - if (yych == ';') goto yy249; - if (yych <= '<') goto yy256; - goto yy249; + if (yych == ';') goto yy250; + if (yych <= '<') goto yy257; + goto yy250; } } } else { if (yych <= '`') { if (yych <= 'L') { - if (yych <= '@') goto yy256; - if (yych <= 'K') goto yy257; + if (yych <= '@') goto yy257; + if (yych <= 'K') goto yy258; } else { - if (yych <= 'Z') goto yy257; - if (yych == '_') goto yy257; - goto yy256; + if (yych <= 'Z') goto yy258; + if (yych == '_') goto yy258; + goto yy257; } } else { if (yych <= '{') { - if (yych == 'l') goto yy281; - if (yych <= 'z') goto yy257; - goto yy256; + if (yych == 'l') goto yy282; + if (yych <= 'z') goto yy258; + goto yy257; } else { - if (yych == '}') goto yy256; - if (yych <= '~') goto yy249; - goto yy256; + if (yych == '}') goto yy257; + if (yych <= '~') goto yy250; + goto yy257; } } } -yy281: - YYDEBUG(281, *YYCURSOR); +yy282: + YYDEBUG(282, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '=') { if (yych <= '"') { if (yych <= '\n') { - if (yych <= 0x00) goto yy249; - if (yych <= 0x08) goto yy256; - goto yy249; + if (yych <= 0x00) goto yy250; + if (yych <= 0x08) goto yy257; + goto yy250; } else { - if (yych == '\r') goto yy249; - if (yych <= 0x1F) goto yy256; - goto yy249; + if (yych == '\r') goto yy250; + if (yych <= 0x1F) goto yy257; + goto yy250; } } else { if (yych <= '9') { - if (yych <= '%') goto yy256; - if (yych <= ')') goto yy249; - if (yych <= '/') goto yy256; - goto yy257; + if (yych <= '%') goto yy257; + if (yych <= ')') goto yy250; + if (yych <= '/') goto yy257; + goto yy258; } else { - if (yych == ';') goto yy249; - if (yych <= '<') goto yy256; - goto yy249; + if (yych == ';') goto yy250; + if (yych <= '<') goto yy257; + goto yy250; } } } else { if (yych <= '`') { if (yych <= 'S') { - if (yych <= '@') goto yy256; - if (yych <= 'R') goto yy257; + if (yych <= '@') goto yy257; + if (yych <= 'R') goto yy258; } else { - if (yych <= 'Z') goto yy257; - if (yych == '_') goto yy257; - goto yy256; + if (yych <= 'Z') goto yy258; + if (yych == '_') goto yy258; + goto yy257; } } else { if (yych <= '{') { - if (yych == 's') goto yy282; - if (yych <= 'z') goto yy257; - goto yy256; + if (yych == 's') goto yy283; + if (yych <= 'z') goto yy258; + goto yy257; } else { - if (yych == '}') goto yy256; - if (yych <= '~') goto yy249; - goto yy256; + if (yych == '}') goto yy257; + if (yych <= '~') goto yy250; + goto yy257; } } } -yy282: - YYDEBUG(282, *YYCURSOR); +yy283: + YYDEBUG(283, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '=') { if (yych <= '"') { if (yych <= '\n') { - if (yych <= 0x00) goto yy249; - if (yych <= 0x08) goto yy256; - goto yy249; + if (yych <= 0x00) goto yy250; + if (yych <= 0x08) goto yy257; + goto yy250; } else { - if (yych == '\r') goto yy249; - if (yych <= 0x1F) goto yy256; - goto yy249; + if (yych == '\r') goto yy250; + if (yych <= 0x1F) goto yy257; + goto yy250; } } else { if (yych <= '9') { - if (yych <= '%') goto yy256; - if (yych <= ')') goto yy249; - if (yych <= '/') goto yy256; - goto yy257; + if (yych <= '%') goto yy257; + if (yych <= ')') goto yy250; + if (yych <= '/') goto yy257; + goto yy258; } else { - if (yych == ';') goto yy249; - if (yych <= '<') goto yy256; - goto yy249; + if (yych == ';') goto yy250; + if (yych <= '<') goto yy257; + goto yy250; } } } else { if (yych <= '`') { if (yych <= 'E') { - if (yych <= '@') goto yy256; - if (yych <= 'D') goto yy257; - goto yy272; + if (yych <= '@') goto yy257; + if (yych <= 'D') goto yy258; + goto yy273; } else { - if (yych <= 'Z') goto yy257; - if (yych == '_') goto yy257; - goto yy256; + if (yych <= 'Z') goto yy258; + if (yych == '_') goto yy258; + goto yy257; } } else { if (yych <= '{') { - if (yych == 'e') goto yy272; - if (yych <= 'z') goto yy257; - goto yy256; + if (yych == 'e') goto yy273; + if (yych <= 'z') goto yy258; + goto yy257; } else { - if (yych == '}') goto yy256; - if (yych <= '~') goto yy249; - goto yy256; + if (yych == '}') goto yy257; + if (yych <= '~') goto yy250; + goto yy257; } } } -yy283: - YYDEBUG(283, *YYCURSOR); +yy284: + YYDEBUG(284, *YYCURSOR); ++YYCURSOR; YYFILL(2); yych = *YYCURSOR; -yy284: - YYDEBUG(284, *YYCURSOR); - if (yybm[0+yych] & 32) { - goto yy283; - } - if (yych >= '\r') goto yy287; yy285: YYDEBUG(285, *YYCURSOR); - ++YYCURSOR; + if (yybm[0+yych] & 32) { + goto yy284; + } + if (yych >= '\r') goto yy288; yy286: YYDEBUG(286, *YYCURSOR); + ++YYCURSOR; +yy287: + YYDEBUG(287, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 554 "Zend/zend_ini_scanner.l" { /* Comment */ @@ -4170,217 +4178,217 @@ yy286: SCNG(lineno)++; return END_OF_LINE; } -#line 4174 "Zend/zend_ini_scanner.c" -yy287: - YYDEBUG(287, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '\n') goto yy285; - goto yy286; +#line 4182 "Zend/zend_ini_scanner.c" yy288: YYDEBUG(288, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == '\n') goto yy286; + goto yy287; +yy289: + YYDEBUG(289, *YYCURSOR); yyaccept = 3; YYMARKER = ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(289, *YYCURSOR); + YYDEBUG(290, *YYCURSOR); if (yybm[0+yych] & 64) { - goto yy288; + goto yy289; } if (yych <= '%') { if (yych <= '\r') { if (yych <= 0x08) { - if (yych <= 0x00) goto yy244; - goto yy255; + if (yych <= 0x00) goto yy245; + goto yy256; } else { - if (yych <= '\n') goto yy244; - if (yych <= '\f') goto yy255; - goto yy244; + if (yych <= '\n') goto yy245; + if (yych <= '\f') goto yy256; + goto yy245; } } else { if (yych <= '"') { - if (yych <= 0x1F) goto yy255; - goto yy244; + if (yych <= 0x1F) goto yy256; + goto yy245; } else { - if (yych == '$') goto yy260; - goto yy255; + if (yych == '$') goto yy261; + goto yy256; } } } else { if (yych <= '=') { if (yych <= ':') { - if (yych <= ')') goto yy244; - goto yy255; + if (yych <= ')') goto yy245; + goto yy256; } else { - if (yych == '<') goto yy255; - goto yy244; + if (yych == '<') goto yy256; + goto yy245; } } else { if (yych <= '|') { - if (yych <= '{') goto yy255; - goto yy244; + if (yych <= '{') goto yy256; + goto yy245; } else { - if (yych == '~') goto yy244; - goto yy255; + if (yych == '~') goto yy245; + goto yy256; } } } -yy290: - YYDEBUG(290, *YYCURSOR); +yy291: + YYDEBUG(291, *YYCURSOR); yyaccept = 3; YYMARKER = ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(291, *YYCURSOR); + YYDEBUG(292, *YYCURSOR); if (yych <= '-') { if (yych <= 0x1F) { if (yych <= '\n') { - if (yych <= 0x00) goto yy244; - if (yych <= 0x08) goto yy255; - goto yy244; + if (yych <= 0x00) goto yy245; + if (yych <= 0x08) goto yy256; + goto yy245; } else { - if (yych == '\r') goto yy244; - goto yy255; + if (yych == '\r') goto yy245; + goto yy256; } } else { if (yych <= '$') { - if (yych <= '"') goto yy244; - if (yych <= '#') goto yy255; - goto yy260; + if (yych <= '"') goto yy245; + if (yych <= '#') goto yy256; + goto yy261; } else { - if (yych <= '%') goto yy255; - if (yych <= ')') goto yy244; - goto yy255; + if (yych <= '%') goto yy256; + if (yych <= ')') goto yy245; + goto yy256; } } } else { if (yych <= '<') { if (yych <= '9') { - if (yych <= '.') goto yy288; - if (yych <= '/') goto yy255; - goto yy290; + if (yych <= '.') goto yy289; + if (yych <= '/') goto yy256; + goto yy291; } else { - if (yych == ';') goto yy244; - goto yy255; + if (yych == ';') goto yy245; + goto yy256; } } else { if (yych <= '|') { - if (yych <= '=') goto yy244; - if (yych <= '{') goto yy255; - goto yy244; + if (yych <= '=') goto yy245; + if (yych <= '{') goto yy256; + goto yy245; } else { - if (yych == '~') goto yy244; - goto yy255; + if (yych == '~') goto yy245; + goto yy256; } } } -yy292: - YYDEBUG(292, *YYCURSOR); +yy293: + YYDEBUG(293, *YYCURSOR); yyaccept = 3; YYMARKER = ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(293, *YYCURSOR); + YYDEBUG(294, *YYCURSOR); if (yych <= ')') { if (yych <= '\r') { if (yych <= 0x08) { - if (yych <= 0x00) goto yy244; - goto yy255; + if (yych <= 0x00) goto yy245; + goto yy256; } else { - if (yych <= '\n') goto yy244; - if (yych <= '\f') goto yy255; - goto yy244; + if (yych <= '\n') goto yy245; + if (yych <= '\f') goto yy256; + goto yy245; } } else { if (yych <= '#') { - if (yych <= 0x1F) goto yy255; - if (yych <= '"') goto yy244; - goto yy255; + if (yych <= 0x1F) goto yy256; + if (yych <= '"') goto yy245; + goto yy256; } else { - if (yych <= '$') goto yy260; - if (yych <= '%') goto yy255; - goto yy244; + if (yych <= '$') goto yy261; + if (yych <= '%') goto yy256; + goto yy245; } } } else { if (yych <= '<') { if (yych <= '9') { - if (yych <= '/') goto yy255; - goto yy292; + if (yych <= '/') goto yy256; + goto yy293; } else { - if (yych == ';') goto yy244; - goto yy255; + if (yych == ';') goto yy245; + goto yy256; } } else { if (yych <= '|') { - if (yych <= '=') goto yy244; - if (yych <= '{') goto yy255; - goto yy244; + if (yych <= '=') goto yy245; + if (yych <= '{') goto yy256; + goto yy245; } else { - if (yych == '~') goto yy244; - goto yy255; + if (yych == '~') goto yy245; + goto yy256; } } } -yy294: - YYDEBUG(294, *YYCURSOR); +yy295: + YYDEBUG(295, *YYCURSOR); yyaccept = 3; YYMARKER = ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(295, *YYCURSOR); + YYDEBUG(296, *YYCURSOR); if (yych <= ')') { if (yych <= '\r') { if (yych <= 0x08) { - if (yych <= 0x00) goto yy244; - goto yy255; + if (yych <= 0x00) goto yy245; + goto yy256; } else { - if (yych <= '\n') goto yy244; - if (yych <= '\f') goto yy255; - goto yy244; + if (yych <= '\n') goto yy245; + if (yych <= '\f') goto yy256; + goto yy245; } } else { if (yych <= '#') { - if (yych <= 0x1F) goto yy255; - if (yych <= '"') goto yy244; - goto yy255; + if (yych <= 0x1F) goto yy256; + if (yych <= '"') goto yy245; + goto yy256; } else { - if (yych <= '$') goto yy260; - if (yych <= '%') goto yy255; - goto yy244; + if (yych <= '$') goto yy261; + if (yych <= '%') goto yy256; + goto yy245; } } } else { if (yych <= '<') { if (yych <= '9') { - if (yych <= '/') goto yy255; - goto yy294; + if (yych <= '/') goto yy256; + goto yy295; } else { - if (yych == ';') goto yy244; - goto yy255; + if (yych == ';') goto yy245; + goto yy256; } } else { if (yych <= '|') { - if (yych <= '=') goto yy244; - if (yych <= '{') goto yy255; - goto yy244; + if (yych <= '=') goto yy245; + if (yych <= '{') goto yy256; + goto yy245; } else { - if (yych == '~') goto yy244; - goto yy255; + if (yych == '~') goto yy245; + goto yy256; } } } -yy296: - YYDEBUG(296, *YYCURSOR); +yy297: + YYDEBUG(297, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(297, *YYCURSOR); + YYDEBUG(298, *YYCURSOR); if (yybm[0+yych] & 128) { - goto yy296; + goto yy297; } - YYDEBUG(298, *YYCURSOR); - ++YYCURSOR; YYDEBUG(299, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(300, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 365 "Zend/zend_ini_scanner.l" { /* Raw string */ @@ -4391,66 +4399,66 @@ yy296: } RETURN_TOKEN(TC_RAW, yytext, yyleng); } -#line 4395 "Zend/zend_ini_scanner.c" -yy300: - YYDEBUG(300, *YYCURSOR); - ++YYCURSOR; +#line 4403 "Zend/zend_ini_scanner.c" +yy301: YYDEBUG(301, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(302, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 398 "Zend/zend_ini_scanner.l" { /* Variable start */ yy_push_state(ST_VARNAME TSRMLS_CC); return TC_DOLLAR_CURLY; } -#line 4406 "Zend/zend_ini_scanner.c" -yy302: - YYDEBUG(302, *YYCURSOR); +#line 4414 "Zend/zend_ini_scanner.c" +yy303: + YYDEBUG(303, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy303: - YYDEBUG(303, *YYCURSOR); - if (yych == '\t') goto yy302; - if (yych == ' ') goto yy302; - goto yy236; yy304: YYDEBUG(304, *YYCURSOR); - yych = *++YYCURSOR; - goto yy233; + if (yych == '\t') goto yy303; + if (yych == ' ') goto yy303; + goto yy237; yy305: YYDEBUG(305, *YYCURSOR); + yych = *++YYCURSOR; + goto yy234; +yy306: + YYDEBUG(306, *YYCURSOR); yyaccept = 1; YYMARKER = ++YYCURSOR; YYFILL(2); yych = *YYCURSOR; -yy306: - YYDEBUG(306, *YYCURSOR); +yy307: + YYDEBUG(307, *YYCURSOR); if (yych <= 0x1F) { if (yych <= '\n') { - if (yych <= 0x08) goto yy231; - if (yych <= '\t') goto yy305; - goto yy304; + if (yych <= 0x08) goto yy232; + if (yych <= '\t') goto yy306; + goto yy305; } else { - if (yych == '\r') goto yy308; - goto yy231; + if (yych == '\r') goto yy309; + goto yy232; } } else { if (yych <= '"') { - if (yych <= ' ') goto yy305; - if (yych <= '!') goto yy231; + if (yych <= ' ') goto yy306; + if (yych <= '!') goto yy232; } else { - if (yych == ';') goto yy283; - goto yy231; + if (yych == ';') goto yy284; + goto yy232; } } - YYDEBUG(307, *YYCURSOR); - yych = *++YYCURSOR; - goto yy238; -yy308: YYDEBUG(308, *YYCURSOR); + yych = *++YYCURSOR; + goto yy239; +yy309: + YYDEBUG(309, *YYCURSOR); ++YYCURSOR; - if ((yych = *YYCURSOR) == '\n') goto yy304; - goto yy233; + if ((yych = *YYCURSOR) == '\n') goto yy305; + goto yy234; } /* *********************************** */ yyc_ST_VARNAME: @@ -4489,47 +4497,47 @@ yyc_ST_VARNAME: 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, }; - YYDEBUG(309, *YYCURSOR); + YYDEBUG(310, *YYCURSOR); YYFILL(2); yych = *YYCURSOR; if (yych <= '\'') { if (yych <= ' ') { if (yych <= '\n') { - if (yych >= '\t') goto yy313; + if (yych >= '\t') goto yy314; } else { - if (yych == '\r') goto yy313; + if (yych == '\r') goto yy314; } } else { if (yych <= '$') { - if (yych != '#') goto yy313; + if (yych != '#') goto yy314; } else { - if (yych == '&') goto yy313; + if (yych == '&') goto yy314; } } } else { if (yych <= 'Z') { if (yych <= ';') { - if (yych <= ')') goto yy313; - if (yych >= ';') goto yy313; + if (yych <= ')') goto yy314; + if (yych >= ';') goto yy314; } else { - if (yych == '=') goto yy313; + if (yych == '=') goto yy314; } } else { if (yych <= '|') { - if (yych <= '[') goto yy313; - if (yych >= '{') goto yy313; + if (yych <= '[') goto yy314; + if (yych >= '{') goto yy314; } else { - if (yych <= '}') goto yy315; - if (yych <= '~') goto yy313; + if (yych <= '}') goto yy316; + if (yych <= '~') goto yy314; } } } - YYDEBUG(311, *YYCURSOR); + YYDEBUG(312, *YYCURSOR); ++YYCURSOR; yych = *YYCURSOR; - goto yy318; -yy312: - YYDEBUG(312, *YYCURSOR); + goto yy319; +yy313: + YYDEBUG(313, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 403 "Zend/zend_ini_scanner.l" { /* Variable name */ @@ -4541,39 +4549,39 @@ yy312: RETURN_TOKEN(TC_VARNAME, yytext, yyleng); } -#line 4545 "Zend/zend_ini_scanner.c" -yy313: - YYDEBUG(313, *YYCURSOR); - ++YYCURSOR; +#line 4553 "Zend/zend_ini_scanner.c" +yy314: YYDEBUG(314, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(315, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 572 "Zend/zend_ini_scanner.l" { return 0; } -#line 4555 "Zend/zend_ini_scanner.c" -yy315: - YYDEBUG(315, *YYCURSOR); - ++YYCURSOR; +#line 4563 "Zend/zend_ini_scanner.c" +yy316: YYDEBUG(316, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(317, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 413 "Zend/zend_ini_scanner.l" { /* Variable end */ yy_pop_state(TSRMLS_C); return '}'; } -#line 4566 "Zend/zend_ini_scanner.c" -yy317: - YYDEBUG(317, *YYCURSOR); +#line 4574 "Zend/zend_ini_scanner.c" +yy318: + YYDEBUG(318, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy318: - YYDEBUG(318, *YYCURSOR); +yy319: + YYDEBUG(319, *YYCURSOR); if (yybm[0+yych] & 128) { - goto yy317; + goto yy318; } - goto yy312; + goto yy313; } } #line 576 "Zend/zend_ini_scanner.l" diff --git a/Zend/zend_ini_scanner.l b/Zend/zend_ini_scanner.l index e88b45e47..3910bffb8 100644 --- a/Zend/zend_ini_scanner.l +++ b/Zend/zend_ini_scanner.l @@ -20,7 +20,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend_ini_scanner.l 299767 2010-05-26 02:18:17Z felipe $ */ +/* $Id: zend_ini_scanner.l 301758 2010-08-01 15:26:54Z felipe $ */ #include <errno.h> #include "zend.h" @@ -344,7 +344,7 @@ DOLLAR_CURLY "${" SECTION_RAW_CHARS [^\]\n\r] SINGLE_QUOTED_CHARS [^'] -RAW_VALUE_CHARS [^\n\r;] +RAW_VALUE_CHARS [^\n\r;\000] LITERAL_DOLLAR ("$"([^{\000]|("\\"{ANY_CHAR}))) VALUE_CHARS ([^$= \t\n\r;&|~()!"'\000]|{LITERAL_DOLLAR}) diff --git a/Zend/zend_ini_scanner_defs.h b/Zend/zend_ini_scanner_defs.h index 4107238ad..6dc3fd7cf 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 Tue May 25 22:53:58 2010 */ +/* Generated by re2c 0.13.5 on Sun Aug 1 12:07:43 2010 */ #line 3 "Zend/zend_ini_scanner_defs.h" enum YYCONDTYPE { diff --git a/Zend/zend_language_scanner.c b/Zend/zend_language_scanner.c index c71f2ba77..8b0be1cda 100644 --- a/Zend/zend_language_scanner.c +++ b/Zend/zend_language_scanner.c @@ -1,5 +1,4 @@ -/* Generated by re2c 0.13.5 on Tue Jun 29 23:22:29 2010 */ -#line 1 "Zend/zend_language_scanner.l" +/* Generated by re2c 0.13.5 on Wed Jan 5 17:41:40 2011 */ /* +----------------------------------------------------------------------+ | Zend Engine | @@ -23,7 +22,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend_language_scanner.c 300871 2010-06-30 02:45:10Z felipe $ */ +/* $Id: zend_language_scanner.l 305464 2010-11-17 16:46:19Z pajoye $ */ #if 0 # define YYDEBUG(s, c) printf("state: %d char: %c\n", s, c) @@ -286,6 +285,10 @@ ZEND_API int open_file_for_scanning(zend_file_handle *file_handle TSRMLS_DC) SCNG(script_filtered_size) = SCNG(script_org_size); } else { SCNG(input_filter)(&SCNG(script_filtered), &SCNG(script_filtered_size), SCNG(script_org), SCNG(script_org_size) TSRMLS_CC); + if (SCNG(script_filtered) == NULL) { + zend_error_noreturn(E_COMPILE_ERROR, "Could not convert the script from the detected " + "encoding \"%s\" to a compatible encoding", LANG_SCNG(script_encoding)->name); + } } SCNG(yy_start) = SCNG(script_filtered) - offset; yy_scan_buffer((char *)SCNG(script_filtered), SCNG(script_filtered_size) TSRMLS_CC); @@ -846,7 +849,6 @@ restart: yymore_restart: -#line 850 "Zend/zend_language_scanner.c" { YYCTYPE yych; unsigned int yyaccept = 0; @@ -945,7 +947,6 @@ yyc_INITIAL: yy3: YYDEBUG(3, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1574 "Zend/zend_language_scanner.l" { if (YYCURSOR > YYLIMIT) { return 0; @@ -1010,7 +1011,6 @@ inline_html: HANDLE_NEWLINES(yytext, yyleng); return T_INLINE_HTML; } -#line 1014 "Zend/zend_language_scanner.c" yy4: YYDEBUG(4, *YYCURSOR); yych = *++YYCURSOR; @@ -1028,7 +1028,6 @@ yy5: yy6: YYDEBUG(6, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1562 "Zend/zend_language_scanner.l" { if (CG(short_tags)) { zendlval->value.str.val = yytext; /* no copying - intentional */ @@ -1040,14 +1039,12 @@ yy6: goto inline_char_handler; } } -#line 1044 "Zend/zend_language_scanner.c" yy7: YYDEBUG(7, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) == '=') goto yy43; YYDEBUG(8, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1539 "Zend/zend_language_scanner.l" { if (CG(asp_tags)) { zendlval->value.str.val = yytext; /* no copying - intentional */ @@ -1059,7 +1056,6 @@ yy7: goto inline_char_handler; } } -#line 1063 "Zend/zend_language_scanner.c" yy9: YYDEBUG(9, *YYCURSOR); yych = *++YYCURSOR; @@ -1245,7 +1241,6 @@ yy35: ++YYCURSOR; YYDEBUG(38, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1495 "Zend/zend_language_scanner.l" { YYCTYPE *bracket = zend_memrchr(yytext, '<', yyleng - (sizeof("script language=php>") - 1)); @@ -1262,7 +1257,6 @@ yy35: BEGIN(ST_IN_SCRIPTING); return T_OPEN_TAG; } -#line 1266 "Zend/zend_language_scanner.c" yy39: YYDEBUG(39, *YYCURSOR); yych = *++YYCURSOR; @@ -1289,7 +1283,6 @@ yy43: ++YYCURSOR; YYDEBUG(44, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1513 "Zend/zend_language_scanner.l" { if (CG(asp_tags)) { zendlval->value.str.val = yytext; /* no copying - intentional */ @@ -1301,13 +1294,11 @@ yy43: goto inline_char_handler; } } -#line 1305 "Zend/zend_language_scanner.c" yy45: YYDEBUG(45, *YYCURSOR); ++YYCURSOR; YYDEBUG(46, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1526 "Zend/zend_language_scanner.l" { if (CG(short_tags)) { zendlval->value.str.val = yytext; /* no copying - intentional */ @@ -1319,7 +1310,6 @@ yy45: goto inline_char_handler; } } -#line 1323 "Zend/zend_language_scanner.c" yy47: YYDEBUG(47, *YYCURSOR); yych = *++YYCURSOR; @@ -1346,7 +1336,6 @@ yy50: yy51: YYDEBUG(51, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1552 "Zend/zend_language_scanner.l" { zendlval->value.str.val = yytext; /* no copying - intentional */ zendlval->value.str.len = yyleng; @@ -1355,7 +1344,6 @@ yy51: BEGIN(ST_IN_SCRIPTING); return T_OPEN_TAG; } -#line 1359 "Zend/zend_language_scanner.c" yy52: YYDEBUG(52, *YYCURSOR); ++YYCURSOR; @@ -1426,7 +1414,6 @@ yyc_ST_BACKQUOTE: yy56: YYDEBUG(56, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2032 "Zend/zend_language_scanner.l" { if (YYCURSOR > YYLIMIT) { return 0; @@ -1467,7 +1454,6 @@ yy56: zend_scan_escape_string(zendlval, yytext, yyleng, '`' TSRMLS_CC); return T_ENCAPSED_AND_WHITESPACE; } -#line 1471 "Zend/zend_language_scanner.c" yy57: YYDEBUG(57, *YYCURSOR); yych = *++YYCURSOR; @@ -1478,12 +1464,10 @@ yy58: ++YYCURSOR; YYDEBUG(59, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1976 "Zend/zend_language_scanner.l" { BEGIN(ST_IN_SCRIPTING); return '`'; } -#line 1487 "Zend/zend_language_scanner.c" yy60: YYDEBUG(60, *YYCURSOR); yych = *++YYCURSOR; @@ -1493,14 +1477,12 @@ yy61: ++YYCURSOR; YYDEBUG(62, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1963 "Zend/zend_language_scanner.l" { zendlval->value.lval = (long) '{'; yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); yyless(1); return T_CURLY_OPEN; } -#line 1504 "Zend/zend_language_scanner.c" yy63: YYDEBUG(63, *YYCURSOR); yyaccept = 0; @@ -1516,24 +1498,20 @@ yy63: yy65: YYDEBUG(65, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1661 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); zendlval->type = IS_STRING; return T_VARIABLE; } -#line 1526 "Zend/zend_language_scanner.c" yy66: YYDEBUG(66, *YYCURSOR); ++YYCURSOR; YYDEBUG(67, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1288 "Zend/zend_language_scanner.l" { yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC); return T_DOLLAR_OPEN_CURLY_BRACES; } -#line 1537 "Zend/zend_language_scanner.c" yy68: YYDEBUG(68, *YYCURSOR); yych = *++YYCURSOR; @@ -1547,7 +1525,6 @@ yy70: ++YYCURSOR; YYDEBUG(71, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1653 "Zend/zend_language_scanner.l" { yyless(yyleng - 1); yy_push_state(ST_VAR_OFFSET TSRMLS_CC); @@ -1555,7 +1532,6 @@ yy70: zendlval->type = IS_STRING; return T_VARIABLE; } -#line 1559 "Zend/zend_language_scanner.c" yy72: YYDEBUG(72, *YYCURSOR); yych = *++YYCURSOR; @@ -1573,7 +1549,6 @@ yy73: ++YYCURSOR; YYDEBUG(74, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1643 "Zend/zend_language_scanner.l" { yyless(yyleng - 3); yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC); @@ -1581,7 +1556,6 @@ yy73: zendlval->type = IS_STRING; return T_VARIABLE; } -#line 1585 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_DOUBLE_QUOTES: @@ -1649,7 +1623,6 @@ yy77: yy78: YYDEBUG(78, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1982 "Zend/zend_language_scanner.l" { if (GET_DOUBLE_QUOTES_SCANNED_LENGTH()) { YYCURSOR += GET_DOUBLE_QUOTES_SCANNED_LENGTH() - 1; @@ -1698,7 +1671,6 @@ double_quotes_scan_done: zend_scan_escape_string(zendlval, yytext, yyleng, '"' TSRMLS_CC); return T_ENCAPSED_AND_WHITESPACE; } -#line 1702 "Zend/zend_language_scanner.c" yy79: YYDEBUG(79, *YYCURSOR); yych = *++YYCURSOR; @@ -1709,12 +1681,10 @@ yy80: ++YYCURSOR; YYDEBUG(81, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1971 "Zend/zend_language_scanner.l" { BEGIN(ST_IN_SCRIPTING); return '"'; } -#line 1718 "Zend/zend_language_scanner.c" yy82: YYDEBUG(82, *YYCURSOR); yych = *++YYCURSOR; @@ -1724,14 +1694,12 @@ yy83: ++YYCURSOR; YYDEBUG(84, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1963 "Zend/zend_language_scanner.l" { zendlval->value.lval = (long) '{'; yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); yyless(1); return T_CURLY_OPEN; } -#line 1735 "Zend/zend_language_scanner.c" yy85: YYDEBUG(85, *YYCURSOR); yyaccept = 0; @@ -1747,24 +1715,20 @@ yy85: yy87: YYDEBUG(87, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1661 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); zendlval->type = IS_STRING; return T_VARIABLE; } -#line 1757 "Zend/zend_language_scanner.c" yy88: YYDEBUG(88, *YYCURSOR); ++YYCURSOR; YYDEBUG(89, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1288 "Zend/zend_language_scanner.l" { yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC); return T_DOLLAR_OPEN_CURLY_BRACES; } -#line 1768 "Zend/zend_language_scanner.c" yy90: YYDEBUG(90, *YYCURSOR); yych = *++YYCURSOR; @@ -1778,7 +1742,6 @@ yy92: ++YYCURSOR; YYDEBUG(93, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1653 "Zend/zend_language_scanner.l" { yyless(yyleng - 1); yy_push_state(ST_VAR_OFFSET TSRMLS_CC); @@ -1786,7 +1749,6 @@ yy92: zendlval->type = IS_STRING; return T_VARIABLE; } -#line 1790 "Zend/zend_language_scanner.c" yy94: YYDEBUG(94, *YYCURSOR); yych = *++YYCURSOR; @@ -1804,7 +1766,6 @@ yy95: ++YYCURSOR; YYDEBUG(96, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1643 "Zend/zend_language_scanner.l" { yyless(yyleng - 3); yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC); @@ -1812,7 +1773,6 @@ yy95: zendlval->type = IS_STRING; return T_VARIABLE; } -#line 1816 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_END_HEREDOC: @@ -1823,7 +1783,6 @@ yyc_ST_END_HEREDOC: ++YYCURSOR; YYDEBUG(100, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1950 "Zend/zend_language_scanner.l" { YYCURSOR += CG(heredoc_len) - 1; yyleng = CG(heredoc_len); @@ -1835,7 +1794,6 @@ yyc_ST_END_HEREDOC: BEGIN(ST_IN_SCRIPTING); return T_END_HEREDOC; } -#line 1839 "Zend/zend_language_scanner.c" /* *********************************** */ yyc_ST_HEREDOC: { @@ -1897,7 +1855,6 @@ yy103: yy104: YYDEBUG(104, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2074 "Zend/zend_language_scanner.l" { int newline = 0; @@ -1968,7 +1925,6 @@ heredoc_scan_done: zend_scan_escape_string(zendlval, yytext, yyleng - newline, 0 TSRMLS_CC); return T_ENCAPSED_AND_WHITESPACE; } -#line 1972 "Zend/zend_language_scanner.c" yy105: YYDEBUG(105, *YYCURSOR); yych = *++YYCURSOR; @@ -1983,14 +1939,12 @@ yy107: ++YYCURSOR; YYDEBUG(108, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1963 "Zend/zend_language_scanner.l" { zendlval->value.lval = (long) '{'; yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); yyless(1); return T_CURLY_OPEN; } -#line 1994 "Zend/zend_language_scanner.c" yy109: YYDEBUG(109, *YYCURSOR); yyaccept = 0; @@ -2006,24 +1960,20 @@ yy109: yy111: YYDEBUG(111, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1661 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); zendlval->type = IS_STRING; return T_VARIABLE; } -#line 2016 "Zend/zend_language_scanner.c" yy112: YYDEBUG(112, *YYCURSOR); ++YYCURSOR; YYDEBUG(113, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1288 "Zend/zend_language_scanner.l" { yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC); return T_DOLLAR_OPEN_CURLY_BRACES; } -#line 2027 "Zend/zend_language_scanner.c" yy114: YYDEBUG(114, *YYCURSOR); yych = *++YYCURSOR; @@ -2037,7 +1987,6 @@ yy116: ++YYCURSOR; YYDEBUG(117, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1653 "Zend/zend_language_scanner.l" { yyless(yyleng - 1); yy_push_state(ST_VAR_OFFSET TSRMLS_CC); @@ -2045,7 +1994,6 @@ yy116: zendlval->type = IS_STRING; return T_VARIABLE; } -#line 2049 "Zend/zend_language_scanner.c" yy118: YYDEBUG(118, *YYCURSOR); yych = *++YYCURSOR; @@ -2063,7 +2011,6 @@ yy119: ++YYCURSOR; YYDEBUG(120, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1643 "Zend/zend_language_scanner.l" { yyless(yyleng - 3); yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC); @@ -2071,7 +2018,6 @@ yy119: zendlval->type = IS_STRING; return T_VARIABLE; } -#line 2075 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_IN_SCRIPTING: @@ -2252,13 +2198,11 @@ yy123: yy124: YYDEBUG(124, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1684 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, yytext, yyleng); zendlval->type = IS_STRING; return T_STRING; } -#line 2262 "Zend/zend_language_scanner.c" yy125: YYDEBUG(125, *YYCURSOR); yych = *++YYCURSOR; @@ -2484,11 +2428,9 @@ yy137: yy138: YYDEBUG(138, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1277 "Zend/zend_language_scanner.l" { return yytext[0]; } -#line 2492 "Zend/zend_language_scanner.c" yy139: YYDEBUG(139, *YYCURSOR); ++YYCURSOR; @@ -2497,7 +2439,6 @@ yy139: yy140: YYDEBUG(140, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1012 "Zend/zend_language_scanner.l" { zendlval->value.str.val = yytext; /* no copying - intentional */ zendlval->value.str.len = yyleng; @@ -2505,7 +2446,6 @@ yy140: HANDLE_NEWLINES(yytext, yyleng); return T_WHITESPACE; } -#line 2509 "Zend/zend_language_scanner.c" yy141: YYDEBUG(141, *YYCURSOR); yych = *++YYCURSOR; @@ -2516,11 +2456,9 @@ yy142: ++YYCURSOR; YYDEBUG(143, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1041 "Zend/zend_language_scanner.l" { return T_NS_SEPARATOR; } -#line 2524 "Zend/zend_language_scanner.c" yy144: YYDEBUG(144, *YYCURSOR); yych = *++YYCURSOR; @@ -2748,18 +2686,15 @@ yy167: ++YYCURSOR; YYDEBUG(168, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1282 "Zend/zend_language_scanner.l" { yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); return '{'; } -#line 2757 "Zend/zend_language_scanner.c" yy169: YYDEBUG(169, *YYCURSOR); ++YYCURSOR; YYDEBUG(170, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1294 "Zend/zend_language_scanner.l" { RESET_DOC_COMMENT(); if (!zend_stack_is_empty(&SCNG(state_stack))) { @@ -2767,7 +2702,6 @@ yy169: } return '}'; } -#line 2771 "Zend/zend_language_scanner.c" yy171: YYDEBUG(171, *YYCURSOR); yyaccept = 2; @@ -2790,7 +2724,6 @@ yy171: yy172: YYDEBUG(172, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1320 "Zend/zend_language_scanner.l" { if (yyleng < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */ zendlval->value.lval = strtol(yytext, NULL, 0); @@ -2811,7 +2744,6 @@ yy172: zendlval->type = IS_LONG; return T_LNUMBER; } -#line 2815 "Zend/zend_language_scanner.c" yy173: YYDEBUG(173, *YYCURSOR); yyaccept = 2; @@ -2839,7 +2771,6 @@ yy175: yy176: YYDEBUG(176, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1691 "Zend/zend_language_scanner.l" { while (YYCURSOR < YYLIMIT) { switch (*YYCURSOR++) { @@ -2873,14 +2804,12 @@ yy176: return T_COMMENT; } -#line 2877 "Zend/zend_language_scanner.c" yy177: YYDEBUG(177, *YYCURSOR); ++YYCURSOR; yy178: YYDEBUG(178, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1782 "Zend/zend_language_scanner.l" { register char *s, *t; char *end; @@ -2950,14 +2879,12 @@ yy178: #endif /* ZEND_MULTIBYTE */ return T_CONSTANT_ENCAPSED_STRING; } -#line 2954 "Zend/zend_language_scanner.c" yy179: YYDEBUG(179, *YYCURSOR); ++YYCURSOR; yy180: YYDEBUG(180, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1853 "Zend/zend_language_scanner.l" { int bprefix = (yytext[0] != '"') ? 1 : 0; @@ -2998,24 +2925,20 @@ yy180: BEGIN(ST_DOUBLE_QUOTES); return '"'; } -#line 3002 "Zend/zend_language_scanner.c" yy181: YYDEBUG(181, *YYCURSOR); ++YYCURSOR; YYDEBUG(182, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1944 "Zend/zend_language_scanner.l" { BEGIN(ST_BACKQUOTE); return '`'; } -#line 3013 "Zend/zend_language_scanner.c" yy183: YYDEBUG(183, *YYCURSOR); ++YYCURSOR; YYDEBUG(184, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2202 "Zend/zend_language_scanner.l" { if (YYCURSOR > YYLIMIT) { return 0; @@ -3024,7 +2947,6 @@ yy183: zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE); goto restart; } -#line 3028 "Zend/zend_language_scanner.c" yy185: YYDEBUG(185, *YYCURSOR); ++YYCURSOR; @@ -3051,13 +2973,11 @@ yy187: yy189: YYDEBUG(189, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1381 "Zend/zend_language_scanner.l" { zendlval->value.dval = zend_strtod(yytext, NULL); zendlval->type = IS_DOUBLE; return T_DNUMBER; } -#line 3061 "Zend/zend_language_scanner.c" yy190: YYDEBUG(190, *YYCURSOR); yyaccept = 2; @@ -3142,7 +3062,6 @@ yy198: } YYDEBUG(200, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1341 "Zend/zend_language_scanner.l" { char *hex = yytext + 2; /* Skip "0x" */ int len = yyleng - 2; @@ -3163,7 +3082,6 @@ yy198: return T_DNUMBER; } } -#line 3167 "Zend/zend_language_scanner.c" yy201: YYDEBUG(201, *YYCURSOR); ++YYCURSOR; @@ -3172,7 +3090,6 @@ yy201: yy202: YYDEBUG(202, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1759 "Zend/zend_language_scanner.l" { zendlval->value.str.val = yytext; /* no copying - intentional */ zendlval->value.str.len = yyleng; @@ -3180,7 +3097,6 @@ yy202: BEGIN(INITIAL); return T_CLOSE_TAG; /* implicit ';' at php-end tag */ } -#line 3184 "Zend/zend_language_scanner.c" yy203: YYDEBUG(203, *YYCURSOR); yych = *++YYCURSOR; @@ -3214,13 +3130,11 @@ yy205: yy207: YYDEBUG(207, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1661 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); zendlval->type = IS_STRING; return T_VARIABLE; } -#line 3224 "Zend/zend_language_scanner.c" yy208: YYDEBUG(208, *YYCURSOR); yych = *++YYCURSOR; @@ -3234,11 +3148,9 @@ yy209: } YYDEBUG(210, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1265 "Zend/zend_language_scanner.l" { return T_LOGICAL_XOR; } -#line 3242 "Zend/zend_language_scanner.c" yy211: YYDEBUG(211, *YYCURSOR); ++YYCURSOR; @@ -3247,61 +3159,49 @@ yy211: } YYDEBUG(212, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1257 "Zend/zend_language_scanner.l" { return T_LOGICAL_OR; } -#line 3255 "Zend/zend_language_scanner.c" yy213: YYDEBUG(213, *YYCURSOR); ++YYCURSOR; YYDEBUG(214, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1245 "Zend/zend_language_scanner.l" { return T_XOR_EQUAL; } -#line 3265 "Zend/zend_language_scanner.c" yy215: YYDEBUG(215, *YYCURSOR); ++YYCURSOR; YYDEBUG(216, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1249 "Zend/zend_language_scanner.l" { return T_BOOLEAN_OR; } -#line 3275 "Zend/zend_language_scanner.c" yy217: YYDEBUG(217, *YYCURSOR); ++YYCURSOR; YYDEBUG(218, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1241 "Zend/zend_language_scanner.l" { return T_OR_EQUAL; } -#line 3285 "Zend/zend_language_scanner.c" yy219: YYDEBUG(219, *YYCURSOR); ++YYCURSOR; YYDEBUG(220, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1253 "Zend/zend_language_scanner.l" { return T_BOOLEAN_AND; } -#line 3295 "Zend/zend_language_scanner.c" yy221: YYDEBUG(221, *YYCURSOR); ++YYCURSOR; YYDEBUG(222, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1237 "Zend/zend_language_scanner.l" { return T_AND_EQUAL; } -#line 3305 "Zend/zend_language_scanner.c" yy223: YYDEBUG(223, *YYCURSOR); ++YYCURSOR; @@ -3310,7 +3210,6 @@ yy223: yy224: YYDEBUG(224, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1768 "Zend/zend_language_scanner.l" { if (CG(asp_tags)) { BEGIN(INITIAL); @@ -3323,17 +3222,14 @@ yy224: return yytext[0]; } } -#line 3327 "Zend/zend_language_scanner.c" yy225: YYDEBUG(225, *YYCURSOR); ++YYCURSOR; YYDEBUG(226, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1225 "Zend/zend_language_scanner.l" { return T_MOD_EQUAL; } -#line 3337 "Zend/zend_language_scanner.c" yy227: YYDEBUG(227, *YYCURSOR); yych = *++YYCURSOR; @@ -3364,11 +3260,9 @@ yy231: ++YYCURSOR; YYDEBUG(232, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1221 "Zend/zend_language_scanner.l" { return T_CONCAT_EQUAL; } -#line 3372 "Zend/zend_language_scanner.c" yy233: YYDEBUG(233, *YYCURSOR); yyaccept = 4; @@ -3377,7 +3271,6 @@ yy233: yy234: YYDEBUG(234, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1725 "Zend/zend_language_scanner.l" { int doc_com; @@ -3411,7 +3304,6 @@ yy234: return T_COMMENT; } -#line 3415 "Zend/zend_language_scanner.c" yy235: YYDEBUG(235, *YYCURSOR); yych = *++YYCURSOR; @@ -3421,11 +3313,9 @@ yy236: ++YYCURSOR; YYDEBUG(237, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1217 "Zend/zend_language_scanner.l" { return T_DIV_EQUAL; } -#line 3429 "Zend/zend_language_scanner.c" yy238: YYDEBUG(238, *YYCURSOR); yych = *++YYCURSOR; @@ -3448,42 +3338,34 @@ yy241: ++YYCURSOR; YYDEBUG(242, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1213 "Zend/zend_language_scanner.l" { return T_MUL_EQUAL; } -#line 3456 "Zend/zend_language_scanner.c" yy243: YYDEBUG(243, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) == '=') goto yy247; YYDEBUG(244, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1273 "Zend/zend_language_scanner.l" { return T_SR; } -#line 3467 "Zend/zend_language_scanner.c" yy245: YYDEBUG(245, *YYCURSOR); ++YYCURSOR; YYDEBUG(246, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1201 "Zend/zend_language_scanner.l" { return T_IS_GREATER_OR_EQUAL; } -#line 3477 "Zend/zend_language_scanner.c" yy247: YYDEBUG(247, *YYCURSOR); ++YYCURSOR; YYDEBUG(248, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1233 "Zend/zend_language_scanner.l" { return T_SR_EQUAL; } -#line 3487 "Zend/zend_language_scanner.c" yy249: YYDEBUG(249, *YYCURSOR); yyaccept = 5; @@ -3494,11 +3376,9 @@ yy249: yy250: YYDEBUG(250, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1269 "Zend/zend_language_scanner.l" { return T_SL; } -#line 3502 "Zend/zend_language_scanner.c" yy251: YYDEBUG(251, *YYCURSOR); yych = *++YYCURSOR; @@ -3510,22 +3390,18 @@ yy252: ++YYCURSOR; YYDEBUG(253, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1197 "Zend/zend_language_scanner.l" { return T_IS_SMALLER_OR_EQUAL; } -#line 3518 "Zend/zend_language_scanner.c" yy254: YYDEBUG(254, *YYCURSOR); ++YYCURSOR; yy255: YYDEBUG(255, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1193 "Zend/zend_language_scanner.l" { return T_IS_NOT_EQUAL; } -#line 3529 "Zend/zend_language_scanner.c" yy256: YYDEBUG(256, *YYCURSOR); yych = *++YYCURSOR; @@ -3576,11 +3452,9 @@ yy263: ++YYCURSOR; YYDEBUG(264, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1229 "Zend/zend_language_scanner.l" { return T_SL_EQUAL; } -#line 3584 "Zend/zend_language_scanner.c" yy265: YYDEBUG(265, *YYCURSOR); ++YYCURSOR; @@ -3685,7 +3559,6 @@ yy274: yy275: YYDEBUG(275, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1895 "Zend/zend_language_scanner.l" { char *s; int bprefix = (yytext[0] != '<') ? 1 : 0; @@ -3733,7 +3606,6 @@ yy275: return T_START_HEREDOC; } -#line 3737 "Zend/zend_language_scanner.c" yy276: YYDEBUG(276, *YYCURSOR); yych = *++YYCURSOR; @@ -3773,31 +3645,25 @@ yy279: ++YYCURSOR; YYDEBUG(281, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1185 "Zend/zend_language_scanner.l" { return T_IS_NOT_IDENTICAL; } -#line 3781 "Zend/zend_language_scanner.c" yy282: YYDEBUG(282, *YYCURSOR); ++YYCURSOR; YYDEBUG(283, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1205 "Zend/zend_language_scanner.l" { return T_PLUS_EQUAL; } -#line 3791 "Zend/zend_language_scanner.c" yy284: YYDEBUG(284, *YYCURSOR); ++YYCURSOR; YYDEBUG(285, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1173 "Zend/zend_language_scanner.l" { return T_INC; } -#line 3801 "Zend/zend_language_scanner.c" yy286: YYDEBUG(286, *YYCURSOR); yych = *++YYCURSOR; @@ -3816,42 +3682,34 @@ yy288: } YYDEBUG(289, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1165 "Zend/zend_language_scanner.l" { return T_LIST; } -#line 3824 "Zend/zend_language_scanner.c" yy290: YYDEBUG(290, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) == '=') goto yy294; YYDEBUG(291, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1189 "Zend/zend_language_scanner.l" { return T_IS_EQUAL; } -#line 3835 "Zend/zend_language_scanner.c" yy292: YYDEBUG(292, *YYCURSOR); ++YYCURSOR; YYDEBUG(293, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1161 "Zend/zend_language_scanner.l" { return T_DOUBLE_ARROW; } -#line 3845 "Zend/zend_language_scanner.c" yy294: YYDEBUG(294, *YYCURSOR); ++YYCURSOR; YYDEBUG(295, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1181 "Zend/zend_language_scanner.l" { return T_IS_IDENTICAL; } -#line 3855 "Zend/zend_language_scanner.c" yy296: YYDEBUG(296, *YYCURSOR); yych = *++YYCURSOR; @@ -3973,7 +3831,6 @@ yy311: } YYDEBUG(314, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1485 "Zend/zend_language_scanner.l" { if (CG(current_namespace)) { *zendlval = *CG(current_namespace); @@ -3983,7 +3840,6 @@ yy311: } return T_NS_C; } -#line 3987 "Zend/zend_language_scanner.c" yy315: YYDEBUG(315, *YYCURSOR); yych = *++YYCURSOR; @@ -4003,7 +3859,6 @@ yy316: } YYDEBUG(319, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1458 "Zend/zend_language_scanner.l" { char *filename = zend_get_compiled_filename(TSRMLS_C); const size_t filename_len = strlen(filename); @@ -4030,7 +3885,6 @@ yy316: zendlval->type = IS_STRING; return T_DIR; } -#line 4034 "Zend/zend_language_scanner.c" yy320: YYDEBUG(320, *YYCURSOR); yych = *++YYCURSOR; @@ -4055,13 +3909,11 @@ yy322: } YYDEBUG(325, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1440 "Zend/zend_language_scanner.l" { zendlval->value.lval = CG(zend_lineno); zendlval->type = IS_LONG; return T_LINE; } -#line 4065 "Zend/zend_language_scanner.c" yy326: YYDEBUG(326, *YYCURSOR); yych = *++YYCURSOR; @@ -4096,7 +3948,6 @@ yy330: } YYDEBUG(333, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1419 "Zend/zend_language_scanner.l" { char *class_name = CG(active_class_entry) ? CG(active_class_entry)->name : NULL; char *func_name = CG(active_op_array)? CG(active_op_array)->function_name : NULL; @@ -4117,7 +3968,6 @@ yy330: zendlval->type = IS_STRING; return T_METHOD_C; } -#line 4121 "Zend/zend_language_scanner.c" yy334: YYDEBUG(334, *YYCURSOR); yych = *++YYCURSOR; @@ -4168,7 +4018,6 @@ yy341: } YYDEBUG(344, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1403 "Zend/zend_language_scanner.l" { char *func_name = NULL; @@ -4184,7 +4033,6 @@ yy341: zendlval->type = IS_STRING; return T_FUNC_C; } -#line 4188 "Zend/zend_language_scanner.c" yy345: YYDEBUG(345, *YYCURSOR); yych = *++YYCURSOR; @@ -4204,7 +4052,6 @@ yy346: } YYDEBUG(349, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1446 "Zend/zend_language_scanner.l" { char *filename = zend_get_compiled_filename(TSRMLS_C); @@ -4216,7 +4063,6 @@ yy346: zendlval->type = IS_STRING; return T_FILE; } -#line 4220 "Zend/zend_language_scanner.c" yy350: YYDEBUG(350, *YYCURSOR); yych = *++YYCURSOR; @@ -4246,7 +4092,6 @@ yy353: } YYDEBUG(356, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1387 "Zend/zend_language_scanner.l" { char *class_name = NULL; @@ -4262,7 +4107,6 @@ yy353: zendlval->type = IS_STRING; return T_CLASS_C; } -#line 4266 "Zend/zend_language_scanner.c" yy357: YYDEBUG(357, *YYCURSOR); yych = *++YYCURSOR; @@ -4324,11 +4168,9 @@ yy368: } YYDEBUG(369, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1129 "Zend/zend_language_scanner.l" { return T_HALT_COMPILER; } -#line 4332 "Zend/zend_language_scanner.c" yy370: YYDEBUG(370, *YYCURSOR); yych = *++YYCURSOR; @@ -4348,11 +4190,9 @@ yy372: } YYDEBUG(373, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1113 "Zend/zend_language_scanner.l" { return T_USE; } -#line 4356 "Zend/zend_language_scanner.c" yy374: YYDEBUG(374, *YYCURSOR); yych = *++YYCURSOR; @@ -4371,11 +4211,9 @@ yy376: } YYDEBUG(377, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1157 "Zend/zend_language_scanner.l" { return T_UNSET; } -#line 4379 "Zend/zend_language_scanner.c" yy378: YYDEBUG(378, *YYCURSOR); ++YYCURSOR; @@ -4547,11 +4385,9 @@ yy393: ++YYCURSOR; YYDEBUG(395, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1057 "Zend/zend_language_scanner.l" { return T_INT_CAST; } -#line 4555 "Zend/zend_language_scanner.c" yy396: YYDEBUG(396, *YYCURSOR); yych = *++YYCURSOR; @@ -4595,11 +4431,9 @@ yy401: ++YYCURSOR; YYDEBUG(404, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1061 "Zend/zend_language_scanner.l" { return T_DOUBLE_CAST; } -#line 4603 "Zend/zend_language_scanner.c" yy405: YYDEBUG(405, *YYCURSOR); yych = *++YYCURSOR; @@ -4669,11 +4503,9 @@ yy415: ++YYCURSOR; YYDEBUG(418, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1065 "Zend/zend_language_scanner.l" { return T_STRING_CAST; } -#line 4677 "Zend/zend_language_scanner.c" yy419: YYDEBUG(419, *YYCURSOR); yych = *++YYCURSOR; @@ -4706,11 +4538,9 @@ yy422: ++YYCURSOR; YYDEBUG(425, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1073 "Zend/zend_language_scanner.l" { return T_ARRAY_CAST; } -#line 4714 "Zend/zend_language_scanner.c" yy426: YYDEBUG(426, *YYCURSOR); yych = *++YYCURSOR; @@ -4748,11 +4578,9 @@ yy430: ++YYCURSOR; YYDEBUG(433, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1077 "Zend/zend_language_scanner.l" { return T_OBJECT_CAST; } -#line 4756 "Zend/zend_language_scanner.c" yy434: YYDEBUG(434, *YYCURSOR); yych = *++YYCURSOR; @@ -4793,11 +4621,9 @@ yy439: ++YYCURSOR; YYDEBUG(441, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1081 "Zend/zend_language_scanner.l" { return T_BOOL_CAST; } -#line 4801 "Zend/zend_language_scanner.c" yy442: YYDEBUG(442, *YYCURSOR); yych = *++YYCURSOR; @@ -4841,11 +4667,9 @@ yy447: ++YYCURSOR; YYDEBUG(450, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1069 "Zend/zend_language_scanner.l" { return T_STRING_CAST; } -#line 4849 "Zend/zend_language_scanner.c" yy451: YYDEBUG(451, *YYCURSOR); yych = *++YYCURSOR; @@ -4878,11 +4702,9 @@ yy454: ++YYCURSOR; YYDEBUG(457, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1085 "Zend/zend_language_scanner.l" { return T_UNSET_CAST; } -#line 4886 "Zend/zend_language_scanner.c" yy458: YYDEBUG(458, *YYCURSOR); yych = *++YYCURSOR; @@ -4896,11 +4718,9 @@ yy459: } YYDEBUG(460, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1053 "Zend/zend_language_scanner.l" { return T_VAR; } -#line 4904 "Zend/zend_language_scanner.c" yy461: YYDEBUG(461, *YYCURSOR); yych = *++YYCURSOR; @@ -4920,11 +4740,9 @@ yy463: } YYDEBUG(464, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1045 "Zend/zend_language_scanner.l" { return T_NEW; } -#line 4928 "Zend/zend_language_scanner.c" yy465: YYDEBUG(465, *YYCURSOR); yych = *++YYCURSOR; @@ -4963,21 +4781,17 @@ yy471: } YYDEBUG(472, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1109 "Zend/zend_language_scanner.l" { return T_NAMESPACE; } -#line 4971 "Zend/zend_language_scanner.c" yy473: YYDEBUG(473, *YYCURSOR); ++YYCURSOR; YYDEBUG(474, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1037 "Zend/zend_language_scanner.l" { return T_PAAMAYIM_NEKUDOTAYIM; } -#line 4981 "Zend/zend_language_scanner.c" yy475: YYDEBUG(475, *YYCURSOR); ++YYCURSOR; @@ -4999,32 +4813,26 @@ yy477: ++YYCURSOR; YYDEBUG(478, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1209 "Zend/zend_language_scanner.l" { return T_MINUS_EQUAL; } -#line 5007 "Zend/zend_language_scanner.c" yy479: YYDEBUG(479, *YYCURSOR); ++YYCURSOR; YYDEBUG(480, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1177 "Zend/zend_language_scanner.l" { return T_DEC; } -#line 5017 "Zend/zend_language_scanner.c" yy481: YYDEBUG(481, *YYCURSOR); ++YYCURSOR; YYDEBUG(482, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1007 "Zend/zend_language_scanner.l" { yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC); return T_OBJECT_OPERATOR; } -#line 5028 "Zend/zend_language_scanner.c" yy483: YYDEBUG(483, *YYCURSOR); yych = *++YYCURSOR; @@ -5069,11 +4877,9 @@ yy488: } YYDEBUG(489, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1153 "Zend/zend_language_scanner.l" { return T_PUBLIC; } -#line 5077 "Zend/zend_language_scanner.c" yy490: YYDEBUG(490, *YYCURSOR); yych = *++YYCURSOR; @@ -5128,11 +4934,9 @@ yy497: } YYDEBUG(498, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1149 "Zend/zend_language_scanner.l" { return T_PROTECTED; } -#line 5136 "Zend/zend_language_scanner.c" yy499: YYDEBUG(499, *YYCURSOR); yych = *++YYCURSOR; @@ -5162,11 +4966,9 @@ yy503: } YYDEBUG(504, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1145 "Zend/zend_language_scanner.l" { return T_PRIVATE; } -#line 5170 "Zend/zend_language_scanner.c" yy505: YYDEBUG(505, *YYCURSOR); ++YYCURSOR; @@ -5175,11 +4977,9 @@ yy505: } YYDEBUG(506, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 987 "Zend/zend_language_scanner.l" { return T_PRINT; } -#line 5183 "Zend/zend_language_scanner.c" yy507: YYDEBUG(507, *YYCURSOR); yych = *++YYCURSOR; @@ -5204,11 +5004,9 @@ yy510: } YYDEBUG(511, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 979 "Zend/zend_language_scanner.l" { return T_GOTO; } -#line 5212 "Zend/zend_language_scanner.c" yy512: YYDEBUG(512, *YYCURSOR); yych = *++YYCURSOR; @@ -5232,11 +5030,9 @@ yy515: } YYDEBUG(516, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1117 "Zend/zend_language_scanner.l" { return T_GLOBAL; } -#line 5240 "Zend/zend_language_scanner.c" yy517: YYDEBUG(517, *YYCURSOR); yych = *++YYCURSOR; @@ -5273,11 +5069,9 @@ yy523: } YYDEBUG(524, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 971 "Zend/zend_language_scanner.l" { return T_BREAK; } -#line 5281 "Zend/zend_language_scanner.c" yy525: YYDEBUG(525, *YYCURSOR); yych = *++YYCURSOR; @@ -5317,11 +5111,9 @@ yy531: } YYDEBUG(532, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 955 "Zend/zend_language_scanner.l" { return T_SWITCH; } -#line 5325 "Zend/zend_language_scanner.c" yy533: YYDEBUG(533, *YYCURSOR); yych = *++YYCURSOR; @@ -5345,11 +5137,9 @@ yy536: } YYDEBUG(537, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1133 "Zend/zend_language_scanner.l" { return T_STATIC; } -#line 5353 "Zend/zend_language_scanner.c" yy538: YYDEBUG(538, *YYCURSOR); yych = *++YYCURSOR; @@ -5376,11 +5166,9 @@ yy541: } YYDEBUG(542, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 951 "Zend/zend_language_scanner.l" { return T_AS; } -#line 5384 "Zend/zend_language_scanner.c" yy543: YYDEBUG(543, *YYCURSOR); yych = *++YYCURSOR; @@ -5399,11 +5187,9 @@ yy545: } YYDEBUG(546, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1169 "Zend/zend_language_scanner.l" { return T_ARRAY; } -#line 5407 "Zend/zend_language_scanner.c" yy547: YYDEBUG(547, *YYCURSOR); ++YYCURSOR; @@ -5412,11 +5198,9 @@ yy547: } YYDEBUG(548, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1261 "Zend/zend_language_scanner.l" { return T_LOGICAL_AND; } -#line 5420 "Zend/zend_language_scanner.c" yy549: YYDEBUG(549, *YYCURSOR); yych = *++YYCURSOR; @@ -5450,11 +5234,9 @@ yy554: } YYDEBUG(555, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1137 "Zend/zend_language_scanner.l" { return T_ABSTRACT; } -#line 5458 "Zend/zend_language_scanner.c" yy556: YYDEBUG(556, *YYCURSOR); yych = *++YYCURSOR; @@ -5478,11 +5260,9 @@ yy559: } YYDEBUG(560, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 911 "Zend/zend_language_scanner.l" { return T_WHILE; } -#line 5486 "Zend/zend_language_scanner.c" yy561: YYDEBUG(561, *YYCURSOR); ++YYCURSOR; @@ -5491,11 +5271,9 @@ yy561: } YYDEBUG(562, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 895 "Zend/zend_language_scanner.l" { return T_IF; } -#line 5499 "Zend/zend_language_scanner.c" yy563: YYDEBUG(563, *YYCURSOR); yych = *++YYCURSOR; @@ -5547,11 +5325,9 @@ yy568: } YYDEBUG(569, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1121 "Zend/zend_language_scanner.l" { return T_ISSET; } -#line 5555 "Zend/zend_language_scanner.c" yy570: YYDEBUG(570, *YYCURSOR); yych = *++YYCURSOR; @@ -5605,11 +5381,9 @@ yy576: yy577: YYDEBUG(577, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1093 "Zend/zend_language_scanner.l" { return T_INCLUDE; } -#line 5613 "Zend/zend_language_scanner.c" yy578: YYDEBUG(578, *YYCURSOR); yych = *++YYCURSOR; @@ -5638,11 +5412,9 @@ yy582: } YYDEBUG(583, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1097 "Zend/zend_language_scanner.l" { return T_INCLUDE_ONCE; } -#line 5646 "Zend/zend_language_scanner.c" yy584: YYDEBUG(584, *YYCURSOR); yych = *++YYCURSOR; @@ -5676,11 +5448,9 @@ yy589: } YYDEBUG(590, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 995 "Zend/zend_language_scanner.l" { return T_INTERFACE; } -#line 5684 "Zend/zend_language_scanner.c" yy591: YYDEBUG(591, *YYCURSOR); yych = *++YYCURSOR; @@ -5719,11 +5489,9 @@ yy597: } YYDEBUG(598, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 947 "Zend/zend_language_scanner.l" { return T_INSTANCEOF; } -#line 5727 "Zend/zend_language_scanner.c" yy599: YYDEBUG(599, *YYCURSOR); yych = *++YYCURSOR; @@ -5767,11 +5535,9 @@ yy606: } YYDEBUG(607, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1003 "Zend/zend_language_scanner.l" { return T_IMPLEMENTS; } -#line 5775 "Zend/zend_language_scanner.c" yy608: YYDEBUG(608, *YYCURSOR); yych = *++YYCURSOR; @@ -5791,11 +5557,9 @@ yy610: } YYDEBUG(611, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 883 "Zend/zend_language_scanner.l" { return T_TRY; } -#line 5799 "Zend/zend_language_scanner.c" yy612: YYDEBUG(612, *YYCURSOR); yych = *++YYCURSOR; @@ -5814,11 +5578,9 @@ yy614: } YYDEBUG(615, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 891 "Zend/zend_language_scanner.l" { return T_THROW; } -#line 5822 "Zend/zend_language_scanner.c" yy616: YYDEBUG(616, *YYCURSOR); yych = *++YYCURSOR; @@ -5879,11 +5641,9 @@ yy622: yy623: YYDEBUG(623, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1101 "Zend/zend_language_scanner.l" { return T_REQUIRE; } -#line 5887 "Zend/zend_language_scanner.c" yy624: YYDEBUG(624, *YYCURSOR); yych = *++YYCURSOR; @@ -5912,11 +5672,9 @@ yy628: } YYDEBUG(629, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1105 "Zend/zend_language_scanner.l" { return T_REQUIRE_ONCE; } -#line 5920 "Zend/zend_language_scanner.c" yy630: YYDEBUG(630, *YYCURSOR); yych = *++YYCURSOR; @@ -5935,11 +5693,9 @@ yy632: } YYDEBUG(633, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 879 "Zend/zend_language_scanner.l" { return T_RETURN; } -#line 5943 "Zend/zend_language_scanner.c" yy634: YYDEBUG(634, *YYCURSOR); yych = *++YYCURSOR; @@ -6020,11 +5776,9 @@ yy643: } YYDEBUG(644, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 975 "Zend/zend_language_scanner.l" { return T_CONTINUE; } -#line 6028 "Zend/zend_language_scanner.c" yy645: YYDEBUG(645, *YYCURSOR); ++YYCURSOR; @@ -6033,11 +5787,9 @@ yy645: } YYDEBUG(646, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 875 "Zend/zend_language_scanner.l" { return T_CONST; } -#line 6041 "Zend/zend_language_scanner.c" yy647: YYDEBUG(647, *YYCURSOR); yych = *++YYCURSOR; @@ -6062,11 +5814,9 @@ yy650: } YYDEBUG(651, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1049 "Zend/zend_language_scanner.l" { return T_CLONE; } -#line 6070 "Zend/zend_language_scanner.c" yy652: YYDEBUG(652, *YYCURSOR); yych = *++YYCURSOR; @@ -6080,11 +5830,9 @@ yy653: } YYDEBUG(654, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 991 "Zend/zend_language_scanner.l" { return T_CLASS; } -#line 6088 "Zend/zend_language_scanner.c" yy655: YYDEBUG(655, *YYCURSOR); yych = *++YYCURSOR; @@ -6104,11 +5852,9 @@ yy657: } YYDEBUG(658, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 963 "Zend/zend_language_scanner.l" { return T_CASE; } -#line 6112 "Zend/zend_language_scanner.c" yy659: YYDEBUG(659, *YYCURSOR); yych = *++YYCURSOR; @@ -6122,11 +5868,9 @@ yy660: } YYDEBUG(661, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 887 "Zend/zend_language_scanner.l" { return T_CATCH; } -#line 6130 "Zend/zend_language_scanner.c" yy662: YYDEBUG(662, *YYCURSOR); yych = *++YYCURSOR; @@ -6177,11 +5921,9 @@ yy670: } YYDEBUG(671, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 871 "Zend/zend_language_scanner.l" { return T_FUNCTION; } -#line 6185 "Zend/zend_language_scanner.c" yy672: YYDEBUG(672, *YYCURSOR); ++YYCURSOR; @@ -6205,11 +5947,9 @@ yy672: yy673: YYDEBUG(673, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 923 "Zend/zend_language_scanner.l" { return T_FOR; } -#line 6213 "Zend/zend_language_scanner.c" yy674: YYDEBUG(674, *YYCURSOR); yych = *++YYCURSOR; @@ -6233,11 +5973,9 @@ yy677: } YYDEBUG(678, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 931 "Zend/zend_language_scanner.l" { return T_FOREACH; } -#line 6241 "Zend/zend_language_scanner.c" yy679: YYDEBUG(679, *YYCURSOR); yych = *++YYCURSOR; @@ -6256,11 +5994,9 @@ yy681: } YYDEBUG(682, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1141 "Zend/zend_language_scanner.l" { return T_FINAL; } -#line 6264 "Zend/zend_language_scanner.c" yy683: YYDEBUG(683, *YYCURSOR); yych = *++YYCURSOR; @@ -6291,11 +6027,9 @@ yy685: } YYDEBUG(686, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 919 "Zend/zend_language_scanner.l" { return T_DO; } -#line 6299 "Zend/zend_language_scanner.c" yy687: YYDEBUG(687, *YYCURSOR); ++YYCURSOR; @@ -6304,11 +6038,9 @@ yy687: } YYDEBUG(688, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 867 "Zend/zend_language_scanner.l" { return T_EXIT; } -#line 6312 "Zend/zend_language_scanner.c" yy689: YYDEBUG(689, *YYCURSOR); yych = *++YYCURSOR; @@ -6343,11 +6075,9 @@ yy694: } YYDEBUG(695, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 967 "Zend/zend_language_scanner.l" { return T_DEFAULT; } -#line 6351 "Zend/zend_language_scanner.c" yy696: YYDEBUG(696, *YYCURSOR); yych = *++YYCURSOR; @@ -6371,11 +6101,9 @@ yy699: } YYDEBUG(700, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 939 "Zend/zend_language_scanner.l" { return T_DECLARE; } -#line 6379 "Zend/zend_language_scanner.c" yy701: YYDEBUG(701, *YYCURSOR); yych = *++YYCURSOR; @@ -6455,11 +6183,9 @@ yy712: } YYDEBUG(713, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 999 "Zend/zend_language_scanner.l" { return T_EXTENDS; } -#line 6463 "Zend/zend_language_scanner.c" yy714: YYDEBUG(714, *YYCURSOR); ++YYCURSOR; @@ -6468,11 +6194,9 @@ yy714: } YYDEBUG(715, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 863 "Zend/zend_language_scanner.l" { return T_EXIT; } -#line 6476 "Zend/zend_language_scanner.c" yy716: YYDEBUG(716, *YYCURSOR); yych = *++YYCURSOR; @@ -6486,11 +6210,9 @@ yy717: } YYDEBUG(718, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1089 "Zend/zend_language_scanner.l" { return T_EVAL; } -#line 6494 "Zend/zend_language_scanner.c" yy719: YYDEBUG(719, *YYCURSOR); yych = *++YYCURSOR; @@ -6560,11 +6282,9 @@ yy728: } YYDEBUG(729, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 915 "Zend/zend_language_scanner.l" { return T_ENDWHILE; } -#line 6568 "Zend/zend_language_scanner.c" yy730: YYDEBUG(730, *YYCURSOR); yych = *++YYCURSOR; @@ -6593,11 +6313,9 @@ yy734: } YYDEBUG(735, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 959 "Zend/zend_language_scanner.l" { return T_ENDSWITCH; } -#line 6601 "Zend/zend_language_scanner.c" yy736: YYDEBUG(736, *YYCURSOR); ++YYCURSOR; @@ -6606,11 +6324,9 @@ yy736: } YYDEBUG(737, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 903 "Zend/zend_language_scanner.l" { return T_ENDIF; } -#line 6614 "Zend/zend_language_scanner.c" yy738: YYDEBUG(738, *YYCURSOR); yych = *++YYCURSOR; @@ -6639,11 +6355,9 @@ yy739: yy740: YYDEBUG(740, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 927 "Zend/zend_language_scanner.l" { return T_ENDFOR; } -#line 6647 "Zend/zend_language_scanner.c" yy741: YYDEBUG(741, *YYCURSOR); yych = *++YYCURSOR; @@ -6667,11 +6381,9 @@ yy744: } YYDEBUG(745, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 935 "Zend/zend_language_scanner.l" { return T_ENDFOREACH; } -#line 6675 "Zend/zend_language_scanner.c" yy746: YYDEBUG(746, *YYCURSOR); yych = *++YYCURSOR; @@ -6705,11 +6417,9 @@ yy751: } YYDEBUG(752, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 943 "Zend/zend_language_scanner.l" { return T_ENDDECLARE; } -#line 6713 "Zend/zend_language_scanner.c" yy753: YYDEBUG(753, *YYCURSOR); yych = *++YYCURSOR; @@ -6728,11 +6438,9 @@ yy755: } YYDEBUG(756, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1125 "Zend/zend_language_scanner.l" { return T_EMPTY; } -#line 6736 "Zend/zend_language_scanner.c" yy757: YYDEBUG(757, *YYCURSOR); yych = *++YYCURSOR; @@ -6761,11 +6469,9 @@ yy758: yy759: YYDEBUG(759, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 907 "Zend/zend_language_scanner.l" { return T_ELSE; } -#line 6769 "Zend/zend_language_scanner.c" yy760: YYDEBUG(760, *YYCURSOR); yych = *++YYCURSOR; @@ -6779,11 +6485,9 @@ yy761: } YYDEBUG(762, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 899 "Zend/zend_language_scanner.l" { return T_ELSEIF; } -#line 6787 "Zend/zend_language_scanner.c" yy763: YYDEBUG(763, *YYCURSOR); yych = *++YYCURSOR; @@ -6797,11 +6501,9 @@ yy764: } YYDEBUG(765, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 983 "Zend/zend_language_scanner.l" { return T_ECHO; } -#line 6805 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_LOOKING_FOR_PROPERTY: @@ -6874,7 +6576,6 @@ yy768: yy769: YYDEBUG(769, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1012 "Zend/zend_language_scanner.l" { zendlval->value.str.val = yytext; /* no copying - intentional */ zendlval->value.str.len = yyleng; @@ -6882,7 +6583,6 @@ yy769: HANDLE_NEWLINES(yytext, yyleng); return T_WHITESPACE; } -#line 6886 "Zend/zend_language_scanner.c" yy770: YYDEBUG(770, *YYCURSOR); ++YYCURSOR; @@ -6890,13 +6590,11 @@ yy770: yy771: YYDEBUG(771, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1031 "Zend/zend_language_scanner.l" { yyless(0); yy_pop_state(TSRMLS_C); goto restart; } -#line 6900 "Zend/zend_language_scanner.c" yy772: YYDEBUG(772, *YYCURSOR); ++YYCURSOR; @@ -6905,14 +6603,12 @@ yy772: yy773: YYDEBUG(773, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1024 "Zend/zend_language_scanner.l" { yy_pop_state(TSRMLS_C); zend_copy_value(zendlval, yytext, yyleng); zendlval->type = IS_STRING; return T_STRING; } -#line 6916 "Zend/zend_language_scanner.c" yy774: YYDEBUG(774, *YYCURSOR); yych = *++YYCURSOR; @@ -6933,11 +6629,9 @@ yy777: ++YYCURSOR; YYDEBUG(778, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1020 "Zend/zend_language_scanner.l" { return T_OBJECT_OPERATOR; } -#line 6941 "Zend/zend_language_scanner.c" yy779: YYDEBUG(779, *YYCURSOR); ++YYCURSOR; @@ -7007,7 +6701,6 @@ yy783: yy784: YYDEBUG(784, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1303 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, yytext, yyleng); zendlval->type = IS_STRING; @@ -7015,20 +6708,17 @@ yy784: yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); return T_STRING_VARNAME; } -#line 7019 "Zend/zend_language_scanner.c" yy785: YYDEBUG(785, *YYCURSOR); ++YYCURSOR; YYDEBUG(786, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1312 "Zend/zend_language_scanner.l" { yyless(0); yy_pop_state(TSRMLS_C); yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); goto restart; } -#line 7032 "Zend/zend_language_scanner.c" yy787: YYDEBUG(787, *YYCURSOR); ++YYCURSOR; @@ -7050,7 +6740,6 @@ yyc_ST_NOWDOC: ++YYCURSOR; YYDEBUG(792, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2146 "Zend/zend_language_scanner.l" { int newline = 0; @@ -7105,7 +6794,6 @@ nowdoc_scan_done: HANDLE_NEWLINES(yytext, yyleng - newline); return T_ENCAPSED_AND_WHITESPACE; } -#line 7109 "Zend/zend_language_scanner.c" /* *********************************** */ yyc_ST_VAR_OFFSET: { @@ -7205,7 +6893,6 @@ yy795: yy796: YYDEBUG(796, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1362 "Zend/zend_language_scanner.l" { /* Offset could be treated as a long */ if (yyleng < MAX_LENGTH_OF_LONG - 1 || (yyleng == MAX_LENGTH_OF_LONG - 1 && strcmp(yytext, long_min_digits) < 0)) { zendlval->value.lval = strtol(yytext, NULL, 10); @@ -7217,7 +6904,6 @@ yy796: } return T_NUM_STRING; } -#line 7221 "Zend/zend_language_scanner.c" yy797: YYDEBUG(797, *YYCURSOR); yych = *++YYCURSOR; @@ -7237,23 +6923,19 @@ yy798: yy799: YYDEBUG(799, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1672 "Zend/zend_language_scanner.l" { /* Only '[' can be valid, but returning other tokens will allow a more explicit parse error */ return yytext[0]; } -#line 7246 "Zend/zend_language_scanner.c" yy800: YYDEBUG(800, *YYCURSOR); ++YYCURSOR; YYDEBUG(801, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1667 "Zend/zend_language_scanner.l" { yy_pop_state(TSRMLS_C); return ']'; } -#line 7257 "Zend/zend_language_scanner.c" yy802: YYDEBUG(802, *YYCURSOR); yych = *++YYCURSOR; @@ -7263,14 +6945,12 @@ yy803: ++YYCURSOR; YYDEBUG(804, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1677 "Zend/zend_language_scanner.l" { /* Invalid rule to return a more explicit parse error with proper line number */ yyless(0); yy_pop_state(TSRMLS_C); return T_ENCAPSED_AND_WHITESPACE; } -#line 7274 "Zend/zend_language_scanner.c" yy805: YYDEBUG(805, *YYCURSOR); ++YYCURSOR; @@ -7279,19 +6959,16 @@ yy805: yy806: YYDEBUG(806, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1684 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, yytext, yyleng); zendlval->type = IS_STRING; return T_STRING; } -#line 7289 "Zend/zend_language_scanner.c" yy807: YYDEBUG(807, *YYCURSOR); ++YYCURSOR; YYDEBUG(808, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2202 "Zend/zend_language_scanner.l" { if (YYCURSOR > YYLIMIT) { return 0; @@ -7300,7 +6977,6 @@ yy807: zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE); goto restart; } -#line 7304 "Zend/zend_language_scanner.c" yy809: YYDEBUG(809, *YYCURSOR); ++YYCURSOR; @@ -7336,13 +7012,11 @@ yy811: yy813: YYDEBUG(813, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1661 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); zendlval->type = IS_STRING; return T_VARIABLE; } -#line 7346 "Zend/zend_language_scanner.c" yy814: YYDEBUG(814, *YYCURSOR); ++YYCURSOR; @@ -7374,14 +7048,12 @@ yy818: yy820: YYDEBUG(820, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1374 "Zend/zend_language_scanner.l" { /* Offset must be treated as a string */ zendlval->value.str.val = (char *)estrndup(yytext, yyleng); zendlval->value.str.len = yyleng; zendlval->type = IS_STRING; return T_NUM_STRING; } -#line 7385 "Zend/zend_language_scanner.c" yy821: YYDEBUG(821, *YYCURSOR); ++YYCURSOR; @@ -7394,6 +7066,5 @@ yy821: goto yy820; } } -#line 2211 "Zend/zend_language_scanner.l" } diff --git a/Zend/zend_language_scanner.l b/Zend/zend_language_scanner.l index 3be8ed172..5252a65f7 100644 --- a/Zend/zend_language_scanner.l +++ b/Zend/zend_language_scanner.l @@ -21,7 +21,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend_language_scanner.l 300871 2010-06-30 02:45:10Z felipe $ */ +/* $Id: zend_language_scanner.l 305464 2010-11-17 16:46:19Z pajoye $ */ #if 0 # define YYDEBUG(s, c) printf("state: %d char: %c\n", s, c) @@ -284,6 +284,10 @@ ZEND_API int open_file_for_scanning(zend_file_handle *file_handle TSRMLS_DC) SCNG(script_filtered_size) = SCNG(script_org_size); } else { SCNG(input_filter)(&SCNG(script_filtered), &SCNG(script_filtered_size), SCNG(script_org), SCNG(script_org_size) TSRMLS_CC); + if (SCNG(script_filtered) == NULL) { + zend_error_noreturn(E_COMPILE_ERROR, "Could not convert the script from the detected " + "encoding \"%s\" to a compatible encoding", LANG_SCNG(script_encoding)->name); + } } SCNG(yy_start) = SCNG(script_filtered) - offset; yy_scan_buffer((char *)SCNG(script_filtered), SCNG(script_filtered_size) TSRMLS_CC); diff --git a/Zend/zend_language_scanner_defs.h b/Zend/zend_language_scanner_defs.h index 55b23d6cd..17956ff40 100644 --- a/Zend/zend_language_scanner_defs.h +++ b/Zend/zend_language_scanner_defs.h @@ -1,5 +1,4 @@ -/* Generated by re2c 0.13.5 on Tue Jun 29 08:18:52 2010 */ -#line 3 "Zend/zend_language_scanner_defs.h" +/* Generated by re2c 0.13.5 on Wed Jan 5 17:41:40 2011 */ enum YYCONDTYPE { yycST_IN_SCRIPTING, diff --git a/Zend/zend_object_handlers.c b/Zend/zend_object_handlers.c index c7f5fbcf2..bf42923dc 100644 --- a/Zend/zend_object_handlers.c +++ b/Zend/zend_object_handlers.c @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend_object_handlers.c 300407 2010-06-12 15:30:21Z felipe $ */ +/* $Id: zend_object_handlers.c 305043 2010-11-03 01:35:26Z felipe $ */ #include "zend.h" #include "zend_globals.h" @@ -340,13 +340,16 @@ zval *zend_std_read_property(zval *object, zval *member, int type TSRMLS_DC) /* property_info = zend_get_property_info(zobj->ce, member, (zobj->ce->__get != NULL) TSRMLS_CC); if (!property_info || zend_hash_quick_find(zobj->properties, property_info->name, property_info->name_length+1, property_info->h, (void **) &retval) == FAILURE) { - zend_guard *guard; + zend_guard *guard = NULL; if (zobj->ce->__get && zend_get_property_guard(zobj, property_info, member, &guard) == SUCCESS && !guard->in_get) { /* have getter - try with it! */ Z_ADDREF_P(object); + if (PZVAL_IS_REF(object)) { + SEPARATE_ZVAL(&object); + } guard->in_get = 1; /* prevent circular getting */ rv = zend_std_call_getter(object, member TSRMLS_CC); guard->in_get = 0; @@ -373,6 +376,15 @@ zval *zend_std_read_property(zval *object, zval *member, int type TSRMLS_DC) /* } zval_ptr_dtor(&object); } else { + if (zobj->ce->__get && guard && guard->in_get == 1) { + if (Z_STRVAL_P(member)[0] == '\0') { + if (Z_STRLEN_P(member) == 0) { + zend_error(E_ERROR, "Cannot access empty property"); + } else { + zend_error(E_ERROR, "Cannot access property started with '\\0'"); + } + } + } if (!silent) { zend_error(E_NOTICE,"Undefined property: %s::$%s", zobj->ce->name, Z_STRVAL_P(member)); } @@ -436,22 +448,22 @@ static void zend_std_write_property(zval *object, zval *member, zval *value TSRM } } } else { - int setter_done = 0; - zend_guard *guard; + zend_guard *guard = NULL; if (zobj->ce->__set && zend_get_property_guard(zobj, property_info, member, &guard) == SUCCESS && !guard->in_set) { Z_ADDREF_P(object); + if (PZVAL_IS_REF(object)) { + SEPARATE_ZVAL(&object); + } guard->in_set = 1; /* prevent circular setting */ if (zend_std_call_setter(object, member, value TSRMLS_CC) != SUCCESS) { /* for now, just ignore it - __set should take care of warnings, etc. */ } - setter_done = 1; guard->in_set = 0; zval_ptr_dtor(&object); - } - if (!setter_done && property_info) { + } else if (property_info) { zval **foo; /* if we assign referenced variable, we should separate it */ @@ -460,6 +472,14 @@ static void zend_std_write_property(zval *object, zval *member, zval *value TSRM SEPARATE_ZVAL(&value); } zend_hash_quick_update(zobj->properties, property_info->name, property_info->name_length+1, property_info->h, &value, sizeof(zval *), (void **) &foo); + } else if (zobj->ce->__set && guard && guard->in_set == 1) { + if (Z_STRVAL_P(member)[0] == '\0') { + if (Z_STRLEN_P(member) == 0) { + zend_error(E_ERROR, "Cannot access empty property"); + } else { + zend_error(E_ERROR, "Cannot access property started with '\\0'"); + } + } } } @@ -619,17 +639,28 @@ static void zend_std_unset_property(zval *object, zval *member TSRMLS_DC) /* {{{ property_info = zend_get_property_info(zobj->ce, member, (zobj->ce->__unset != NULL) TSRMLS_CC); if (!property_info || zend_hash_quick_del(zobj->properties, property_info->name, property_info->name_length+1, property_info->h) == FAILURE) { - zend_guard *guard; + zend_guard *guard = NULL; if (zobj->ce->__unset && zend_get_property_guard(zobj, property_info, member, &guard) == SUCCESS && !guard->in_unset) { /* have unseter - try with it! */ Z_ADDREF_P(object); + if (PZVAL_IS_REF(object)) { + SEPARATE_ZVAL(&object); + } guard->in_unset = 1; /* prevent circular unsetting */ zend_std_call_unsetter(object, member TSRMLS_CC); guard->in_unset = 0; zval_ptr_dtor(&object); + } else if (zobj->ce->__unset && guard && guard->in_unset == 1) { + if (Z_STRVAL_P(member)[0] == '\0') { + if (Z_STRLEN_P(member) == 0) { + zend_error(E_ERROR, "Cannot access empty property"); + } else { + zend_error(E_ERROR, "Cannot access property started with '\\0'"); + } + } } } @@ -953,13 +984,13 @@ ZEND_API zend_function *zend_std_get_static_method(zend_class_entry *ce, char *f if (!fbc && zend_hash_find(&ce->function_table, lc_function_name, function_name_strlen+1, (void **) &fbc)==FAILURE) { efree(lc_function_name); - if (ce->__callstatic) { - return zend_get_user_callstatic_function(ce, function_name_strval, function_name_strlen); - } else if (ce->__call && + if (ce->__call && EG(This) && Z_OBJ_HT_P(EG(This))->get_class_entry && instanceof_function(Z_OBJCE_P(EG(This)), ce TSRMLS_CC)) { return zend_get_user_call_function(ce, function_name_strval, function_name_strlen); + } else if (ce->__callstatic) { + return zend_get_user_callstatic_function(ce, function_name_strval, function_name_strlen); } else { return NULL; } @@ -1144,6 +1175,9 @@ static int zend_std_has_property(zval *object, zval *member, int has_set_exists /* have issetter - try with it! */ Z_ADDREF_P(object); + if (PZVAL_IS_REF(object)) { + SEPARATE_ZVAL(&object); + } guard->in_isset = 1; /* prevent circular getting */ rv = zend_std_call_issetter(object, member TSRMLS_CC); if (rv) { diff --git a/Zend/zend_objects.c b/Zend/zend_objects.c index da36efca8..bf2511488 100644 --- a/Zend/zend_objects.c +++ b/Zend/zend_objects.c @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend_objects.c 299254 2010-05-11 16:09:43Z dmitry $ */ +/* $Id: zend_objects.c 302323 2010-08-16 09:20:46Z dmitry $ */ #include "zend.h" #include "zend_globals.h" @@ -106,15 +106,13 @@ ZEND_API void zend_objects_destroy_object(zend_object *object, zend_object_handl zend_error(E_ERROR, "Attempt to destruct pending exception"); } else { old_exception = EG(exception); - Z_ADDREF_P(old_exception); + EG(exception) = NULL; } } - zend_exception_save(TSRMLS_C); zend_call_method_with_0_params(&obj, object->ce, &destructor, ZEND_DESTRUCTOR_FUNC_NAME, NULL); - zend_exception_restore(TSRMLS_C); if (old_exception) { if (EG(exception)) { - zval_ptr_dtor(&old_exception); + zend_exception_set_previous(EG(exception), old_exception TSRMLS_CC); } else { EG(exception) = old_exception; } @@ -148,7 +146,7 @@ ZEND_API zend_object *zend_objects_get_address(const zval *zobject TSRMLS_DC) ZEND_API void zend_objects_clone_members(zend_object *new_object, zend_object_value new_obj_val, zend_object *old_object, zend_object_handle handle TSRMLS_DC) { - zend_hash_copy(new_object->properties, old_object->properties, (copy_ctor_func_t) zval_add_ref, (void *) NULL /* Not used anymore */, sizeof(zval *)); + zend_hash_copy(new_object->properties, old_object->properties, zval_copy_property_ctor(old_object->ce), (void *) NULL /* Not used anymore */, sizeof(zval *)); if (old_object->ce->clone) { zval *new_obj; diff --git a/Zend/zend_strtod.c b/Zend/zend_strtod.c index c3a86c676..7bcc98dde 100644 --- a/Zend/zend_strtod.c +++ b/Zend/zend_strtod.c @@ -89,7 +89,7 @@ * directly -- and assumed always to succeed. */ -/* $Id: zend_strtod.c 277398 2009-03-18 10:18:10Z dmitry $ */ +/* $Id: zend_strtod.c 307119 2011-01-05 13:32:26Z johannes $ */ #include <zend_operators.h> #include <zend_strtod.h> @@ -2035,7 +2035,7 @@ ZEND_API double zend_strtod (CONST char *s00, char **se) int bb2, bb5, bbe, bd2, bd5, bbbits, bs2, c, dsign, e, e1, esign, i, j, k, nd, nd0, nf, nz, nz0, sign; CONST char *s, *s0, *s1; - double aadj, aadj1, adj; + volatile double aadj, aadj1, adj; volatile _double rv, rv0; Long L; ULong y, z; diff --git a/Zend/zend_variables.c b/Zend/zend_variables.c index 76f184fbb..32a0a02f4 100644 --- a/Zend/zend_variables.c +++ b/Zend/zend_variables.c @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend_variables.c 293400 2010-01-11 10:07:10Z dmitry $ */ +/* $Id: zend_variables.c 302137 2010-08-12 07:58:14Z sas $ */ #include <stdio.h> #include "zend.h" @@ -159,6 +159,17 @@ ZEND_API void _zval_dtor_wrapper(zval *zvalue) zval_dtor(zvalue); } +ZEND_API void zval_property_ctor(zval **p) /* {{{ */ +{ + zval *orig_ptr = *p; + + ALLOC_ZVAL(*p); + **p = *orig_ptr; + zval_copy_ctor(*p); + Z_SET_REFCOUNT_PP(p, 1); + Z_UNSET_ISREF_PP(p); +} +/* }}} */ #if ZEND_DEBUG ZEND_API void _zval_copy_ctor_wrapper(zval *zvalue) diff --git a/Zend/zend_variables.h b/Zend/zend_variables.h index 9a7bbee2a..9eb7f52a1 100644 --- a/Zend/zend_variables.h +++ b/Zend/zend_variables.h @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend_variables.h 293400 2010-01-11 10:07:10Z dmitry $ */ +/* $Id: zend_variables.h 302152 2010-08-12 17:28:08Z sas $ */ #ifndef ZEND_VARIABLES_H #define ZEND_VARIABLES_H @@ -76,6 +76,17 @@ ZEND_API void _zval_internal_ptr_dtor_wrapper(zval **zvalue); ZEND_API void zval_add_ref(zval **p); +ZEND_API void zval_property_ctor(zval **); + +#ifdef ZTS +# define zval_shared_property_ctor zval_property_ctor +#else +# define zval_shared_property_ctor zval_add_ref +#endif + +#define zval_copy_property_ctor(ce) ((copy_ctor_func_t) (((ce)->type == ZEND_INTERNAL_CLASS) ? zval_shared_property_ctor : zval_add_ref)) + + END_EXTERN_C() #define ZVAL_DESTRUCTOR (void (*)(void *)) zval_dtor_wrapper diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h index 76a785c4b..4c6598cad 100644 --- a/Zend/zend_vm_execute.h +++ b/Zend/zend_vm_execute.h @@ -1880,6 +1880,16 @@ static int ZEND_FASTCALL ZEND_INCLUDE_OR_EVAL_SPEC_CONST_HANDLER(ZEND_OPCODE_HA return_value_used = RETURN_VALUE_USED(opline); + if (Z_LVAL(opline->op2.u.constant) != ZEND_EVAL && strlen(Z_STRVAL_P(inc_filename)) != Z_STRLEN_P(inc_filename)) { + if (Z_LVAL(opline->op2.u.constant)==ZEND_INCLUDE_ONCE || + Z_LVAL(opline->op2.u.constant)==ZEND_INCLUDE) { + zend_message_dispatcher(ZMSG_FAILED_INCLUDE_FOPEN, Z_STRVAL_P(inc_filename) TSRMLS_CC); + } else { + zend_message_dispatcher(ZMSG_FAILED_REQUIRE_FOPEN, Z_STRVAL_P(inc_filename) TSRMLS_CC); + } + goto done; + } + switch (Z_LVAL(opline->op2.u.constant)) { case ZEND_INCLUDE_ONCE: case ZEND_REQUIRE_ONCE: { @@ -1933,6 +1943,7 @@ static int ZEND_FASTCALL ZEND_INCLUDE_OR_EVAL_SPEC_CONST_HANDLER(ZEND_OPCODE_HA break; EMPTY_SWITCH_DEFAULT_CASE() } +done: if (inc_filename==&tmp_inc_filename) { zval_dtor(&tmp_inc_filename); } @@ -5154,6 +5165,16 @@ static int ZEND_FASTCALL ZEND_INCLUDE_OR_EVAL_SPEC_TMP_HANDLER(ZEND_OPCODE_HAND return_value_used = RETURN_VALUE_USED(opline); + if (Z_LVAL(opline->op2.u.constant) != ZEND_EVAL && strlen(Z_STRVAL_P(inc_filename)) != Z_STRLEN_P(inc_filename)) { + if (Z_LVAL(opline->op2.u.constant)==ZEND_INCLUDE_ONCE || + Z_LVAL(opline->op2.u.constant)==ZEND_INCLUDE) { + zend_message_dispatcher(ZMSG_FAILED_INCLUDE_FOPEN, Z_STRVAL_P(inc_filename) TSRMLS_CC); + } else { + zend_message_dispatcher(ZMSG_FAILED_REQUIRE_FOPEN, Z_STRVAL_P(inc_filename) TSRMLS_CC); + } + goto done; + } + switch (Z_LVAL(opline->op2.u.constant)) { case ZEND_INCLUDE_ONCE: case ZEND_REQUIRE_ONCE: { @@ -5207,6 +5228,7 @@ static int ZEND_FASTCALL ZEND_INCLUDE_OR_EVAL_SPEC_TMP_HANDLER(ZEND_OPCODE_HAND break; EMPTY_SWITCH_DEFAULT_CASE() } +done: if (inc_filename==&tmp_inc_filename) { zval_dtor(&tmp_inc_filename); } @@ -8524,6 +8546,16 @@ static int ZEND_FASTCALL ZEND_INCLUDE_OR_EVAL_SPEC_VAR_HANDLER(ZEND_OPCODE_HAND return_value_used = RETURN_VALUE_USED(opline); + if (Z_LVAL(opline->op2.u.constant) != ZEND_EVAL && strlen(Z_STRVAL_P(inc_filename)) != Z_STRLEN_P(inc_filename)) { + if (Z_LVAL(opline->op2.u.constant)==ZEND_INCLUDE_ONCE || + Z_LVAL(opline->op2.u.constant)==ZEND_INCLUDE) { + zend_message_dispatcher(ZMSG_FAILED_INCLUDE_FOPEN, Z_STRVAL_P(inc_filename) TSRMLS_CC); + } else { + zend_message_dispatcher(ZMSG_FAILED_REQUIRE_FOPEN, Z_STRVAL_P(inc_filename) TSRMLS_CC); + } + goto done; + } + switch (Z_LVAL(opline->op2.u.constant)) { case ZEND_INCLUDE_ONCE: case ZEND_REQUIRE_ONCE: { @@ -8577,6 +8609,7 @@ static int ZEND_FASTCALL ZEND_INCLUDE_OR_EVAL_SPEC_VAR_HANDLER(ZEND_OPCODE_HAND break; EMPTY_SWITCH_DEFAULT_CASE() } +done: if (inc_filename==&tmp_inc_filename) { zval_dtor(&tmp_inc_filename); } @@ -22387,6 +22420,16 @@ static int ZEND_FASTCALL ZEND_INCLUDE_OR_EVAL_SPEC_CV_HANDLER(ZEND_OPCODE_HANDL return_value_used = RETURN_VALUE_USED(opline); + if (Z_LVAL(opline->op2.u.constant) != ZEND_EVAL && strlen(Z_STRVAL_P(inc_filename)) != Z_STRLEN_P(inc_filename)) { + if (Z_LVAL(opline->op2.u.constant)==ZEND_INCLUDE_ONCE || + Z_LVAL(opline->op2.u.constant)==ZEND_INCLUDE) { + zend_message_dispatcher(ZMSG_FAILED_INCLUDE_FOPEN, Z_STRVAL_P(inc_filename) TSRMLS_CC); + } else { + zend_message_dispatcher(ZMSG_FAILED_REQUIRE_FOPEN, Z_STRVAL_P(inc_filename) TSRMLS_CC); + } + goto done; + } + switch (Z_LVAL(opline->op2.u.constant)) { case ZEND_INCLUDE_ONCE: case ZEND_REQUIRE_ONCE: { @@ -22440,6 +22483,7 @@ static int ZEND_FASTCALL ZEND_INCLUDE_OR_EVAL_SPEC_CV_HANDLER(ZEND_OPCODE_HANDL break; EMPTY_SWITCH_DEFAULT_CASE() } +done: if (inc_filename==&tmp_inc_filename) { zval_dtor(&tmp_inc_filename); } |