Merge lp:~legolas/ubuntu/natty/php5/5.3.5 into lp:ubuntu/natty/php5
- Natty (11.04)
- 5.3.5
- Merge into natty
Proposed by
Stas Verberkt
Status: | Rejected | ||||
---|---|---|---|---|---|
Rejected by: | James Westby | ||||
Proposed branch: | lp:~legolas/ubuntu/natty/php5/5.3.5 | ||||
Merge into: | lp:ubuntu/natty/php5 | ||||
Diff against target: |
125436 lines (+46026/-23883) 660 files modified
INSTALL (+24/-12) LICENSE (+1/-1) Makefile.global (+1/-0) NEWS (+359/-3) TSRM/tsrm_virtual_cwd.c (+214/-87) TSRM/tsrm_virtual_cwd.h (+14/-10) UPGRADING (+14/-1) UPGRADING.INTERNALS (+23/-0) Zend/acinclude.m4 (+2/-2) Zend/tests/bug45180.phpt (+4/-4) Zend/tests/bug45186.phpt (+4/-4) Zend/tests/bug51176.phpt (+3/-3) Zend/tests/bug52361.phpt (+35/-0) Zend/tests/bug52484.phpt (+19/-0) Zend/tests/bug52484_2.phpt (+19/-0) Zend/tests/bug52484_3.phpt (+19/-0) Zend/tests/bug52508.phpt (+20/-0) Zend/tests/bug52879.phpt (+16/-0) Zend/tests/bug52939.phpt (+40/-0) Zend/tests/bug53305.phpt (+19/-0) Zend/tests/bug53632.phpt (+10/-0) Zend/tests/call_static_003.phpt (+2/-2) Zend/tests/call_static_007.phpt (+1/-1) Zend/tests/declare_001.phpt (+6/-0) Zend/tests/gc_032.phpt (+40/-0) Zend/tests/objects_032.phpt (+40/-0) Zend/tests/unset_cv05.phpt (+1/-1) Zend/tests/unset_cv06.phpt (+1/-1) Zend/zend_API.c (+2/-2) Zend/zend_compile.c (+12/-5) Zend/zend_constants.c (+11/-3) Zend/zend_exceptions.c (+7/-6) Zend/zend_execute.c (+2/-2) Zend/zend_execute_API.c (+3/-2) Zend/zend_gc.c (+26/-22) Zend/zend_hash.c (+4/-1) Zend/zend_hash.h (+5/-5) Zend/zend_ini_scanner.c (+1767/-1759) Zend/zend_ini_scanner.l (+2/-2) Zend/zend_ini_scanner_defs.h (+1/-1) Zend/zend_language_scanner.c (+6/-335) Zend/zend_language_scanner.l (+5/-1) Zend/zend_language_scanner_defs.h (+1/-2) Zend/zend_object_handlers.c (+45/-11) Zend/zend_objects.c (+4/-6) Zend/zend_strtod.c (+2/-2) Zend/zend_variables.c (+12/-1) Zend/zend_variables.h (+12/-1) Zend/zend_vm_execute.h (+44/-0) acinclude.m4 (+21/-16) aclocal.m4 (+21/-16) configure (+2831/-3473) configure.in (+6/-6) debian/changelog (+66/-0) debian/patches/006-debian_quirks.patch (+2/-6) debian/patches/fpm-config.patch (+10/-9) debian/patches/gentoo/009_ob-memory-leaks.patch (+9/-7) debian/patches/php-fpm-man-section-and-cleanup.patch (+3/-9) debian/patches/php5-CVE-2010-3436-regression.patch (+32/-0) debian/patches/php5-CVE-2010-3436.patch (+29/-0) debian/patches/php5-CVE-2010-3709.patch (+24/-0) debian/patches/php5-CVE-2010-3710.patch (+53/-0) debian/patches/php5-CVE-2010-3870.patch (+204/-0) debian/patches/php5-CVE-2010-4156.patch (+65/-0) debian/patches/php5-CVE-2010-4409.patch (+90/-0) debian/patches/php5-CVE-2010-4645.patch (+25/-0) debian/patches/series (+13/-5) debian/patches/ubuntu/ubuntu-php-version.patch (+4/-4) debian/rules (+1/-1) ext/bz2/bz2.c (+5/-2) ext/calendar/calendar.c (+10/-3) ext/calendar/tests/bug52744.phpt (+12/-0) ext/com_dotnet/com_persist.c (+8/-1) ext/curl/interface.c (+17/-17) ext/curl/php_curl.h (+1/-3) ext/curl/tests/bug52202.phpt (+16/-0) ext/curl/tests/bug52827.phpt (+32/-0) ext/curl/tests/curl_multi_getcontent_basic3.phpt (+6/-1) ext/curl/tests/curl_multi_getcontent_error1.phpt (+2/-2) ext/curl/tests/curl_multi_getcontent_error2.phpt (+2/-2) ext/curl/tests/curl_multi_getcontent_error3.phpt (+2/-2) ext/curl/tests/curl_multi_getcontent_error4.phpt (+2/-2) ext/curl/tests/curl_setopt_basic001.phpt (+1/-1) ext/curl/tests/curl_setopt_error.phpt (+1/-0) ext/date/lib/parse_date.c (+9/-3) ext/date/lib/parse_date.c.orig (+109/-103) ext/date/lib/parse_date.re (+8/-2) ext/date/lib/parse_iso_intervals.c (+2/-2) ext/date/lib/timelib.c (+14/-3) ext/date/lib/timelib.h (+2/-1) ext/date/lib/timezonedb.h (+718/-657) ext/date/lib/tm2unixtime.c (+2/-1) ext/date/lib/unixtime2tm.c (+7/-1) ext/date/php_date.c (+33/-32) ext/date/php_date.h (+7/-1) ext/date/tests/010.phpt (+19/-586) ext/date/tests/DateTime_modify_variation1.phpt (+66/-166) ext/date/tests/big_year.phpt (+17/-0) ext/date/tests/bug33415-2.phpt (+2/-2) ext/date/tests/bug46874.phpt (+31/-0) ext/date/tests/bug52342.phpt (+23/-0) ext/date/tests/bug52430.phpt (+37/-0) ext/date/tests/bug52454.phpt (+22/-0) ext/date/tests/bug52577.phpt (+19/-0) ext/date/tests/bug52668.phpt (+25/-0) ext/date/tests/date_modify_variation2.phpt (+66/-166) ext/date/tests/timezone_abbreviations_list_basic1.phpt (+2/-2) ext/dba/config.m4 (+2/-2) ext/dba/tests/dba_cdb_make.phpt (+1/-1) ext/dom/tests/bug52656.phpt (+14/-0) ext/dom/text.c (+2/-2) ext/enchant/enchant.c (+10/-2) ext/exif/tests/exif006.phpt (+1/-1) ext/ext_skel (+2/-2) ext/fileinfo/fileinfo.c (+4/-1) ext/filter/logical_filters.c (+36/-15) ext/filter/tests/030.phpt (+38/-17) ext/filter/tests/bug39763.phpt (+1/-1) ext/filter/tests/bug52929.phpt (+18/-0) ext/gd/gd.c (+17/-1) ext/gd/gd_ctx.c (+4/-1) ext/gmp/gmp.c (+32/-23) ext/gmp/tests/005.phpt (+5/-5) ext/gmp/tests/040.phpt (+1/-1) ext/gmp/tests/bug50283.phpt (+5/-4) ext/gmp/tests/bug52906.phpt (+46/-0) ext/gmp/tests/gmp_nextprime.phpt (+1/-1) ext/hash/php_hash_tiger.h (+2/-2) ext/iconv/iconv.c (+43/-10) ext/iconv/tests/bug51250.phpt (+29/-0) ext/iconv/tests/bug52941.phpt (+41/-0) ext/iconv/tests/bug53304.phpt (+13/-0) ext/iconv/tests/iconv_stream_filter_delimiter.phpt (+1/-1) ext/imap/php_imap.c (+11/-5) ext/interbase/config.w32 (+3/-2) ext/intl/dateformat/dateformat_attr.c (+1/-0) ext/intl/dateformat/dateformat_format.c (+24/-2) ext/intl/dateformat/dateformat_parse.c (+7/-6) ext/intl/formatter/formatter_attr.c (+7/-2) ext/intl/tests/bug50590.phpt (+13/-0) ext/intl/tests/dateformat_format.phpt (+135/-3) ext/intl/tests/dateformat_format_parse.phpt (+7/-13) ext/intl/tests/dateformat_get_locale.phpt (+6/-0) ext/intl/tests/dateformat_parse_timestamp_parsepos.phpt (+2/-4) ext/intl/tests/formatter_get_set_symbol.phpt (+6/-1) ext/json/json.c (+2/-2) ext/ldap/config.w32 (+8/-5) ext/mbstring/libmbfl/mbfl/mbfilter.c (+4/-0) ext/mbstring/mbstring.c (+7/-5) ext/mbstring/tests/bug43301.phpt (+2/-2) ext/mbstring/tests/bug52861.phpt (+26/-0) ext/mbstring/tests/bug52931.phpt (+22/-0) ext/mbstring/tests/bug52981.phpt (+23/-0) ext/mbstring/tests/mb_decode_mimeheader_variation1.phpt (+3/-6) ext/mbstring/tests/mb_send_mail01.phpt (+2/-2) ext/mbstring/tests/mb_send_mail02.phpt (+2/-2) ext/mbstring/tests/mb_send_mail03.phpt (+2/-2) ext/mbstring/tests/mb_send_mail04.phpt (+2/-2) ext/mbstring/tests/mb_send_mail05.phpt (+2/-2) ext/mbstring/tests/mb_send_mail06.phpt (+2/-2) ext/mbstring/tests/mb_send_mail07.phpt (+2/-2) ext/mbstring/tests/mb_strcut_missing_boundary_check.phpt (+31/-0) ext/mbstring/ucgendat/OPENLDAP_LICENSE (+47/-0) ext/mbstring/ucgendat/README (+9/-0) ext/mbstring/ucgendat/ucgendat.c (+1985/-0) ext/mbstring/unicode_data.h (+4271/-2737) ext/mssql/php_mssql.c (+10/-2) ext/mysql/php_mysql.c (+82/-82) ext/mysql/tests/mysql_trace_mode.phpt (+2/-0) ext/mysqli/config.m4 (+2/-1) ext/mysqli/mysqli.c (+130/-69) ext/mysqli/mysqli_api.c (+92/-67) ext/mysqli/mysqli_driver.c (+3/-3) ext/mysqli/mysqli_embedded.c (+3/-3) ext/mysqli/mysqli_exception.c (+3/-2) ext/mysqli/mysqli_fe.c (+17/-12) ext/mysqli/mysqli_fe.h (+135/-0) ext/mysqli/mysqli_libmysql.h (+1/-1) ext/mysqli/mysqli_nonapi.c (+52/-53) ext/mysqli/mysqli_priv.h (+156/-0) ext/mysqli/mysqli_prop.c (+39/-38) ext/mysqli/mysqli_report.c (+8/-6) ext/mysqli/mysqli_report.h (+2/-2) ext/mysqli/mysqli_warning.c (+10/-9) ext/mysqli/php_mysqli.h (+1/-1) ext/mysqli/php_mysqli_structs.h (+12/-250) ext/mysqli/tests/002.phpt (+3/-3) ext/mysqli/tests/003.phpt (+3/-3) ext/mysqli/tests/004.phpt (+3/-3) ext/mysqli/tests/005.phpt (+4/-4) ext/mysqli/tests/006.phpt (+3/-3) ext/mysqli/tests/007.phpt (+3/-3) ext/mysqli/tests/008.phpt (+3/-3) ext/mysqli/tests/009.phpt (+6/-6) ext/mysqli/tests/010.phpt (+3/-3) ext/mysqli/tests/011.phpt (+3/-3) ext/mysqli/tests/012.phpt (+3/-3) ext/mysqli/tests/013.phpt (+4/-4) ext/mysqli/tests/016.phpt (+3/-3) ext/mysqli/tests/017.phpt (+3/-3) ext/mysqli/tests/018.phpt (+3/-3) ext/mysqli/tests/019.phpt (+5/-5) ext/mysqli/tests/020.phpt (+5/-5) ext/mysqli/tests/021.phpt (+5/-5) ext/mysqli/tests/022.phpt (+5/-5) ext/mysqli/tests/023.phpt (+5/-5) ext/mysqli/tests/024.phpt (+5/-5) ext/mysqli/tests/025.phpt (+5/-5) ext/mysqli/tests/026.phpt (+8/-8) ext/mysqli/tests/042.phpt (+2/-2) ext/mysqli/tests/043.phpt (+3/-3) ext/mysqli/tests/045.phpt (+5/-5) ext/mysqli/tests/046.phpt (+2/-2) ext/mysqli/tests/047.phpt (+3/-3) ext/mysqli/tests/050.phpt (+1/-1) ext/mysqli/tests/051.phpt (+1/-1) ext/mysqli/tests/052.phpt (+1/-1) ext/mysqli/tests/057.phpt (+6/-6) ext/mysqli/tests/058.phpt (+11/-11) ext/mysqli/tests/059.phpt (+5/-5) ext/mysqli/tests/065.phpt (+2/-2) ext/mysqli/tests/bug35759.phpt (+1/-1) ext/mysqli/tests/bug52891.phpt (+160/-0) ext/mysqli/tests/bug_mysql_49406.phpt (+107/-0) ext/mysqli/tests/connect.inc (+95/-0) ext/mysqli/tests/mysqli_change_user_set_names.phpt (+2/-2) ext/mysqli/tests/mysqli_character_set.phpt (+12/-10) ext/mysqli/tests/mysqli_character_set_name.phpt (+3/-3) ext/mysqli/tests/mysqli_character_set_name_oo.phpt (+2/-2) ext/mysqli/tests/mysqli_class_mysqli_interface.phpt (+1/-0) ext/mysqli/tests/mysqli_class_mysqli_reflection.phpt (+51/-0) ext/mysqli/tests/mysqli_constants.phpt (+6/-0) ext/mysqli/tests/mysqli_fetch_array_large.phpt (+54/-41) ext/mysqli/tests/mysqli_fetch_field.phpt (+29/-11) ext/mysqli/tests/mysqli_fetch_field_oo.phpt (+24/-10) ext/mysqli/tests/mysqli_fetch_fields.phpt (+21/-3) ext/mysqli/tests/mysqli_field_seek.phpt (+20/-6) ext/mysqli/tests/mysqli_get_client_stats.phpt (+79/-4) ext/mysqli/tests/mysqli_get_client_stats_off.phpt (+8/-10) ext/mysqli/tests/mysqli_insert_packet_overflow.phpt (+2/-2) ext/mysqli/tests/mysqli_magic_quotes.phpt (+128/-0) ext/mysqli/tests/mysqli_options.phpt (+52/-41) ext/mysqli/tests/mysqli_options_int_and_float_native.phpt (+109/-0) ext/mysqli/tests/mysqli_pconn_conn_multiple.phpt (+0/-3) ext/mysqli/tests/mysqli_pconn_disabled.phpt (+0/-3) ext/mysqli/tests/mysqli_pconn_kill.phpt (+0/-2) ext/mysqli/tests/mysqli_pconn_limits.phpt (+0/-3) ext/mysqli/tests/mysqli_pconn_max_links.phpt (+13/-9) ext/mysqli/tests/mysqli_pconn_reuse.phpt (+0/-3) ext/mysqli/tests/mysqli_pconn_twice.phpt (+0/-2) ext/mysqli/tests/mysqli_pconnect.phpt (+0/-3) ext/mysqli/tests/mysqli_prepare.phpt (+5/-5) ext/mysqli/tests/mysqli_set_charset.phpt (+1/-1) ext/mysqli/tests/mysqli_stmt_attr_set.phpt (+6/-0) ext/mysqli/tests/mysqli_stmt_bind_param.phpt (+1/-1) ext/mysqli/tests/mysqli_stmt_bind_param_check_param_no_change.phpt (+1/-0) ext/mysqli/tests/mysqli_stmt_bind_result.phpt (+1/-1) ext/mysqli/tests/mysqli_stmt_fetch.phpt (+1/-1) ext/mysqli/tests/mysqli_stmt_get_result_metadata_fetch_field.phpt (+30/-12) ext/mysqli/tests/mysqli_stmt_num_rows.phpt (+3/-3) ext/mysqli/tests/mysqli_stmt_param_count.phpt (+1/-1) ext/mysqli/tests/mysqli_stmt_result_metadata.phpt (+1/-1) ext/mysqli/tests/mysqli_stmt_send_long_data.phpt (+1/-1) ext/mysqlnd/config9.m4 (+3/-6) ext/mysqlnd/mysqlnd.c (+61/-69) ext/mysqlnd/mysqlnd.h (+7/-9) ext/mysqlnd/mysqlnd_block_alloc.c (+1/-2) ext/mysqlnd/mysqlnd_charset.c (+295/-310) ext/mysqlnd/mysqlnd_debug.c (+189/-29) ext/mysqlnd/mysqlnd_debug.h (+67/-14) ext/mysqlnd/mysqlnd_enum_n_def.h (+24/-9) ext/mysqlnd/mysqlnd_loaddata.c (+5/-3) ext/mysqlnd/mysqlnd_net.c (+3/-6) ext/mysqlnd/mysqlnd_portability.h (+6/-6) ext/mysqlnd/mysqlnd_priv.h (+25/-10) ext/mysqlnd/mysqlnd_ps.c (+80/-50) ext/mysqlnd/mysqlnd_ps_codec.c (+138/-75) ext/mysqlnd/mysqlnd_result.c (+114/-80) ext/mysqlnd/mysqlnd_result_meta.c (+12/-13) ext/mysqlnd/mysqlnd_statistics.c (+10/-8) ext/mysqlnd/mysqlnd_statistics.h (+2/-2) ext/mysqlnd/mysqlnd_structs.h (+11/-6) ext/mysqlnd/mysqlnd_wireprotocol.c (+60/-49) ext/mysqlnd/mysqlnd_wireprotocol.h (+2/-2) ext/mysqlnd/php_mysqlnd.c (+5/-3) ext/oci8/oci8.c (+8/-16) ext/oci8/oci8_interface.c (+22/-12) ext/oci8/package.xml (+60/-8) ext/oci8/php_oci8.h (+2/-2) ext/oci8/tests/bind_char_1.phpt (+8/-3) ext/oci8/tests/bind_char_2.phpt (+8/-3) ext/oci8/tests/bind_char_3.phpt (+8/-3) ext/oci8/tests/bind_char_4.phpt (+8/-3) ext/oci8/tests/bug27303_1.phpt (+8/-3) ext/oci8/tests/bug27303_2.phpt (+8/-3) ext/oci8/tests/bug27303_4.phpt (+8/-3) ext/oci8/tests/connect_without_oracle_home.phpt (+4/-0) ext/oci8/tests/connect_without_oracle_home_11.phpt (+41/-0) ext/oci8/tests/connect_without_oracle_home_old.phpt (+4/-0) ext/oci8/tests/connect_without_oracle_home_old_11.phpt (+41/-0) ext/oci8/tests/debug.phpt (+5/-51) ext/oci8/tests/null_byte_1.phpt (+38/-0) ext/oci8/tests/null_byte_2.phpt (+69/-0) ext/oci8/tests/oci8safemode.phpt (+1/-1) ext/odbc/php_odbc.c (+48/-4) ext/openssl/openssl.c (+48/-14) ext/openssl/xp_ssl.c (+1/-2) ext/pcntl/pcntl.c (+135/-3) ext/pcntl/php_pcntl.h (+6/-1) ext/pcntl/php_signal.c (+12/-3) ext/pcntl/php_signal.h (+2/-1) ext/pcntl/tests/pcntl_get_last_error.phpt (+17/-0) ext/pcre/pcrelib/ChangeLog (+95/-0) ext/pcre/pcrelib/NEWS (+11/-0) ext/pcre/pcrelib/NON-UNIX-USE (+4/-4) ext/pcre/pcrelib/config.h (+16/-3) ext/pcre/pcrelib/doc/pcre.txt (+892/-578) ext/pcre/pcrelib/pcre.h (+6/-3) ext/pcre/pcrelib/pcre_chartables.c (+1/-1) ext/pcre/pcrelib/pcre_compile.c (+528/-224) ext/pcre/pcrelib/pcre_exec.c (+744/-315) ext/pcre/pcrelib/pcre_internal.h (+51/-26) ext/pcre/pcrelib/pcre_printint.src (+8/-0) ext/pcre/pcrelib/pcre_study.c (+217/-75) ext/pcre/pcrelib/pcre_tables.c (+17/-5) ext/pcre/pcrelib/pcre_xclass.c (+32/-4) ext/pcre/pcrelib/pcreposix.c (+14/-6) ext/pcre/pcrelib/pcreposix.h (+1/-0) ext/pcre/pcrelib/testdata/testinput10 (+12/-1) ext/pcre/pcrelib/testdata/testinput2 (+265/-6) ext/pcre/pcrelib/testdata/testinput5 (+49/-0) ext/pcre/pcrelib/testdata/testinput6 (+50/-0) ext/pcre/pcrelib/testdata/testinput9 (+139/-0) ext/pcre/pcrelib/testdata/testoutput10 (+42/-1) ext/pcre/pcrelib/testdata/testoutput2 (+471/-13) ext/pcre/pcrelib/testdata/testoutput5 (+146/-0) ext/pcre/pcrelib/testdata/testoutput6 (+68/-0) ext/pcre/pcrelib/testdata/testoutput9 (+360/-0) ext/pcre/php_pcre.c (+15/-3) ext/pcre/tests/backtrack_limit.phpt (+1/-1) ext/pcre/tests/bug33200.phpt (+1/-1) ext/pcre/tests/bug52732.phpt (+13/-0) ext/pcre/tests/bug52971.phpt (+43/-0) ext/pcre/tests/invalid_utf8_offset.phpt (+1/-1) ext/pcre/tests/recursion_limit.phpt (+1/-1) ext/pdo/pdo_stmt.c (+8/-6) ext/pdo/tests/bug47769.phpt (+5/-0) ext/pdo/tests/bug_38253.phpt (+7/-1) ext/pdo/tests/bug_43139.phpt (+6/-1) ext/pdo/tests/pdo_018.phpt (+7/-1) ext/pdo/tests/pdo_021.phpt (+0/-2) ext/pdo/tests/pdo_034.phpt (+2/-2) ext/pdo_dblib/dblib_stmt.c (+3/-3) ext/pdo_firebird/config.w32 (+4/-2) ext/pdo_firebird/firebird_driver.c (+6/-2) ext/pdo_firebird/firebird_statement.c (+34/-1) ext/pdo_firebird/tests/rowCount.phpt (+48/-0) ext/pdo_mysql/mysql_statement.c (+2/-2) ext/pdo_mysql/php_pdo_mysql_int.h (+3/-3) ext/pdo_mysql/tests/bug_42499.phpt (+2/-2) ext/pdo_mysql/tests/bug_44454.phpt (+8/-4) ext/pdo_mysql/tests/bug_pecl_12925.phpt (+3/-3) ext/pdo_mysql/tests/mysql_pdo_test.inc (+2/-2) ext/pdo_mysql/tests/pdo_mysql_attr_autocommit.phpt (+1/-1) ext/pdo_mysql/tests/pdo_mysql_attr_case.phpt (+5/-5) ext/pdo_mysql/tests/pdo_mysql_attr_oracle_nulls.phpt (+3/-3) ext/pdo_mysql/tests/pdo_mysql_attr_server_info.phpt (+1/-1) ext/pdo_mysql/tests/pdo_mysql_begintransaction.phpt (+2/-2) ext/pdo_mysql/tests/pdo_mysql_commit.phpt (+2/-2) ext/pdo_mysql/tests/pdo_mysql_exec.phpt (+9/-9) ext/pdo_mysql/tests/pdo_mysql_exec_load_data.phpt (+1/-1) ext/pdo_mysql/tests/pdo_mysql_exec_select.phpt (+4/-4) ext/pdo_mysql/tests/pdo_mysql_interface.phpt (+12/-11) ext/pdo_mysql/tests/pdo_mysql_last_insert_id.phpt (+6/-6) ext/pdo_mysql/tests/pdo_mysql_prepare_emulated.phpt (+4/-4) ext/pdo_mysql/tests/pdo_mysql_prepare_emulated_anonymous.phpt (+2/-2) ext/pdo_mysql/tests/pdo_mysql_prepare_emulated_placeholder_everywhere.phpt (+1/-1) ext/pdo_mysql/tests/pdo_mysql_prepare_load_data.phpt (+3/-3) ext/pdo_mysql/tests/pdo_mysql_prepare_native.phpt (+4/-4) ext/pdo_mysql/tests/pdo_mysql_prepare_native_clear_error.phpt (+1/-1) ext/pdo_mysql/tests/pdo_mysql_prepare_native_dup_named_placeholder.phpt (+1/-1) ext/pdo_mysql/tests/pdo_mysql_prepare_native_named_placeholder.phpt (+2/-2) ext/pdo_mysql/tests/pdo_mysql_prepare_native_placeholder_everywhere.phpt (+1/-1) ext/pdo_mysql/tests/pdo_mysql_rollback.phpt (+2/-2) ext/pdo_mysql/tests/pdo_mysql_stmt_columncount.phpt (+2/-2) ext/pdo_mysql/tests/pdo_mysql_stmt_fetch_non_select.phpt (+3/-3) ext/pdo_mysql/tests/pdo_mysql_stmt_fetch_serialize_simple.phpt (+1/-1) ext/pdo_mysql/tests/pdo_mysql_stmt_fetchobject.phpt (+13/-3) ext/pdo_mysql/tests/pdo_mysql_stmt_getcolumnmeta.phpt (+10/-5) ext/pdo_mysql/tests/pdo_mysql_subclass.phpt (+1/-1) ext/pdo_mysql/tests/pdo_mysql_types.phpt (+2/-2) ext/pdo_mysql/tests/pdo_mysql_types_zerofill.phpt (+7/-2) ext/pdo_oci/tests/pdo_oci_attr_client.phpt (+1/-1) ext/pdo_pgsql/tests/bug36727.phpt (+1/-1) ext/pdo_sqlite/tests/bug52487.phpt (+21/-0) ext/pgsql/pgsql.c (+19/-7) ext/pgsql/tests/bug47199.phpt (+67/-0) ext/phar/phar.c (+4/-4) ext/phar/phar_object.c (+6/-2) ext/phar/stream.c (+1/-1) ext/phar/tests/phpinfo_001.phpt (+2/-2) ext/phar/tests/phpinfo_002.phpt (+1/-1) ext/phar/tests/phpinfo_003.phpt (+1/-1) ext/phar/tests/phpinfo_004.phpt (+2/-2) ext/posix/posix.c (+14/-2) ext/posix/tests/posix_access.phpt (+1/-1) ext/posix/tests/posix_access_error_modes.phpt (+1/-1) ext/posix/tests/posix_access_error_wrongparams.phpt (+1/-1) ext/posix/tests/posix_access_safemode.phpt (+1/-1) ext/posix/tests/posix_mkfifo_safemode.phpt (+1/-1) ext/pspell/pspell.c (+13/-1) ext/recode/CREDITS (+1/-1) ext/reflection/php_reflection.c (+36/-6) ext/reflection/tests/ReflectionClass_getConstructor_basic.phpt (+2/-5) ext/reflection/tests/ReflectionClass_isIterateable_001.phpt (+21/-7) ext/reflection/tests/ReflectionMethod_constructor_basic.phpt (+0/-2) ext/reflection/tests/ReflectionObject_getConstructor_basic.phpt (+1/-4) ext/reflection/tests/ReflectionParameter_isDefault.phpt (+34/-0) ext/reflection/tests/bug52854.phpt (+28/-0) ext/reflection/tests/bug53366.phpt (+25/-0) ext/session/config.m4 (+2/-1) ext/session/session.c (+3/-3) ext/session/tests/001.phpt (+1/-1) ext/session/tests/003.phpt (+1/-1) ext/session/tests/004.phpt (+1/-1) ext/session/tests/005.phpt (+1/-1) ext/session/tests/006.phpt (+1/-1) ext/session/tests/007.phpt (+2/-2) ext/session/tests/008-php4.2.3.phpt (+1/-1) ext/session/tests/009.phpt (+1/-1) ext/session/tests/012.phpt (+1/-1) ext/session/tests/013.phpt (+1/-1) ext/session/tests/014.phpt (+1/-1) ext/session/tests/019.phpt (+1/-1) ext/session/tests/bug53141.phpt (+26/-0) ext/simplexml/simplexml.c (+2/-2) ext/soap/php_encoding.c (+5/-5) ext/soap/php_http.c (+8/-1) ext/soap/php_packet_soap.c (+2/-2) ext/soap/php_sdl.c (+12/-9) ext/soap/tests/bugs/bug50698_1.phpt (+2/-0) ext/soap/tests/bugs/bug50698_2.phpt (+2/-0) ext/soap/tests/bugs/bug50698_3.phpt (+2/-0) ext/soap/tests/bugs/bug50698_4.phpt (+2/-0) ext/soap/tests/bugs/bug50762.phpt (+2/-0) ext/spl/php_spl.c (+10/-7) ext/spl/spl_array.c (+50/-2) ext/spl/spl_directory.c (+155/-10) ext/spl/spl_dllist.c (+25/-1) ext/spl/spl_fixedarray.c (+9/-2) ext/spl/spl_heap.c (+24/-1) ext/spl/spl_iterators.c (+234/-4) ext/spl/spl_observer.c (+122/-12) ext/spl/tests/SplFileObject_fgetcsv_escape_default.phpt (+24/-0) ext/spl/tests/arrayObject_count_basic1.phpt (+6/-2) ext/spl/tests/bug50579.phpt (+40/-0) ext/spl/tests/bug52573.phpt (+18/-0) ext/spl/tests/bug53071.phpt (+26/-0) ext/spl/tests/bug53144.phpt (+20/-0) ext/spl/tests/bug53362.phpt (+22/-0) ext/spl/tests/fileobject_005.phpt (+4/-2) ext/spl/tests/spl_fileinfo_getlinktarget_basic.phpt (+1/-1) ext/sqlite/sqlite.c (+12/-2) ext/sqlite3/libsqlite/sqlite3.c (+14857/-6580) ext/sqlite3/libsqlite/sqlite3.h (+793/-346) ext/sqlite3/sqlite3.c (+11/-2) ext/sqlite3/tests/bug53463.phpt (+28/-0) ext/sqlite3/tests/sqlite3_15_open_error.phpt (+2/-2) ext/standard/array.c (+5/-5) ext/standard/base64.c (+2/-2) ext/standard/basic_functions.c (+39/-2) ext/standard/credits.c (+3/-3) ext/standard/dir.c (+13/-1) ext/standard/dns.c (+3/-5) ext/standard/dns_win32.c (+2/-3) ext/standard/file.c (+96/-13) ext/standard/file.h (+3/-2) ext/standard/filestat.c (+27/-2) ext/standard/formatted_print.c (+2/-2) ext/standard/ftok.c (+5/-1) ext/standard/ftp_fopen_wrapper.c (+4/-4) ext/standard/html.c (+75/-42) ext/standard/http_fopen_wrapper.c (+37/-28) ext/standard/iptc.c (+5/-1) ext/standard/link.c (+22/-2) ext/standard/link_win32.c (+8/-67) ext/standard/math.c (+13/-3) ext/standard/proc_open.c (+56/-48) ext/standard/quot_print.c (+2/-2) ext/standard/rand.c (+9/-3) ext/standard/streamsfuncs.c (+25/-7) ext/standard/string.c (+14/-12) ext/standard/tests/array/bug52534.phpt (+14/-0) ext/standard/tests/array/extract_safety.phpt (+24/-0) ext/standard/tests/assert/assert02.phpt (+1/-1) ext/standard/tests/file/bug52820.phpt (+49/-0) ext/standard/tests/file/bug53241.phpt (+23/-0) ext/standard/tests/file/copy_variation12.phpt (+2/-2) ext/standard/tests/file/copy_variation4.phpt (+6/-13) ext/standard/tests/file/disk_free_space_variation.phpt (+8/-8) ext/standard/tests/file/file_get_contents_variation8-win32.phpt (+0/-2) ext/standard/tests/file/file_get_contents_variation8.phpt (+0/-2) ext/standard/tests/file/file_put_contents_variation8.phpt (+1/-3) ext/standard/tests/file/filegroup_variation3.phpt (+2/-2) ext/standard/tests/file/fileinode_variation3.phpt (+2/-2) ext/standard/tests/file/fileowner_variation3.phpt (+2/-2) ext/standard/tests/file/fileperms_variation3.phpt (+2/-2) ext/standard/tests/file/fnmatch_variation.phpt (+17/-17) ext/standard/tests/file/glob_variation.phpt (+7/-16) ext/standard/tests/file/is_dir_variation4.phpt (+2/-2) ext/standard/tests/file/is_executable_variation1.phpt (+2/-2) ext/standard/tests/file/is_file_variation4.phpt (+2/-2) ext/standard/tests/file/is_readable_variation1.phpt (+3/-3) ext/standard/tests/file/is_writable_variation1.phpt (+6/-6) ext/standard/tests/file/mkdir_rmdir_variation2.phpt (+2/-2) ext/standard/tests/file/readfile_variation10-win32.phpt (+11/-3) ext/standard/tests/file/readfile_variation10.phpt (+21/-13) ext/standard/tests/file/rename_variation13-win32.phpt (+1/-5) ext/standard/tests/file/rename_variation13.phpt (+0/-4) ext/standard/tests/file/stream_rfc2397_006.phpt (+2/-2) ext/standard/tests/file/tempnam_variation3-win32.phpt (+3/-2) ext/standard/tests/file/tempnam_variation3.phpt (+3/-3) ext/standard/tests/file/tempnam_variation7-win32.phpt (+3/-3) ext/standard/tests/file/tempnam_variation7.phpt (+3/-3) ext/standard/tests/general_functions/bug44394_2.phpt (+1/-0) ext/standard/tests/general_functions/bug46587.phpt (+16/-0) ext/standard/tests/general_functions/get_cfg_var_variation8.phpt (+20/-20) ext/standard/tests/general_functions/putenv_error1.phpt (+1/-1) ext/standard/tests/general_functions/putenv_error2.phpt (+1/-1) ext/standard/tests/http/bug53198.phpt (+56/-0) ext/standard/tests/math/log_variation2.phpt (+3/-3) ext/standard/tests/misc/syslog_vars_variation1.phpt (+1/-1) ext/standard/tests/streams/bug46024.phpt (+1/-1) ext/standard/tests/strings/bug47168.phpt (+12/-0) ext/standard/tests/strings/bug49785.phpt (+1/-1) ext/standard/tests/strings/bug53021.phpt (+34/-0) ext/standard/tests/strings/bug53319.phpt (+17/-0) ext/standard/tests/strings/get_html_translation_table_basic1.phpt (+408/-132) ext/standard/tests/strings/get_html_translation_table_basic2.phpt (+1214/-327) ext/standard/tests/strings/get_html_translation_table_basic3.phpt (+15/-28) ext/standard/tests/strings/get_html_translation_table_basic4.phpt (+289/-0) ext/standard/tests/strings/get_html_translation_table_error.phpt (+3/-3) ext/standard/tests/strings/get_html_translation_table_variation1.phpt (+62/-870) ext/standard/tests/strings/get_html_translation_table_variation2.phpt (+19/-29) ext/standard/tests/strings/htmlentities-utf-2.phpt (+2/-2) ext/standard/tests/strings/htmlentities-utf-3.phpt (+83/-0) ext/standard/tests/strings/htmlentities-utf.phpt (+2/-2) ext/standard/tests/strings/htmlentities17.phpt (+0/-3) ext/standard/tests/strings/parse_str_basic3.phpt (+1/-1) ext/standard/tests/url/bug52327.phpt (+12/-0) ext/standard/tests/url/bug53248.phpt (+12/-0) ext/standard/url.c (+2/-2) ext/standard/var.c (+9/-5) ext/standard/var_unserializer.c (+3/-3) ext/standard/var_unserializer.c.orig (+3/-3) ext/standard/var_unserializer.re (+2/-2) ext/sybase_ct/config.m4 (+3/-3) ext/sysvmsg/sysvmsg.c (+24/-24) ext/tidy/tidy.c (+16/-4) ext/wddx/tests/bug52468.phpt (+20/-0) ext/wddx/wddx.c (+2/-1) ext/xml/tests/bug49687.phpt (+24/-0) ext/xml/xml.c (+111/-31) ext/xsl/xsltprocessor.c (+5/-2) ext/zip/php_zip.c (+30/-9) ext/zip/zip_stream.c (+80/-3) ext/zlib/tests/bug_52944.phpt (+157/-0) ext/zlib/zlib_filter.c (+4/-1) ext/zlib/zlib_fopen_wrapper.c (+2/-2) main/SAPI.c (+3/-3) main/fopen_wrappers.c (+40/-14) main/main.c (+8/-3) main/network.c (+47/-35) main/output.c (+137/-151) main/php_config.h.in (+11/-8) main/php_ini.c (+32/-5) main/php_streams.h (+5/-5) main/php_version.h (+3/-3) main/rfc1867.c (+28/-19) main/streams/cast.c (+50/-2) main/streams/glob_wrapper.c (+3/-1) main/streams/php_streams_int.h (+8/-1) main/streams/plain_wrapper.c (+17/-6) main/streams/streams.c (+13/-10) main/win95nt.h (+3/-3) php.ini-development (+4/-6) php.ini-production (+4/-7) run-tests.php (+27/-5) sapi/cli/config.w32 (+2/-2) sapi/cli/php_cli.c (+2/-1) sapi/fpm/Makefile.frag (+3/-3) sapi/fpm/config.m4 (+58/-229) sapi/fpm/fpm/fpm.c (+14/-10) sapi/fpm/fpm/fpm.h (+3/-4) sapi/fpm/fpm/fpm_atomic.h (+20/-2) sapi/fpm/fpm/fpm_children.c (+21/-25) sapi/fpm/fpm/fpm_children.h (+5/-5) sapi/fpm/fpm/fpm_clock.c (+4/-4) sapi/fpm/fpm/fpm_conf.c (+367/-156) sapi/fpm/fpm/fpm_conf.h (+6/-1) sapi/fpm/fpm/fpm_config.h (+63/-24) sapi/fpm/fpm/fpm_env.c (+96/-0) sapi/fpm/fpm/fpm_env.h (+3/-0) sapi/fpm/fpm/fpm_events.c (+381/-76) sapi/fpm/fpm/fpm_events.h (+23/-7) sapi/fpm/fpm/fpm_main.c (+30/-12) sapi/fpm/fpm/fpm_php.c (+2/-0) sapi/fpm/fpm/fpm_php.h (+20/-0) sapi/fpm/fpm/fpm_php_trace.c (+3/-3) sapi/fpm/fpm/fpm_process_ctl.c (+71/-74) sapi/fpm/fpm/fpm_process_ctl.h (+11/-6) sapi/fpm/fpm/fpm_request.c (+8/-13) sapi/fpm/fpm/fpm_shm.c (+1/-1) sapi/fpm/fpm/fpm_signals.c (+5/-5) sapi/fpm/fpm/fpm_sockets.c (+95/-14) sapi/fpm/fpm/fpm_sockets.h (+10/-0) sapi/fpm/fpm/fpm_status.c (+102/-21) sapi/fpm/fpm/fpm_status.h (+7/-2) sapi/fpm/fpm/fpm_stdio.c (+37/-20) sapi/fpm/fpm/fpm_stdio.h (+1/-1) sapi/fpm/fpm/fpm_trace_mach.c (+3/-3) sapi/fpm/fpm/fpm_trace_pread.c (+3/-3) sapi/fpm/fpm/fpm_trace_ptrace.c (+4/-4) sapi/fpm/fpm/fpm_unix.c (+18/-18) sapi/fpm/fpm/fpm_worker_pool.h (+1/-0) sapi/fpm/fpm/zlog.c (+15/-1) sapi/fpm/fpm/zlog.h (+4/-2) sapi/fpm/init.d.php-fpm.in (+2/-2) sapi/fpm/php-fpm.8.in (+199/-0) sapi/fpm/php-fpm.conf.in (+56/-21) scripts/phpize.m4 (+1/-1) tests/basic/021.phpt (+1/-1) tests/basic/bug46313-win.phpt (+2/-3) tests/basic/bug51709_1.phpt (+1/-1) tests/basic/bug51709_2.phpt (+1/-1) tests/basic/bug53180.phpt (+19/-0) tests/basic/rfc1867_max_file_uploads_empty_files.phpt (+101/-0) tests/basic/rfc1867_max_file_uploads_empty_files_debug.phpt (+102/-0) tests/classes/constants_error_004.phpt (+1/-1) tests/output/bug46897.phpt (+2/-2) tests/output/ob_clean_basic_001.phpt (+2/-2) tests/output/ob_end_clean_basic_001.phpt (+2/-2) tests/output/ob_end_flush_basic_001.phpt (+3/-3) tests/output/ob_flush_basic_001.phpt (+2/-2) tests/output/ob_get_level_basic_001.phpt (+2/-2) tests/output/ob_start_basic_unerasable_002.phpt (+8/-8) tests/output/ob_start_basic_unerasable_003.phpt (+2/-2) tests/output/ob_start_basic_unerasable_004.phpt (+1/-1) tests/output/ob_start_basic_unerasable_005.phpt (+2/-2) tests/output/ob_start_callbacks.phpt (+39/-0) tests/security/bug53226.phpt (+29/-0) win32/build/Makefile (+3/-3) win32/build/config.w32 (+7/-7) win32/build/config.w32.h.in (+2/-1) win32/build/template.rc (+2/-2) win32/glob.c (+29/-31) win32/php5dll.dsp (+0/-4) win32/php5dllts.dsp (+0/-4) win32/time.c (+2/-2) win32/winutil.c (+6/-9) |
||||
To merge this branch: | bzr merge lp:~legolas/ubuntu/natty/php5/5.3.5 | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Artur Rona (community) | Disapprove | ||
Ubuntu branches | Pending | ||
Review via email: mp+48128@code.launchpad.net |
Commit message
Description of the change
To post a comment you must log in.
Unmerged revisions
- 81. By Stas Verberkt
-
Deprecated mssql fix segfault patch.
- 80. By Stas Verberkt
-
Created PHP 5.3.5 including all patches
- 79. By Stas Verberkt
-
Inserted PHP 5.3.5.
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file 'INSTALL' | |||
2 | --- INSTALL 2010-08-01 11:58:54 +0000 | |||
3 | +++ INSTALL 2011-02-01 10:04:54 +0000 | |||
4 | @@ -279,7 +279,15 @@ | |||
5 | 279 | it is your first install then you need to "make install" as well) | 279 | it is your first install then you need to "make install" as well) |
6 | 280 | 280 | ||
7 | 281 | 13. cd ../php-5.x.y | 281 | 13. cd ../php-5.x.y |
9 | 282 | 14. cp php.ini-dist /usr/local/lib/php.ini | 282 | |
10 | 283 | 14. The PHP distribution provides two sample php.ini files, you can use them | ||
11 | 284 | by | ||
12 | 285 | cp php.ini-development /usr/local/lib/php.ini | ||
13 | 286 | or | ||
14 | 287 | cp php.ini-production /usr/local/lib/php.ini | ||
15 | 288 | |||
16 | 289 | If you choose one of these php.ini files be certain to read the list | ||
17 | 290 | of changes within, as they affect how PHP behaves. | ||
18 | 283 | 291 | ||
19 | 284 | 15. You can edit /usr/local/lib/php.ini file to set PHP options. | 292 | 15. You can edit /usr/local/lib/php.ini file to set PHP options. |
20 | 285 | Edit your httpd.conf or srm.conf file and add: | 293 | Edit your httpd.conf or srm.conf file and add: |
21 | @@ -451,15 +459,19 @@ | |||
22 | 451 | 459 | ||
23 | 452 | 13. Setup your php.ini | 460 | 13. Setup your php.ini |
24 | 453 | 461 | ||
26 | 454 | cp php.ini-dist /usr/local/lib/php.ini | 462 | The PHP distribution provides two sample php.ini files, you can use them |
27 | 463 | by | ||
28 | 464 | cp php.ini-development /usr/local/lib/php.ini | ||
29 | 465 | or | ||
30 | 466 | cp php.ini-production /usr/local/lib/php.ini | ||
31 | 467 | |||
32 | 468 | If you choose one of these php.ini files be certain to read the list | ||
33 | 469 | of changes within, as they affect how PHP behaves. | ||
34 | 455 | 470 | ||
35 | 456 | You may edit your .ini file to set PHP options. If you prefer having | 471 | You may edit your .ini file to set PHP options. If you prefer having |
36 | 457 | php.ini in another location, use --with-config-file-path=/some/path in | 472 | php.ini in another location, use --with-config-file-path=/some/path in |
37 | 458 | step 10. | 473 | step 10. |
38 | 459 | 474 | ||
39 | 460 | If you instead choose php.ini-recommended, be certain to read the list | ||
40 | 461 | of changes within, as they affect how PHP behaves. | ||
41 | 462 | |||
42 | 463 | 14. Edit your httpd.conf to load the PHP module. The path on the right hand | 475 | 14. Edit your httpd.conf to load the PHP module. The path on the right hand |
43 | 464 | side of the LoadModule statement must point to the path of the PHP | 476 | side of the LoadModule statement must point to the path of the PHP |
44 | 465 | module on your system. The make install from above may have already | 477 | module on your system. The make install from above may have already |
45 | @@ -858,7 +870,7 @@ | |||
46 | 858 | Example 2-6. OpenBSD Package Install Example | 870 | Example 2-6. OpenBSD Package Install Example |
47 | 859 | # pkg_add php4-core-4.3.8.tgz | 871 | # pkg_add php4-core-4.3.8.tgz |
48 | 860 | # /usr/local/sbin/phpxs -s | 872 | # /usr/local/sbin/phpxs -s |
50 | 861 | # cp /usr/local/share/doc/php4/php.ini-recommended /var/www/conf/php.ini | 873 | # cp /usr/local/share/doc/php4/php.ini-development /var/www/conf/php.ini |
51 | 862 | (add in mysql) | 874 | (add in mysql) |
52 | 863 | # pkg_add php4-mysql-4.3.8.tgz | 875 | # pkg_add php4-mysql-4.3.8.tgz |
53 | 864 | # /usr/local/sbin/phpxs -a mysql | 876 | # /usr/local/sbin/phpxs -a mysql |
54 | @@ -1242,10 +1254,10 @@ | |||
55 | 1242 | back to the root of the Apache source directory and run the above | 1254 | back to the root of the Apache source directory and run the above |
56 | 1243 | configure command again. That'll bring the link table up to date. | 1255 | configure command again. That'll bring the link table up to date. |
57 | 1244 | Run make and make install again. | 1256 | Run make and make install again. |
62 | 1245 | 7. Copy and rename the php.ini-dist file to your bin directory from | 1257 | 7. Copy and rename the php.ini-development or php.ini-production file to |
63 | 1246 | your PHP 4 source directory: cp php.ini-dist /usr/local/bin/php.ini | 1258 | your bin directory from your PHP 4 source directory: |
64 | 1247 | or (if your don't have a local directory) cp php.ini-dist | 1259 | cp php.ini-development /usr/local/bin/php.ini or (if your don't have a |
65 | 1248 | /usr/bin/php.ini. | 1260 | local directory) cp php.ini-development /usr/bin/php.ini. |
66 | 1249 | __________________________________________________________________ | 1261 | __________________________________________________________________ |
67 | 1250 | 1262 | ||
68 | 1251 | Compiling for MacOS X Client | 1263 | Compiling for MacOS X Client |
69 | @@ -1735,8 +1747,8 @@ | |||
70 | 1735 | example, set it with something like: | 1747 | example, set it with something like: |
71 | 1736 | --with-config-file-path=/etc | 1748 | --with-config-file-path=/etc |
72 | 1737 | 1749 | ||
75 | 1738 | And then you would copy php.ini-dist from the distribution to | 1750 | And then you would copy php.ini-development or php.ini-production from the |
76 | 1739 | /etc/php.ini and edit it to make any local changes you want. | 1751 | distribution to /etc/php.ini and edit it to make any local changes you want. |
77 | 1740 | --with-config-file-scan-dir=PATH | 1752 | --with-config-file-scan-dir=PATH |
78 | 1741 | 1753 | ||
79 | 1742 | On Windows the default path for the php.ini file is the Windows | 1754 | On Windows the default path for the php.ini file is the Windows |
80 | 1743 | 1755 | ||
81 | === modified file 'LICENSE' | |||
82 | --- LICENSE 2010-08-01 11:58:54 +0000 | |||
83 | +++ LICENSE 2011-02-01 10:04:54 +0000 | |||
84 | @@ -1,6 +1,6 @@ | |||
85 | 1 | -------------------------------------------------------------------- | 1 | -------------------------------------------------------------------- |
86 | 2 | The PHP License, version 3.01 | 2 | The PHP License, version 3.01 |
88 | 3 | Copyright (c) 1999 - 2009 The PHP Group. All rights reserved. | 3 | Copyright (c) 1999 - 2010 The PHP Group. All rights reserved. |
89 | 4 | -------------------------------------------------------------------- | 4 | -------------------------------------------------------------------- |
90 | 5 | 5 | ||
91 | 6 | Redistribution and use in source and binary forms, with or without | 6 | Redistribution and use in source and binary forms, with or without |
92 | 7 | 7 | ||
93 | === modified file 'Makefile.global' | |||
94 | --- Makefile.global 2010-08-01 11:58:54 +0000 | |||
95 | +++ Makefile.global 2011-02-01 10:04:54 +0000 | |||
96 | @@ -98,6 +98,7 @@ | |||
97 | 98 | TEST_PHP_SRCDIR=$(top_srcdir) \ | 98 | TEST_PHP_SRCDIR=$(top_srcdir) \ |
98 | 99 | CC="$(CC)" \ | 99 | CC="$(CC)" \ |
99 | 100 | $(PHP_EXECUTABLE) -n -c $(top_builddir)/tmp-php.ini $(PHP_TEST_SETTINGS) $(top_srcdir)/run-tests.php -n -c $(top_builddir)/tmp-php.ini -d extension_dir=$(top_builddir)/modules/ $(PHP_TEST_SHARED_EXTENSIONS) $(TESTS); \ | 100 | $(PHP_EXECUTABLE) -n -c $(top_builddir)/tmp-php.ini $(PHP_TEST_SETTINGS) $(top_srcdir)/run-tests.php -n -c $(top_builddir)/tmp-php.ini -d extension_dir=$(top_builddir)/modules/ $(PHP_TEST_SHARED_EXTENSIONS) $(TESTS); \ |
100 | 101 | rm $(top_builddir)/tmp-php.ini; \ | ||
101 | 101 | else \ | 102 | else \ |
102 | 102 | echo "ERROR: Cannot run tests without CLI sapi."; \ | 103 | echo "ERROR: Cannot run tests without CLI sapi."; \ |
103 | 103 | fi | 104 | fi |
104 | 104 | 105 | ||
105 | === modified file 'NEWS' | |||
106 | --- NEWS 2010-08-01 11:58:54 +0000 | |||
107 | +++ NEWS 2011-02-01 10:04:54 +0000 | |||
108 | @@ -1,5 +1,361 @@ | |||
110 | 1 | PHP NEWS | 1 | PHP NEWS |
111 | 2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| | 2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| |
112 | 3 | 06 Jan 2011, PHP 5.3.5 | ||
113 | 4 | - Fixed Bug #53632 (infinite loop with x87 fpu). (Scott, Rasmus) | ||
114 | 5 | |||
115 | 6 | 09 Dec 2010, PHP 5.3.4 | ||
116 | 7 | - Upgraded bundled Sqlite3 to version 3.7.3. (Ilia) | ||
117 | 8 | - Upgraded bundled PCRE to version 8.10. (Ilia) | ||
118 | 9 | |||
119 | 10 | - Security enhancements: | ||
120 | 11 | . Fixed crash in zip extract method (possible CWE-170). | ||
121 | 12 | (Maksymilian Arciemowicz, Pierre) | ||
122 | 13 | . Paths with NULL in them (foo\0bar.txt) are now considered as invalid. (Rasmus) | ||
123 | 14 | . Fixed a possible double free in imap extension (Identified by Mateusz | ||
124 | 15 | Kocielski). (CVE-2010-4150). (Ilia) | ||
125 | 16 | . Fixed NULL pointer dereference in ZipArchive::getArchiveComment. | ||
126 | 17 | (CVE-2010-3709). (Maksymilian Arciemowicz) | ||
127 | 18 | . Fixed possible flaw in open_basedir (CVE-2010-3436). (Pierre) | ||
128 | 19 | . Fixed MOPS-2010-24, fix string validation. (CVE-2010-2950). (Pierre) | ||
129 | 20 | . Fixed symbolic resolution support when the target is a DFS share. (Pierre) | ||
130 | 21 | . Fixed bug #52929 (Segfault in filter_var with FILTER_VALIDATE_EMAIL with | ||
131 | 22 | large amount of data) (CVE-2010-3710). (Adam) | ||
132 | 23 | |||
133 | 24 | - General improvements: | ||
134 | 25 | . Added stat support for zip stream. (Pierre) | ||
135 | 26 | . Added follow_location (enabled by default) option for the http stream | ||
136 | 27 | support. (Pierre) | ||
137 | 28 | . Improved support for is_link and related functions on Windows. (Pierre) | ||
138 | 29 | . Added a 3rd parameter to get_html_translation_table. It now takes a charset | ||
139 | 30 | hint, like htmlentities et al. (Gustavo) | ||
140 | 31 | |||
141 | 32 | - Implemented feature requests: | ||
142 | 33 | . Implemented FR #52348, added new constant ZEND_MULTIBYTE to detect | ||
143 | 34 | zend multibyte at runtime. (Kalle) | ||
144 | 35 | . Implemented FR #52173, added functions pcntl_get_last_error() and | ||
145 | 36 | pcntl_strerror(). (nick dot telford at gmail dot com, Arnaud) | ||
146 | 37 | . Implemented symbolic links support for open_basedir checks. (Pierre) | ||
147 | 38 | . Implemented FR #51804, SplFileInfo::getLinkTarget on Windows. (Pierre) | ||
148 | 39 | . Implemented FR #50692, not uploaded files don't count towards | ||
149 | 40 | max_file_uploads limit. As a side improvement, temporary files are not opened | ||
150 | 41 | for empty uploads and, in debug mode, 0-length uploads. (Gustavo) | ||
151 | 42 | |||
152 | 43 | - Improved MySQLnd: | ||
153 | 44 | . Added new character sets to mysqlnd, which are available in MySQL 5.5 | ||
154 | 45 | (Andrey) | ||
155 | 46 | |||
156 | 47 | - Improved PHP-FPM SAPI: | ||
157 | 48 | . Added '-p/--prefix' to php-fpm to use a custom prefix and run multiple | ||
158 | 49 | instances. (fat) | ||
159 | 50 | . Added custom process title for FPM. (fat) | ||
160 | 51 | . Added '-t/--test' to php-fpm to check and validate FPM conf file. (fat) | ||
161 | 52 | . Added statistics about listening socket queue length for FPM. | ||
162 | 53 | (andrei dot nigmatulin at gmail dot com, fat) | ||
163 | 54 | |||
164 | 55 | - Core: | ||
165 | 56 | . Fixed extract() to do not overwrite $GLOBALS and $this when using | ||
166 | 57 | EXTR_OVERWRITE. (jorto at redhat dot com) | ||
167 | 58 | . Fixed bug in the Windows implementation of dns_get_record, where the two | ||
168 | 59 | last parameters wouldn't be filled unless the type were DNS_ANY (Gustavo). | ||
169 | 60 | . Changed the $context parameter on copy() to actually have an effect. (Kalle) | ||
170 | 61 | . Fixed htmlentities/htmlspecialchars accepting certain ill-formed UTF-8 | ||
171 | 62 | sequences. (Gustavo) | ||
172 | 63 | . Fixed bug #53409 (sleep() returns NULL on Windows). (Pierre) | ||
173 | 64 | . Fixed bug #53319 (strip_tags() may strip '<br />' incorrectly). (Felipe) | ||
174 | 65 | . Fixed bug #53304 (quot_print_decode does not handle lower-case hex digits). | ||
175 | 66 | (Ilia, daniel dot mueller at inexio dot net) | ||
176 | 67 | . Fixed bug #53248 (rawurlencode RFC 3986 EBCDIC support misses tilde char). | ||
177 | 68 | (Justin Martin) | ||
178 | 69 | . Fixed bug #53226 (file_exists fails on big filenames). (Adam) | ||
179 | 70 | . Fixed bug #53198 (changing INI setting "from" with ini_set did not have any | ||
180 | 71 | effect). (Gustavo) | ||
181 | 72 | . Fixed bug #53180 (post_max_size=0 not disabling the limit when the content | ||
182 | 73 | type is application/x-www-form-urlencoded or is not registered with PHP). | ||
183 | 74 | (gm at tlink dot de, Gustavo) | ||
184 | 75 | . Fixed bug #53141 (autoload misbehaves if called from closing session). | ||
185 | 76 | (ladislav at marek dot su) | ||
186 | 77 | . Fixed bug #53021 (In html_entity_decode, failure to convert numeric entities | ||
187 | 78 | with ENT_NOQUOTES and ISO-8859-1). Fixed and extended the fix of ENT_NOQUOTES | ||
188 | 79 | in html_entity_decode that had introduced the bug (rev #185591) to other | ||
189 | 80 | encodings. Additionaly, html_entity_decode() now doesn't decode " if | ||
190 | 81 | ENT_NOQUOTES is given. (Gustavo) | ||
191 | 82 | . Fixed bug #52931 (strripos not overloaded with function overloading enabled). | ||
192 | 83 | (Felipe) | ||
193 | 84 | . Fixed bug #52772 (var_dump() doesn't check for the existence of | ||
194 | 85 | get_class_name before calling it). (Kalle, Gustavo) | ||
195 | 86 | . Fixed bug #52534 (var_export array with negative key). (Felipe) | ||
196 | 87 | . Fixed bug #52327 (base64_decode() improper handling of leading padding in | ||
197 | 88 | strict mode). (Ilia) | ||
198 | 89 | . Fixed bug #52260 (dns_get_record fails with non-existing domain on Windows). | ||
199 | 90 | (a_jelly_doughnut at phpbb dot com, Pierre) | ||
200 | 91 | . Fixed bug #50953 (socket will not connect to IPv4 address when the host has | ||
201 | 92 | both IPv4 and IPv6 addresses, on Windows). (Gustavo, Pierre) | ||
202 | 93 | . Fixed bug #50524 (proc_open on Windows does not respect cwd as it does on | ||
203 | 94 | other platforms). (Pierre) | ||
204 | 95 | . Fixed bug #49687 (utf8_decode vulnerabilities and deficiencies in the number | ||
205 | 96 | of reported malformed sequences). (CVE-2010-3870) (Gustavo) | ||
206 | 97 | . Fixed bug #49407 (get_html_translation_table doesn't handle UTF-8). (Gustavo) | ||
207 | 98 | . Fixed bug #48831 (php -i has different output to php --ini). (Richard, | ||
208 | 99 | Pierre) | ||
209 | 100 | . Fixed bug #47643 (array_diff() takes over 3000 times longer than php 5.2.4). | ||
210 | 101 | (Felipe) | ||
211 | 102 | . Fixed bug #47168 (printf of floating point variable prints maximum of 40 | ||
212 | 103 | decimal places). (Ilia) | ||
213 | 104 | . Fixed bug #46587 (mt_rand() does not check that max is greater than min). | ||
214 | 105 | (Ilia) | ||
215 | 106 | . Fixed bug #29085 (bad default include_path on Windows). (Pierre) | ||
216 | 107 | . Fixed bug #25927 (get_html_translation_table calls the ' ' instead of | ||
217 | 108 | '). (Gustavo) | ||
218 | 109 | |||
219 | 110 | - Zend engine: | ||
220 | 111 | . Reverted fix for bug #51176 (Static calling in non-static method behaves | ||
221 | 112 | like $this->). (Felipe) | ||
222 | 113 | . Changed deprecated ini options on startup from E_WARNING to E_DEPRECATED. | ||
223 | 114 | (Kalle) | ||
224 | 115 | . Fixed NULL dereference in lex_scan on zend multibyte builds where the script | ||
225 | 116 | had a flex incompatible encoding and there was no converter. (Gustavo) | ||
226 | 117 | . Fixed covariance of return-by-ref constraints. (Etienne) | ||
227 | 118 | . Fixed bug #53305 (E_NOTICE when defining a constant starts with | ||
228 | 119 | __COMPILER_HALT_OFFSET__). (Felipe) | ||
229 | 120 | . Fixed bug #52939 (zend_call_function does not respect ZEND_SEND_PREFER_REF). | ||
230 | 121 | (Dmitry) | ||
231 | 122 | . Fixed bug #52879 (Objects unreferenced in __get, __set, __isset or __unset | ||
232 | 123 | can be freed too early). (mail_ben_schmidt at yahoo dot com dot au, Dmitry) | ||
233 | 124 | . Fixed bug #52786 (PHP should reset section to [PHP] after ini sections). | ||
234 | 125 | (Fedora at famillecollet dot com) | ||
235 | 126 | . Fixed bug #52508 (newline problem with parse_ini_file+INI_SCANNER_RAW). | ||
236 | 127 | (Felipe) | ||
237 | 128 | . Fixed bug #52484 (__set() ignores setting properties with empty names). | ||
238 | 129 | (Felipe) | ||
239 | 130 | . Fixed bug #52361 (Throwing an exception in a destructor causes invalid | ||
240 | 131 | catching). (Dmitry) | ||
241 | 132 | . Fixed bug #51008 (Zend/tests/bug45877.phpt fails). (Dmitry) | ||
242 | 133 | |||
243 | 134 | - Build issues: | ||
244 | 135 | . Fixed bug #52436 (Compile error if systems do not have stdint.h) | ||
245 | 136 | (Sriram Natarajan) | ||
246 | 137 | . Fixed bug #50345 (nanosleep not detected properly on some solaris versions). | ||
247 | 138 | (Ulf, Tony) | ||
248 | 139 | . Fixed bug #49215 (make fails on glob_wrapper). (Felipe) | ||
249 | 140 | |||
250 | 141 | - Calendar extension: | ||
251 | 142 | . Fixed bug #52744 (cal_days_in_month incorrect for December 1 BCE). | ||
252 | 143 | (gpap at internet dot gr, Adam) | ||
253 | 144 | |||
254 | 145 | - cURL extension: | ||
255 | 146 | . Fixed bug #52828 (curl_setopt does not accept persistent streams). | ||
256 | 147 | (Gustavo, Ilia) | ||
257 | 148 | . Fixed bug #52827 (cURL leaks handle and causes assertion error | ||
258 | 149 | (CURLOPT_STDERR)). (Gustavo) | ||
259 | 150 | . Fixed bug #52202 (CURLOPT_PRIVATE gets corrupted). (Ilia) | ||
260 | 151 | . Fixed bug #50410 (curl extension slows down PHP on Windows). (Pierre) | ||
261 | 152 | |||
262 | 153 | - DateTime extension: | ||
263 | 154 | . Fixed bug #53297 (gettimeofday implementation in php/win32/time.c can return | ||
264 | 155 | 1 million microsecs). (ped at 7gods dot org) | ||
265 | 156 | . Fixed bug #52668 (Iterating over a dateperiod twice is broken). (Derick) | ||
266 | 157 | . Fixed bug #52454 (Relative dates and getTimestamp increments by one day). | ||
267 | 158 | (Derick) | ||
268 | 159 | . Fixed bug #52430 (date_parse parse 24:xx:xx as valid time). (Derick) | ||
269 | 160 | . Added support for the ( and ) delimiters/separators to | ||
270 | 161 | DateTime::createFromFormat(). (Derick) | ||
271 | 162 | |||
272 | 163 | - DBA extension: | ||
273 | 164 | . Added Berkeley DB 5.1 support to the DBA extension. (Oracle Corp.) | ||
274 | 165 | |||
275 | 166 | - DOM extension: | ||
276 | 167 | . Fixed bug #52656 (DOMCdataSection does not work with splitText). (Ilia) | ||
277 | 168 | |||
278 | 169 | - Filter extension: | ||
279 | 170 | . Fixed the filter extension accepting IPv4 octets with a leading 0 as that | ||
280 | 171 | belongs to the unsupported "dotted octal" representation. (Gustavo) | ||
281 | 172 | . Fixed bug #53236 (problems in the validation of IPv6 addresses with leading | ||
282 | 173 | and trailing :: in the filter extension). (Gustavo) | ||
283 | 174 | . Fixed bug #50117 (problems in the validation of IPv6 addresses with IPv4 | ||
284 | 175 | addresses and ::). (Gustavo) | ||
285 | 176 | |||
286 | 177 | - GD extension: | ||
287 | 178 | . Fixed bug #53492 (fix crash if anti-aliasing steps are invalid). (Pierre) | ||
288 | 179 | |||
289 | 180 | - GMP extension: | ||
290 | 181 | . Fixed bug #52906 (gmp_mod returns negative result when non-negative is | ||
291 | 182 | expected). (Stas) | ||
292 | 183 | . Fixed bug #52849 (GNU MP invalid version match). (Adam) | ||
293 | 184 | |||
294 | 185 | - Hash extension: | ||
295 | 186 | . Fixed bug #51003 (unaligned memory access in ext/hash/hash_tiger.c). | ||
296 | 187 | (Mike, Ilia) | ||
297 | 188 | |||
298 | 189 | - Iconv extension: | ||
299 | 190 | . Fixed bug #52941 (The 'iconv_mime_decode_headers' function is skipping | ||
300 | 191 | headers). (Adam) | ||
301 | 192 | . Fixed bug #52599 (iconv output handler outputs incorrect content type | ||
302 | 193 | when flags are used). (Ilia) | ||
303 | 194 | . Fixed bug #51250 (iconv_mime_decode() does not ignore malformed Q-encoded | ||
304 | 195 | words). (Ilia) | ||
305 | 196 | |||
306 | 197 | - Intl extension: | ||
307 | 198 | . Fixed crashes on invalid parameters in intl extension. (CVE-2010-4409). (Stas, Maksymilian | ||
308 | 199 | Arciemowicz) | ||
309 | 200 | . Added support for formatting the timestamp stored in a DateTime object. | ||
310 | 201 | (Stas) | ||
311 | 202 | . Fixed bug #50590 (IntlDateFormatter::parse result is limited to the integer | ||
312 | 203 | range). (Stas) | ||
313 | 204 | |||
314 | 205 | - Mbstring extension: | ||
315 | 206 | . Fixed bug #53273 (mb_strcut() returns garbage with the excessive length | ||
316 | 207 | parameter). (CVE-2010-4156) (Mateusz Kocielski, Pierre, Moriyoshi) | ||
317 | 208 | . Fixed bug #52981 (Unicode casing table was out-of-date. Updated with | ||
318 | 209 | UnicodeData-6.0.0d7.txt and included the source of the generator program with | ||
319 | 210 | the distribution) (Gustavo). | ||
320 | 211 | . Fixed bug #52681 (mb_send_mail() appends an extra MIME-Version header). | ||
321 | 212 | (Adam) | ||
322 | 213 | |||
323 | 214 | - MSSQL extension: | ||
324 | 215 | . Fixed possible crash in mssql_fetch_batch(). (Kalle) | ||
325 | 216 | . Fixed bug #52843 (Segfault when optional parameters are not passed in to | ||
326 | 217 | mssql_connect). (Felipe) | ||
327 | 218 | |||
328 | 219 | - MySQL extension: | ||
329 | 220 | . Fixed bug #52636 (php_mysql_fetch_hash writes long value into int). | ||
330 | 221 | (Kalle, rein at basefarm dot no) | ||
331 | 222 | |||
332 | 223 | - MySQLi extension: | ||
333 | 224 | . Fixed bug #52891 (Wrong data inserted with mysqli/mysqlnd when using | ||
334 | 225 | mysqli_stmt_bind_param and value> PHP_INT_MAX). (Andrey) | ||
335 | 226 | . Fixed bug #52686 (mysql_stmt_attr_[gs]et argument points to incorrect type). | ||
336 | 227 | (rein at basefarm dot no) | ||
337 | 228 | . Fixed bug #52654 (mysqli doesn't install headers with structures it uses). | ||
338 | 229 | (Andrey) | ||
339 | 230 | . Fixed bug #52433 (Call to undefined method mysqli::poll() - must be static). | ||
340 | 231 | (Andrey) | ||
341 | 232 | . Fixed bug #52417 (MySQLi build failure with mysqlnd on MacOS X). (Andrey) | ||
342 | 233 | . Fixed bug #52413 (MySQLi/libmysql build failure on OS X, FreeBSD). (Andrey) | ||
343 | 234 | . Fixed bug #52390 (mysqli_report() should be per-request setting). (Kalle) | ||
344 | 235 | . Fixed bug #52302 (mysqli_fetch_all does not work with MYSQLI_USE_RESULT). | ||
345 | 236 | (Andrey) | ||
346 | 237 | . Fixed bug #52221 (Misbehaviour of magic_quotes_runtime (get/set)). (Andrey) | ||
347 | 238 | . Fixed bug #45921 (Can't initialize character set hebrew). (Andrey) | ||
348 | 239 | |||
349 | 240 | - MySQLnd: | ||
350 | 241 | . Fixed bug #52613 (crash in mysqlnd after hitting memory limit). (Andrey) | ||
351 | 242 | |||
352 | 243 | - ODBC extension: | ||
353 | 244 | - Fixed bug #52512 (Broken error handling in odbc_execute). | ||
354 | 245 | (mkoegler at auto dot tuwien dot ac dot at) | ||
355 | 246 | |||
356 | 247 | - Openssl extension: | ||
357 | 248 | . Fixed possible blocking behavior in openssl_random_pseudo_bytes on Windows. | ||
358 | 249 | (Pierre) | ||
359 | 250 | . Fixed bug #53136 (Invalid read on openssl_csr_new()). (Felipe) | ||
360 | 251 | . Fixed bug #52947 (segfault when ssl stream option capture_peer_cert_chain | ||
361 | 252 | used). (Felipe) | ||
362 | 253 | |||
363 | 254 | - Oracle Database extension (OCI8): | ||
364 | 255 | . Fixed bug #53284 (Valgrind warnings in oci_set_* functions) (Oracle Corp.) | ||
365 | 256 | . Fixed bug #51610 (Using oci_connect causes PHP to take a long time to | ||
366 | 257 | exit). Requires Oracle 11.2.0.2 client libraries (or Oracle bug fix | ||
367 | 258 | 9891199) for this patch to have an effect. (Oracle Corp.) | ||
368 | 259 | |||
369 | 260 | - PCNTL extension: | ||
370 | 261 | . Fixed bug #52784 (Race condition when handling many concurrent signals). | ||
371 | 262 | (nick dot telford at gmail dot com, Arnaud) | ||
372 | 263 | |||
373 | 264 | - PCRE extension: | ||
374 | 265 | . Fixed bug #52971 (PCRE-Meta-Characters not working with utf-8). (Felipe) | ||
375 | 266 | . Fixed bug #52732 (Docs say preg_match() returns FALSE on error, but it | ||
376 | 267 | returns int(0)). (slugonamission at gmail dot com) | ||
377 | 268 | |||
378 | 269 | - PHAR extension: | ||
379 | 270 | . Fixed bug #50987 (unaligned memory access in phar.c). | ||
380 | 271 | (geissert at debian dot org, Ilia) | ||
381 | 272 | |||
382 | 273 | - PHP-FPM SAPI: | ||
383 | 274 | . Fixed bug #53412 (segfault when using -y). (fat) | ||
384 | 275 | . Fixed inconsistent backlog default value (-1) in FPM on many systems. (fat) | ||
385 | 276 | . Fixed bug #52501 (libevent made FPM crashed when forking -- libevent has | ||
386 | 277 | been removed). (fat) | ||
387 | 278 | . Fixed bug #52725 (gcc builtin atomic functions were sometimes used when they | ||
388 | 279 | were not available). (fat) | ||
389 | 280 | . Fixed bug #52693 (configuration file errors are not logged to stderr). (fat) | ||
390 | 281 | . Fixed bug #52674 (FPM Status page returns inconsistent Content-Type headers). | ||
391 | 282 | (fat) | ||
392 | 283 | . Fixed bug #52498 (libevent was not only linked to php-fpm). (fat) | ||
393 | 284 | |||
394 | 285 | - PDO: | ||
395 | 286 | . Fixed bug #52699 (PDO bindValue writes long int 32bit enum). | ||
396 | 287 | (rein at basefarm dot no) | ||
397 | 288 | . Fixed bug #52487 (PDO::FETCH_INTO leaks memory). (Felipe) | ||
398 | 289 | |||
399 | 290 | - PDO DBLib driver: | ||
400 | 291 | . Fixed bug #52546 (pdo_dblib segmentation fault when iterating MONEY values). | ||
401 | 292 | (Felipe) | ||
402 | 293 | |||
403 | 294 | - PDO Firebird driver: | ||
404 | 295 | . Restored firebird support (VC9 builds only). (Pierre) | ||
405 | 296 | . Fixed bug #53335 (pdo_firebird did not implement rowCount()). | ||
406 | 297 | (preeves at ibphoenix dot com) | ||
407 | 298 | . Fixed bug #53323 (pdo_firebird getAttribute() crash). | ||
408 | 299 | (preeves at ibphoenix dot com) | ||
409 | 300 | |||
410 | 301 | - PDO MySQL driver: | ||
411 | 302 | . Fixed bug #52745 (Binding params doesn't work when selecting a date inside a | ||
412 | 303 | CASE-WHEN). (Andrey) | ||
413 | 304 | |||
414 | 305 | - PostgreSQL extension: | ||
415 | 306 | . Fixed bug #47199 (pg_delete() fails on NULL). (ewgraf at gmail dot com) | ||
416 | 307 | |||
417 | 308 | - Reflection extension: | ||
418 | 309 | . Fixed ReflectionProperty::isDefault() giving a wrong result for properties | ||
419 | 310 | obtained with ReflectionClass::getProperties(). (Gustavo) | ||
420 | 311 | - Reflection extension: | ||
421 | 312 | . Fixed bug #53366 (Reflection doesnt get dynamic property value from | ||
422 | 313 | getProperty()). (Felipe) | ||
423 | 314 | . Fixed bug #52854 (ReflectionClass::newInstanceArgs does not work for classes | ||
424 | 315 | without constructors). (Johannes) | ||
425 | 316 | |||
426 | 317 | - SOAP extension: | ||
427 | 318 | . Fixed bug #44248 (RFC2616 transgression while HTTPS request through proxy | ||
428 | 319 | with SoapClient object). (Dmitry) | ||
429 | 320 | |||
430 | 321 | - SPL extension: | ||
431 | 322 | . Fixed bug #53362 (Segmentation fault when extending SplFixedArray). (Felipe) | ||
432 | 323 | . Fixed bug #53279 (SplFileObject doesn't initialise default CSV escape | ||
433 | 324 | character). (Adam) | ||
434 | 325 | . Fixed bug #53144 (Segfault in SplObjectStorage::removeAll()). (Felipe) | ||
435 | 326 | . Fixed bug #53071 (SPLObjectStorage defeats gc_collect_cycles). (Gustavo) | ||
436 | 327 | . Fixed bug #52573 (SplFileObject::fscanf Segmentation fault). (Felipe) | ||
437 | 328 | . Fixed bug #51763 (SplFileInfo::getType() does not work symbolic link | ||
438 | 329 | and directory). (Pierre) | ||
439 | 330 | . Fixed bug #50481 (Storing many SPLFixedArray in an array crashes). (Felipe) | ||
440 | 331 | . Fixed bug #50579 (RegexIterator::REPLACE doesn't work). (Felipe) | ||
441 | 332 | |||
442 | 333 | - SQLite3 extension: | ||
443 | 334 | . Fixed bug #53463 (sqlite3 columnName() segfaults on bad column_number). | ||
444 | 335 | (Felipe) | ||
445 | 336 | |||
446 | 337 | - Streams: | ||
447 | 338 | . Fixed forward stream seeking emulation in streams that don't support seeking | ||
448 | 339 | in situations where the read operation gives back less data than requested | ||
449 | 340 | and when there was data in the buffer before the emulation started. Also made | ||
450 | 341 | more consistent its behavior -- should return failure every time less data | ||
451 | 342 | than was requested was skipped. (Gustavo) | ||
452 | 343 | . Fixed bug #53241 (stream casting that relies on fdopen/fopencookie fails | ||
453 | 344 | with streams opened with, inter alia, the 'xb' mode). (Gustavo) | ||
454 | 345 | . Fixed bug #53006 (stream_get_contents has an unpredictable behavior when the | ||
455 | 346 | underlying stream does not support seeking). (Gustavo) | ||
456 | 347 | . Fixed bug #52944 (Invalid write on second and subsequent reads with an | ||
457 | 348 | inflate filter fed invalid data). (Gustavo) | ||
458 | 349 | . Fixed bug #52820 (writes to fopencookie FILE* not commited when seeking the | ||
459 | 350 | stream). (Gustavo) | ||
460 | 351 | |||
461 | 352 | - WDDX extension: | ||
462 | 353 | . Fixed bug #52468 (wddx_deserialize corrupts integer field value when left | ||
463 | 354 | empty). (Felipe) | ||
464 | 355 | |||
465 | 356 | - Zlib extension: | ||
466 | 357 | . Fixed bug #52926 (zlib fopen wrapper does not use context). (Gustavo) | ||
467 | 358 | |||
468 | 3 | 22 Jul 2010, PHP 5.3.3 | 359 | 22 Jul 2010, PHP 5.3.3 |
469 | 4 | - Upgraded bundled sqlite to version 3.6.23.1. (Ilia) | 360 | - Upgraded bundled sqlite to version 3.6.23.1. (Ilia) |
470 | 5 | - Upgraded bundled PCRE to version 8.02. (Ilia) | 361 | - Upgraded bundled PCRE to version 8.02. (Ilia) |
471 | @@ -234,8 +590,6 @@ | |||
472 | 234 | com, Pierre) | 590 | com, Pierre) |
473 | 235 | - Fixed bug #50578 (incorrect shebang in phar.phar). (Fedora at FamilleCollet | 591 | - Fixed bug #50578 (incorrect shebang in phar.phar). (Fedora at FamilleCollet |
474 | 236 | dot com) | 592 | dot com) |
475 | 237 | - Fixed bug #50555 (DateTime::sub() allows 'relative' time modifications). | ||
476 | 238 | (Derick) | ||
477 | 239 | - Fixed bug #50392 (date_create_from_format enforces 6 digits for 'u' format | 593 | - Fixed bug #50392 (date_create_from_format enforces 6 digits for 'u' format |
478 | 240 | character). (Derick) | 594 | character). (Derick) |
479 | 241 | - Fixed bug #50383 (Exceptions thrown in __call / __callStatic do not include | 595 | - Fixed bug #50383 (Exceptions thrown in __call / __callStatic do not include |
480 | @@ -243,6 +597,8 @@ | |||
481 | 243 | - Fixed bug #50358 (Compile failure compiling ext/phar/util.lo). (Felipe) | 597 | - Fixed bug #50358 (Compile failure compiling ext/phar/util.lo). (Felipe) |
482 | 244 | - Fixed bug #50101 (name clash between global and local variable). | 598 | - Fixed bug #50101 (name clash between global and local variable). |
483 | 245 | (patch by yoarvi at gmail dot com) | 599 | (patch by yoarvi at gmail dot com) |
484 | 600 | - Fixed bug #50055 (DateTime::sub() allows 'relative' time modifications). | ||
485 | 601 | (Derick) | ||
486 | 246 | - Fixed bug #51002 (fix possible memory corruption with very long names). | 602 | - Fixed bug #51002 (fix possible memory corruption with very long names). |
487 | 247 | (Pierre) | 603 | (Pierre) |
488 | 248 | - Fixed bug #49893 (Crash while creating an instance of Zend_Mail_Storage_Pop3). | 604 | - Fixed bug #49893 (Crash while creating an instance of Zend_Mail_Storage_Pop3). |
489 | 249 | 605 | ||
490 | === modified file 'TSRM/tsrm_virtual_cwd.c' | |||
491 | --- TSRM/tsrm_virtual_cwd.c 2010-08-01 11:58:54 +0000 | |||
492 | +++ TSRM/tsrm_virtual_cwd.c 2011-02-01 10:04:54 +0000 | |||
493 | @@ -14,10 +14,11 @@ | |||
494 | 14 | +----------------------------------------------------------------------+ | 14 | +----------------------------------------------------------------------+ |
495 | 15 | | Authors: Andi Gutmans <andi@zend.com> | | 15 | | Authors: Andi Gutmans <andi@zend.com> | |
496 | 16 | | Sascha Schumann <sascha@schumann.cx> | | 16 | | Sascha Schumann <sascha@schumann.cx> | |
497 | 17 | | Pierre Joye <pierre@php.net> | | ||
498 | 17 | +----------------------------------------------------------------------+ | 18 | +----------------------------------------------------------------------+ |
499 | 18 | */ | 19 | */ |
500 | 19 | 20 | ||
502 | 20 | /* $Id: tsrm_virtual_cwd.c 300276 2010-06-08 13:27:30Z tony2001 $ */ | 21 | /* $Id: tsrm_virtual_cwd.c 305070 2010-11-04 01:16:20Z pajoye $ */ |
503 | 21 | 22 | ||
504 | 22 | #include <sys/types.h> | 23 | #include <sys/types.h> |
505 | 23 | #include <sys/stat.h> | 24 | #include <sys/stat.h> |
506 | @@ -38,6 +39,18 @@ | |||
507 | 38 | # ifndef IO_REPARSE_TAG_SYMLINK | 39 | # ifndef IO_REPARSE_TAG_SYMLINK |
508 | 39 | # define IO_REPARSE_TAG_SYMLINK 0xA000000C | 40 | # define IO_REPARSE_TAG_SYMLINK 0xA000000C |
509 | 40 | # endif | 41 | # endif |
510 | 42 | |||
511 | 43 | # ifndef VOLUME_NAME_NT | ||
512 | 44 | # define VOLUME_NAME_NT 0x2 | ||
513 | 45 | # endif | ||
514 | 46 | |||
515 | 47 | # ifndef VOLUME_NAME_DOS | ||
516 | 48 | # define VOLUME_NAME_DOS 0x0 | ||
517 | 49 | # endif | ||
518 | 50 | #endif | ||
519 | 51 | |||
520 | 52 | #ifndef S_IFLNK | ||
521 | 53 | # define S_IFLNK 0120000 | ||
522 | 41 | #endif | 54 | #endif |
523 | 42 | 55 | ||
524 | 43 | #ifdef NETWARE | 56 | #ifdef NETWARE |
525 | @@ -83,14 +96,14 @@ | |||
526 | 83 | #include <tchar.h> | 96 | #include <tchar.h> |
527 | 84 | #define tsrm_strtok_r(a,b,c) _tcstok((a),(b)) | 97 | #define tsrm_strtok_r(a,b,c) _tcstok((a),(b)) |
528 | 85 | #define TOKENIZER_STRING "/\\" | 98 | #define TOKENIZER_STRING "/\\" |
531 | 86 | 99 | ||
532 | 87 | static int php_check_dots(const char *element, int n) | 100 | static int php_check_dots(const char *element, int n) |
533 | 88 | { | 101 | { |
534 | 89 | while (n-- > 0) if (element[n] != '.') break; | 102 | while (n-- > 0) if (element[n] != '.') break; |
535 | 90 | 103 | ||
536 | 91 | return (n != -1); | 104 | return (n != -1); |
537 | 92 | } | 105 | } |
539 | 93 | 106 | ||
540 | 94 | #define IS_DIRECTORY_UP(element, len) \ | 107 | #define IS_DIRECTORY_UP(element, len) \ |
541 | 95 | (len >= 2 && !php_check_dots(element, len)) | 108 | (len >= 2 && !php_check_dots(element, len)) |
542 | 96 | 109 | ||
543 | @@ -124,7 +137,7 @@ | |||
544 | 124 | 137 | ||
545 | 125 | /* define this to check semantics */ | 138 | /* define this to check semantics */ |
546 | 126 | #define IS_DIR_OK(s) (1) | 139 | #define IS_DIR_OK(s) (1) |
548 | 127 | 140 | ||
549 | 128 | #ifndef IS_DIR_OK | 141 | #ifndef IS_DIR_OK |
550 | 129 | #define IS_DIR_OK(state) (php_is_dir_ok(state) == 0) | 142 | #define IS_DIR_OK(state) (php_is_dir_ok(state) == 0) |
551 | 130 | #endif | 143 | #endif |
552 | @@ -137,7 +150,7 @@ | |||
553 | 137 | 150 | ||
554 | 138 | #define CWD_STATE_FREE(s) \ | 151 | #define CWD_STATE_FREE(s) \ |
555 | 139 | free((s)->cwd); | 152 | free((s)->cwd); |
557 | 140 | 153 | ||
558 | 141 | #ifdef TSRM_WIN32 | 154 | #ifdef TSRM_WIN32 |
559 | 142 | 155 | ||
560 | 143 | #ifdef CTL_CODE | 156 | #ifdef CTL_CODE |
561 | @@ -202,21 +215,98 @@ | |||
562 | 202 | return (time_t)UnixTime; | 215 | return (time_t)UnixTime; |
563 | 203 | } | 216 | } |
564 | 204 | 217 | ||
565 | 218 | CWD_API int php_sys_readlink(const char *link, char *target, size_t target_len){ /* {{{ */ | ||
566 | 219 | HINSTANCE kernel32; | ||
567 | 220 | HANDLE hFile; | ||
568 | 221 | DWORD dwRet; | ||
569 | 222 | |||
570 | 223 | typedef BOOL (WINAPI *gfpnh_func)(HANDLE, LPTSTR, DWORD, DWORD); | ||
571 | 224 | gfpnh_func pGetFinalPathNameByHandle; | ||
572 | 225 | |||
573 | 226 | kernel32 = LoadLibrary("kernel32.dll"); | ||
574 | 227 | |||
575 | 228 | if (kernel32) { | ||
576 | 229 | pGetFinalPathNameByHandle = (gfpnh_func)GetProcAddress(kernel32, "GetFinalPathNameByHandleA"); | ||
577 | 230 | if (pGetFinalPathNameByHandle == NULL) { | ||
578 | 231 | return -1; | ||
579 | 232 | } | ||
580 | 233 | } else { | ||
581 | 234 | return -1; | ||
582 | 235 | } | ||
583 | 236 | |||
584 | 237 | hFile = CreateFile(link, // file to open | ||
585 | 238 | GENERIC_READ, // open for reading | ||
586 | 239 | FILE_SHARE_READ, // share for reading | ||
587 | 240 | NULL, // default security | ||
588 | 241 | OPEN_EXISTING, // existing file only | ||
589 | 242 | FILE_FLAG_BACKUP_SEMANTICS, // normal file | ||
590 | 243 | NULL); // no attr. template | ||
591 | 244 | |||
592 | 245 | if( hFile == INVALID_HANDLE_VALUE) { | ||
593 | 246 | return -1; | ||
594 | 247 | } | ||
595 | 248 | |||
596 | 249 | dwRet = pGetFinalPathNameByHandle(hFile, target, MAXPATHLEN, VOLUME_NAME_DOS); | ||
597 | 250 | if(dwRet >= MAXPATHLEN) { | ||
598 | 251 | return -1; | ||
599 | 252 | } | ||
600 | 253 | |||
601 | 254 | CloseHandle(hFile); | ||
602 | 255 | |||
603 | 256 | if(dwRet > 4) { | ||
604 | 257 | /* Skip first 4 characters if they are "\??\" */ | ||
605 | 258 | if(target[0] == '\\' && target[1] == '\\' && target[2] == '?' && target[3] == '\\') { | ||
606 | 259 | char tmp[MAXPATHLEN]; | ||
607 | 260 | unsigned int offset = 4; | ||
608 | 261 | dwRet -= 4; | ||
609 | 262 | |||
610 | 263 | /* \??\UNC\ */ | ||
611 | 264 | if (dwRet > 7 && target[4] == 'U' && target[5] == 'N' && target[6] == 'C') { | ||
612 | 265 | offset += 2; | ||
613 | 266 | dwRet -= 2; | ||
614 | 267 | target[offset] = '\\'; | ||
615 | 268 | } | ||
616 | 269 | |||
617 | 270 | memcpy(tmp, target + offset, dwRet); | ||
618 | 271 | memcpy(target, tmp, dwRet); | ||
619 | 272 | } | ||
620 | 273 | } | ||
621 | 274 | |||
622 | 275 | target[dwRet] = '\0'; | ||
623 | 276 | return dwRet; | ||
624 | 277 | } | ||
625 | 278 | /* }}} */ | ||
626 | 279 | |||
627 | 205 | CWD_API int php_sys_stat(const char *path, struct stat *buf) /* {{{ */ | 280 | CWD_API int php_sys_stat(const char *path, struct stat *buf) /* {{{ */ |
628 | 206 | { | 281 | { |
629 | 282 | return php_sys_stat_ex(path, buf, 0); | ||
630 | 283 | } | ||
631 | 284 | /* }}} */ | ||
632 | 285 | |||
633 | 286 | CWD_API int php_sys_lstat(const char *path, struct stat *buf) /* {{{ */ | ||
634 | 287 | { | ||
635 | 288 | return php_sys_stat_ex(path, buf, 1); | ||
636 | 289 | } | ||
637 | 290 | /* }}} */ | ||
638 | 291 | |||
639 | 292 | CWD_API int php_sys_stat_ex(const char *path, struct stat *buf, int lstat) /* {{{ */ | ||
640 | 293 | { | ||
641 | 207 | WIN32_FILE_ATTRIBUTE_DATA data; | 294 | WIN32_FILE_ATTRIBUTE_DATA data; |
642 | 208 | __int64 t; | 295 | __int64 t; |
643 | 296 | const size_t path_len = strlen(path); | ||
644 | 209 | 297 | ||
645 | 210 | if (!GetFileAttributesEx(path, GetFileExInfoStandard, &data)) { | 298 | if (!GetFileAttributesEx(path, GetFileExInfoStandard, &data)) { |
646 | 211 | return stat(path, buf); | 299 | return stat(path, buf); |
647 | 212 | } | 300 | } |
648 | 213 | 301 | ||
650 | 214 | if (path[1] == ':') { | 302 | if (path_len >= 1 && path[1] == ':') { |
651 | 215 | if (path[0] >= 'A' && path[0] <= 'Z') { | 303 | if (path[0] >= 'A' && path[0] <= 'Z') { |
652 | 216 | buf->st_dev = buf->st_rdev = path[0] - 'A'; | 304 | buf->st_dev = buf->st_rdev = path[0] - 'A'; |
653 | 217 | } else { | 305 | } else { |
654 | 218 | buf->st_dev = buf->st_rdev = path[0] - 'a'; | 306 | buf->st_dev = buf->st_rdev = path[0] - 'a'; |
655 | 219 | } | 307 | } |
656 | 308 | } else if (IS_UNC_PATH(path, path_len)) { | ||
657 | 309 | buf->st_dev = buf->st_rdev = 0; | ||
658 | 220 | } else { | 310 | } else { |
659 | 221 | char cur_path[MAXPATHLEN+1]; | 311 | char cur_path[MAXPATHLEN+1]; |
660 | 222 | DWORD len = sizeof(cur_path); | 312 | DWORD len = sizeof(cur_path); |
661 | @@ -245,19 +335,56 @@ | |||
662 | 245 | } | 335 | } |
663 | 246 | if (tmp != cur_path) { | 336 | if (tmp != cur_path) { |
664 | 247 | free(tmp); | 337 | free(tmp); |
666 | 248 | } | 338 | } |
667 | 249 | } | 339 | } |
668 | 340 | |||
669 | 250 | buf->st_uid = buf->st_gid = buf->st_ino = 0; | 341 | buf->st_uid = buf->st_gid = buf->st_ino = 0; |
672 | 251 | buf->st_mode = (data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) ? (S_IFDIR|S_IEXEC|(S_IEXEC>>3)|(S_IEXEC>>6)) : S_IFREG; | 342 | |
673 | 252 | buf->st_mode |= (data.dwFileAttributes & FILE_ATTRIBUTE_READONLY) ? (S_IREAD|(S_IREAD>>3)|(S_IREAD>>6)) : (S_IREAD|(S_IREAD>>3)|(S_IREAD>>6)|S_IWRITE|(S_IWRITE>>3)|(S_IWRITE>>6)); | 343 | if (lstat && data.dwFileAttributes & FILE_ATTRIBUTE_REPARSE_POINT) { |
674 | 344 | /* File is a reparse point. Get the target */ | ||
675 | 345 | HANDLE hLink = NULL; | ||
676 | 346 | REPARSE_DATA_BUFFER * pbuffer; | ||
677 | 347 | unsigned int retlength = 0; | ||
678 | 348 | TSRM_ALLOCA_FLAG(use_heap_large); | ||
679 | 349 | |||
680 | 350 | hLink = CreateFile(path, GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_FLAG_OPEN_REPARSE_POINT|FILE_FLAG_BACKUP_SEMANTICS, NULL); | ||
681 | 351 | if(hLink == INVALID_HANDLE_VALUE) { | ||
682 | 352 | return -1; | ||
683 | 353 | } | ||
684 | 354 | |||
685 | 355 | pbuffer = (REPARSE_DATA_BUFFER *)tsrm_do_alloca(MAXIMUM_REPARSE_DATA_BUFFER_SIZE, use_heap_large); | ||
686 | 356 | if(!DeviceIoControl(hLink, FSCTL_GET_REPARSE_POINT, NULL, 0, pbuffer, MAXIMUM_REPARSE_DATA_BUFFER_SIZE, &retlength, NULL)) { | ||
687 | 357 | tsrm_free_alloca(pbuffer, use_heap_large); | ||
688 | 358 | CloseHandle(hLink); | ||
689 | 359 | return -1; | ||
690 | 360 | } | ||
691 | 361 | |||
692 | 362 | CloseHandle(hLink); | ||
693 | 363 | |||
694 | 364 | if(pbuffer->ReparseTag == IO_REPARSE_TAG_SYMLINK) { | ||
695 | 365 | buf->st_mode = S_IFLNK; | ||
696 | 366 | buf->st_mode |= (data.dwFileAttributes & FILE_ATTRIBUTE_READONLY) ? (S_IREAD|(S_IREAD>>3)|(S_IREAD>>6)) : (S_IREAD|(S_IREAD>>3)|(S_IREAD>>6)|S_IWRITE|(S_IWRITE>>3)|(S_IWRITE>>6)); | ||
697 | 367 | } | ||
698 | 368 | |||
699 | 369 | #if 0 /* Not used yet */ | ||
700 | 370 | else if(pbuffer->ReparseTag == IO_REPARSE_TAG_MOUNT_POINT) { | ||
701 | 371 | buf->st_mode |=; | ||
702 | 372 | } | ||
703 | 373 | #endif | ||
704 | 374 | tsrm_free_alloca(pbuffer, use_heap_large); | ||
705 | 375 | } else { | ||
706 | 376 | buf->st_mode = (data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) ? (S_IFDIR|S_IEXEC|(S_IEXEC>>3)|(S_IEXEC>>6)) : S_IFREG; | ||
707 | 377 | buf->st_mode |= (data.dwFileAttributes & FILE_ATTRIBUTE_READONLY) ? (S_IREAD|(S_IREAD>>3)|(S_IREAD>>6)) : (S_IREAD|(S_IREAD>>3)|(S_IREAD>>6)|S_IWRITE|(S_IWRITE>>3)|(S_IWRITE>>6)); | ||
708 | 378 | } | ||
709 | 379 | |||
710 | 253 | if ((data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) == 0) { | 380 | if ((data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) == 0) { |
711 | 254 | int len = strlen(path); | 381 | int len = strlen(path); |
712 | 255 | 382 | ||
713 | 256 | if (path[len-4] == '.') { | 383 | if (path[len-4] == '.') { |
714 | 257 | if (_memicmp(path+len-3, "exe", 3) == 0 || | 384 | if (_memicmp(path+len-3, "exe", 3) == 0 || |
718 | 258 | _memicmp(path+len-3, "com", 3) == 0 || | 385 | _memicmp(path+len-3, "com", 3) == 0 || |
719 | 259 | _memicmp(path+len-3, "bat", 3) == 0 || | 386 | _memicmp(path+len-3, "bat", 3) == 0 || |
720 | 260 | _memicmp(path+len-3, "cmd", 3) == 0) { | 387 | _memicmp(path+len-3, "cmd", 3) == 0) { |
721 | 261 | buf->st_mode |= (S_IEXEC|(S_IEXEC>>3)|(S_IEXEC>>6)); | 388 | buf->st_mode |= (S_IEXEC|(S_IEXEC>>3)|(S_IEXEC>>6)); |
722 | 262 | } | 389 | } |
723 | 263 | } | 390 | } |
724 | @@ -332,7 +459,7 @@ | |||
725 | 332 | } | 459 | } |
726 | 333 | } | 460 | } |
727 | 334 | #else | 461 | #else |
729 | 335 | result = getcwd(cwd, sizeof(cwd)); | 462 | result = getcwd(cwd, sizeof(cwd)); |
730 | 336 | #endif | 463 | #endif |
731 | 337 | if (!result) { | 464 | if (!result) { |
732 | 338 | cwd[0] = '\0'; | 465 | cwd[0] = '\0'; |
733 | @@ -383,7 +510,7 @@ | |||
734 | 383 | *length = 1; | 510 | *length = 1; |
735 | 384 | retval = (char *) malloc(2); | 511 | retval = (char *) malloc(2); |
736 | 385 | retval[0] = DEFAULT_SLASH; | 512 | retval[0] = DEFAULT_SLASH; |
738 | 386 | retval[1] = '\0'; | 513 | retval[1] = '\0'; |
739 | 387 | return retval; | 514 | return retval; |
740 | 388 | } | 515 | } |
741 | 389 | 516 | ||
742 | @@ -493,7 +620,7 @@ | |||
743 | 493 | 620 | ||
744 | 494 | while (*bucket != NULL) { | 621 | while (*bucket != NULL) { |
745 | 495 | if (key == (*bucket)->key && path_len == (*bucket)->path_len && | 622 | if (key == (*bucket)->key && path_len == (*bucket)->path_len && |
747 | 496 | memcmp(path, (*bucket)->path, path_len) == 0) { | 623 | memcmp(path, (*bucket)->path, path_len) == 0) { |
748 | 497 | realpath_cache_bucket *r = *bucket; | 624 | realpath_cache_bucket *r = *bucket; |
749 | 498 | *bucket = (*bucket)->next; | 625 | *bucket = (*bucket)->next; |
750 | 499 | CWDG(realpath_cache_size) -= sizeof(realpath_cache_bucket) + r->path_len + 1 + r->realpath_len + 1; | 626 | CWDG(realpath_cache_size) -= sizeof(realpath_cache_bucket) + r->path_len + 1 + r->realpath_len + 1; |
751 | @@ -510,9 +637,9 @@ | |||
752 | 510 | { | 637 | { |
753 | 511 | long size = sizeof(realpath_cache_bucket) + path_len + 1; | 638 | long size = sizeof(realpath_cache_bucket) + path_len + 1; |
754 | 512 | int same = 1; | 639 | int same = 1; |
756 | 513 | 640 | ||
757 | 514 | if (realpath_len != path_len || | 641 | if (realpath_len != path_len || |
759 | 515 | memcmp(path, realpath, path_len) != 0) { | 642 | memcmp(path, realpath, path_len) != 0) { |
760 | 516 | size += realpath_len + 1; | 643 | size += realpath_len + 1; |
761 | 517 | same = 0; | 644 | same = 0; |
762 | 518 | } | 645 | } |
763 | @@ -570,7 +697,7 @@ | |||
764 | 570 | CWDG(realpath_cache_size) -= sizeof(realpath_cache_bucket) + r->path_len + 1 + r->realpath_len + 1; | 697 | CWDG(realpath_cache_size) -= sizeof(realpath_cache_bucket) + r->path_len + 1 + r->realpath_len + 1; |
765 | 571 | free(r); | 698 | free(r); |
766 | 572 | } else if (key == (*bucket)->key && path_len == (*bucket)->path_len && | 699 | } else if (key == (*bucket)->key && path_len == (*bucket)->path_len && |
768 | 573 | memcmp(path, (*bucket)->path, path_len) == 0) { | 700 | memcmp(path, (*bucket)->path, path_len) == 0) { |
769 | 574 | return *bucket; | 701 | return *bucket; |
770 | 575 | } else { | 702 | } else { |
771 | 576 | bucket = &(*bucket)->next; | 703 | bucket = &(*bucket)->next; |
772 | @@ -582,21 +709,21 @@ | |||
773 | 582 | 709 | ||
774 | 583 | CWD_API realpath_cache_bucket* realpath_cache_lookup(const char *path, int path_len, time_t t TSRMLS_DC) /* {{{ */ | 710 | CWD_API realpath_cache_bucket* realpath_cache_lookup(const char *path, int path_len, time_t t TSRMLS_DC) /* {{{ */ |
775 | 584 | { | 711 | { |
777 | 585 | return realpath_cache_find(path, path_len, t TSRMLS_CC); | 712 | return realpath_cache_find(path, path_len, t TSRMLS_CC); |
778 | 586 | } | 713 | } |
779 | 587 | /* }}} */ | 714 | /* }}} */ |
780 | 588 | 715 | ||
782 | 589 | CWD_API int realpath_cache_size(TSRMLS_D) | 716 | CWD_API int realpath_cache_size(TSRMLS_D) |
783 | 590 | { | 717 | { |
784 | 591 | return CWDG(realpath_cache_size); | 718 | return CWDG(realpath_cache_size); |
785 | 592 | } | 719 | } |
786 | 593 | 720 | ||
788 | 594 | CWD_API int realpath_cache_max_buckets(TSRMLS_D) | 721 | CWD_API int realpath_cache_max_buckets(TSRMLS_D) |
789 | 595 | { | 722 | { |
790 | 596 | return (sizeof(CWDG(realpath_cache)) / sizeof(CWDG(realpath_cache)[0])); | 723 | return (sizeof(CWDG(realpath_cache)) / sizeof(CWDG(realpath_cache)[0])); |
791 | 597 | } | 724 | } |
792 | 598 | 725 | ||
794 | 599 | CWD_API realpath_cache_bucket** realpath_cache_get_buckets(TSRMLS_D) | 726 | CWD_API realpath_cache_bucket** realpath_cache_get_buckets(TSRMLS_D) |
795 | 600 | { | 727 | { |
796 | 601 | return CWDG(realpath_cache); | 728 | return CWDG(realpath_cache); |
797 | 602 | } | 729 | } |
798 | @@ -650,14 +777,14 @@ | |||
799 | 650 | if (!start) { | 777 | if (!start) { |
800 | 651 | /* leading '..' must not be removed in case of relative path */ | 778 | /* leading '..' must not be removed in case of relative path */ |
801 | 652 | if (j == 0 && path[0] == '.' && path[1] == '.' && | 779 | if (j == 0 && path[0] == '.' && path[1] == '.' && |
803 | 653 | IS_SLASH(path[2])) { | 780 | IS_SLASH(path[2])) { |
804 | 654 | path[3] = '.'; | 781 | path[3] = '.'; |
805 | 655 | path[4] = '.'; | 782 | path[4] = '.'; |
806 | 656 | path[5] = DEFAULT_SLASH; | 783 | path[5] = DEFAULT_SLASH; |
807 | 657 | j = 5; | 784 | j = 5; |
811 | 658 | } else if (j > 0 && | 785 | } else if (j > 0 && |
812 | 659 | path[j+1] == '.' && path[j+2] == '.' && | 786 | path[j+1] == '.' && path[j+2] == '.' && |
813 | 660 | IS_SLASH(path[j+3])) { | 787 | IS_SLASH(path[j+3])) { |
814 | 661 | j += 4; | 788 | j += 4; |
815 | 662 | path[j++] = '.'; | 789 | path[j++] = '.'; |
816 | 663 | path[j++] = '.'; | 790 | path[j++] = '.'; |
817 | @@ -673,7 +800,7 @@ | |||
818 | 673 | } | 800 | } |
819 | 674 | return j; | 801 | return j; |
820 | 675 | } | 802 | } |
822 | 676 | 803 | ||
823 | 677 | path[len] = 0; | 804 | path[len] = 0; |
824 | 678 | 805 | ||
825 | 679 | save = (use_realpath != CWD_EXPAND); | 806 | save = (use_realpath != CWD_EXPAND); |
826 | @@ -683,18 +810,18 @@ | |||
827 | 683 | if (!*t) { | 810 | if (!*t) { |
828 | 684 | *t = time(0); | 811 | *t = time(0); |
829 | 685 | } | 812 | } |
832 | 686 | if ((bucket = realpath_cache_find(path, len, *t TSRMLS_CC)) != NULL) { | 813 | if ((bucket = realpath_cache_find(path, len, *t TSRMLS_CC)) != NULL) { |
833 | 687 | if (is_dir && !bucket->is_dir) { | 814 | if (is_dir && !bucket->is_dir) { |
834 | 688 | /* not a directory */ | 815 | /* not a directory */ |
835 | 689 | return -1; | 816 | return -1; |
840 | 690 | } else { | 817 | } else { |
841 | 691 | if (link_is_dir) { | 818 | if (link_is_dir) { |
842 | 692 | *link_is_dir = bucket->is_dir; | 819 | *link_is_dir = bucket->is_dir; |
843 | 693 | } | 820 | } |
844 | 694 | memcpy(path, bucket->realpath, bucket->realpath_len + 1); | 821 | memcpy(path, bucket->realpath, bucket->realpath_len + 1); |
846 | 695 | return bucket->realpath_len; | 822 | return bucket->realpath_len; |
847 | 696 | } | 823 | } |
849 | 697 | } | 824 | } |
850 | 698 | } | 825 | } |
851 | 699 | 826 | ||
852 | 700 | #ifdef TSRM_WIN32 | 827 | #ifdef TSRM_WIN32 |
853 | @@ -706,7 +833,7 @@ | |||
854 | 706 | /* continue resolution anyway but don't save result in the cache */ | 833 | /* continue resolution anyway but don't save result in the cache */ |
855 | 707 | save = 0; | 834 | save = 0; |
856 | 708 | } | 835 | } |
858 | 709 | 836 | ||
859 | 710 | if (save) { | 837 | if (save) { |
860 | 711 | FindClose(hFind); | 838 | FindClose(hFind); |
861 | 712 | } | 839 | } |
862 | @@ -714,9 +841,9 @@ | |||
863 | 714 | tmp = tsrm_do_alloca(len+1, use_heap); | 841 | tmp = tsrm_do_alloca(len+1, use_heap); |
864 | 715 | memcpy(tmp, path, len+1); | 842 | memcpy(tmp, path, len+1); |
865 | 716 | 843 | ||
869 | 717 | if(save && | 844 | if(save && |
870 | 718 | !(IS_UNC_PATH(path, len) && len >= 3 && path[2] != '?') && | 845 | !(IS_UNC_PATH(path, len) && len >= 3 && path[2] != '?') && |
871 | 719 | (data.dwFileAttributes & FILE_ATTRIBUTE_REPARSE_POINT)) { | 846 | (data.dwFileAttributes & FILE_ATTRIBUTE_REPARSE_POINT)) { |
872 | 720 | /* File is a reparse point. Get the target */ | 847 | /* File is a reparse point. Get the target */ |
873 | 721 | HANDLE hLink = NULL; | 848 | HANDLE hLink = NULL; |
874 | 722 | REPARSE_DATA_BUFFER * pbuffer; | 849 | REPARSE_DATA_BUFFER * pbuffer; |
875 | @@ -751,7 +878,7 @@ | |||
876 | 751 | reparsetarget = pbuffer->SymbolicLinkReparseBuffer.ReparseTarget; | 878 | reparsetarget = pbuffer->SymbolicLinkReparseBuffer.ReparseTarget; |
877 | 752 | printname_len = pbuffer->MountPointReparseBuffer.PrintNameLength / sizeof(WCHAR); | 879 | printname_len = pbuffer->MountPointReparseBuffer.PrintNameLength / sizeof(WCHAR); |
878 | 753 | isabsolute = (pbuffer->SymbolicLinkReparseBuffer.Flags == 0) ? 1 : 0; | 880 | isabsolute = (pbuffer->SymbolicLinkReparseBuffer.Flags == 0) ? 1 : 0; |
880 | 754 | if (!WideCharToMultiByte(CP_THREAD_ACP, 0, | 881 | if (!WideCharToMultiByte(CP_THREAD_ACP, 0, |
881 | 755 | reparsetarget + pbuffer->MountPointReparseBuffer.PrintNameOffset / sizeof(WCHAR), | 882 | reparsetarget + pbuffer->MountPointReparseBuffer.PrintNameOffset / sizeof(WCHAR), |
882 | 756 | printname_len + 1, | 883 | printname_len + 1, |
883 | 757 | printname, MAX_PATH, NULL, NULL | 884 | printname, MAX_PATH, NULL, NULL |
884 | @@ -763,7 +890,7 @@ | |||
885 | 763 | printname[printname_len] = 0; | 890 | printname[printname_len] = 0; |
886 | 764 | 891 | ||
887 | 765 | substitutename_len = pbuffer->MountPointReparseBuffer.SubstituteNameLength / sizeof(WCHAR); | 892 | substitutename_len = pbuffer->MountPointReparseBuffer.SubstituteNameLength / sizeof(WCHAR); |
889 | 766 | if (!WideCharToMultiByte(CP_THREAD_ACP, 0, | 893 | if (!WideCharToMultiByte(CP_THREAD_ACP, 0, |
890 | 767 | reparsetarget + pbuffer->MountPointReparseBuffer.SubstituteNameOffset / sizeof(WCHAR), | 894 | reparsetarget + pbuffer->MountPointReparseBuffer.SubstituteNameOffset / sizeof(WCHAR), |
891 | 768 | substitutename_len + 1, | 895 | substitutename_len + 1, |
892 | 769 | substitutename, MAX_PATH, NULL, NULL | 896 | substitutename, MAX_PATH, NULL, NULL |
893 | @@ -777,7 +904,7 @@ | |||
894 | 777 | isabsolute = 1; | 904 | isabsolute = 1; |
895 | 778 | reparsetarget = pbuffer->MountPointReparseBuffer.ReparseTarget; | 905 | reparsetarget = pbuffer->MountPointReparseBuffer.ReparseTarget; |
896 | 779 | printname_len = pbuffer->MountPointReparseBuffer.PrintNameLength / sizeof(WCHAR); | 906 | printname_len = pbuffer->MountPointReparseBuffer.PrintNameLength / sizeof(WCHAR); |
898 | 780 | if (!WideCharToMultiByte(CP_THREAD_ACP, 0, | 907 | if (!WideCharToMultiByte(CP_THREAD_ACP, 0, |
899 | 781 | reparsetarget + pbuffer->MountPointReparseBuffer.PrintNameOffset / sizeof(WCHAR), | 908 | reparsetarget + pbuffer->MountPointReparseBuffer.PrintNameOffset / sizeof(WCHAR), |
900 | 782 | printname_len + 1, | 909 | printname_len + 1, |
901 | 783 | printname, MAX_PATH, NULL, NULL | 910 | printname, MAX_PATH, NULL, NULL |
902 | @@ -788,7 +915,7 @@ | |||
903 | 788 | printname[pbuffer->MountPointReparseBuffer.PrintNameLength / sizeof(WCHAR)] = 0; | 915 | printname[pbuffer->MountPointReparseBuffer.PrintNameLength / sizeof(WCHAR)] = 0; |
904 | 789 | 916 | ||
905 | 790 | substitutename_len = pbuffer->MountPointReparseBuffer.SubstituteNameLength / sizeof(WCHAR); | 917 | substitutename_len = pbuffer->MountPointReparseBuffer.SubstituteNameLength / sizeof(WCHAR); |
907 | 791 | if (!WideCharToMultiByte(CP_THREAD_ACP, 0, | 918 | if (!WideCharToMultiByte(CP_THREAD_ACP, 0, |
908 | 792 | reparsetarget + pbuffer->MountPointReparseBuffer.SubstituteNameOffset / sizeof(WCHAR), | 919 | reparsetarget + pbuffer->MountPointReparseBuffer.SubstituteNameOffset / sizeof(WCHAR), |
909 | 793 | substitutename_len + 1, | 920 | substitutename_len + 1, |
910 | 794 | substitutename, MAX_PATH, NULL, NULL | 921 | substitutename, MAX_PATH, NULL, NULL |
911 | @@ -803,20 +930,22 @@ | |||
912 | 803 | } | 930 | } |
913 | 804 | 931 | ||
914 | 805 | if(isabsolute && substitutename_len > 4) { | 932 | if(isabsolute && substitutename_len > 4) { |
916 | 806 | /* Do not resolve volumes (for now). A mounted point can | 933 | /* Do not resolve volumes (for now). A mounted point can |
917 | 807 | target a volume without a drive, it is not certain that | 934 | target a volume without a drive, it is not certain that |
919 | 808 | all IO functions we use in php and its deps support | 935 | all IO functions we use in php and its deps support |
920 | 809 | path with volume GUID instead of the DOS way, like: | 936 | path with volume GUID instead of the DOS way, like: |
921 | 810 | d:\test\mnt\foo | 937 | d:\test\mnt\foo |
922 | 811 | \\?\Volume{62d1c3f8-83b9-11de-b108-806e6f6e6963}\foo | 938 | \\?\Volume{62d1c3f8-83b9-11de-b108-806e6f6e6963}\foo |
923 | 812 | */ | 939 | */ |
927 | 813 | if (strncmp(substitutename, "\\??\\Volume{",11) == 0 | 940 | if (strncmp(substitutename, "\\??\\Volume{",11) == 0 |
928 | 814 | || strncmp(substitutename, "\\\\?\\Volume{",11) == 0) { | 941 | || strncmp(substitutename, "\\\\?\\Volume{",11) == 0 |
929 | 815 | isVolume = TRUE; | 942 | || strncmp(substitutename, "\\??\\UNC\\", 8) == 0 |
930 | 943 | ) { | ||
931 | 944 | isVolume = TRUE; | ||
932 | 816 | substitutename_off = 0; | 945 | substitutename_off = 0; |
933 | 817 | } else | 946 | } else |
934 | 818 | /* do not use the \??\ and \\?\ prefix*/ | 947 | /* do not use the \??\ and \\?\ prefix*/ |
936 | 819 | if (strncmp(substitutename, "\\??\\", 4) == 0 | 948 | if (strncmp(substitutename, "\\??\\", 4) == 0 |
937 | 820 | || strncmp(substitutename, "\\\\?\\", 4) == 0) { | 949 | || strncmp(substitutename, "\\\\?\\", 4) == 0) { |
938 | 821 | substitutename_off = 4; | 950 | substitutename_off = 4; |
939 | 822 | } | 951 | } |
940 | @@ -887,7 +1016,7 @@ | |||
941 | 887 | tmp = tsrm_do_alloca(len+1, use_heap); | 1016 | tmp = tsrm_do_alloca(len+1, use_heap); |
942 | 888 | memcpy(tmp, path, len+1); | 1017 | memcpy(tmp, path, len+1); |
943 | 889 | #else | 1018 | #else |
945 | 890 | if (save && lstat(path, &st) < 0) { | 1019 | if (save && php_sys_lstat(path, &st) < 0) { |
946 | 891 | if (use_realpath == CWD_REALPATH) { | 1020 | if (use_realpath == CWD_REALPATH) { |
947 | 892 | /* file not found */ | 1021 | /* file not found */ |
948 | 893 | return -1; | 1022 | return -1; |
949 | @@ -900,8 +1029,8 @@ | |||
950 | 900 | memcpy(tmp, path, len+1); | 1029 | memcpy(tmp, path, len+1); |
951 | 901 | 1030 | ||
952 | 902 | if (save && S_ISLNK(st.st_mode)) { | 1031 | if (save && S_ISLNK(st.st_mode)) { |
955 | 903 | if (++(*ll) > LINK_MAX || (j = readlink(tmp, path, MAXPATHLEN)) < 0) { | 1032 | if (++(*ll) > LINK_MAX || (j = php_sys_readlink(tmp, path, MAXPATHLEN)) < 0) { |
956 | 904 | /* too many links or broken symlinks */ | 1033 | /* too many links or broken symlinks */ |
957 | 905 | tsrm_free_alloca(tmp, use_heap); | 1034 | tsrm_free_alloca(tmp, use_heap); |
958 | 906 | return -1; | 1035 | return -1; |
959 | 907 | } | 1036 | } |
960 | @@ -913,10 +1042,10 @@ | |||
961 | 913 | return -1; | 1042 | return -1; |
962 | 914 | } | 1043 | } |
963 | 915 | } else { | 1044 | } else { |
965 | 916 | if (i + j >= MAXPATHLEN-1) { | 1045 | if (i + j >= MAXPATHLEN-1) { |
966 | 917 | tsrm_free_alloca(tmp, use_heap); | 1046 | tsrm_free_alloca(tmp, use_heap); |
967 | 918 | return -1; /* buffer overflow */ | 1047 | return -1; /* buffer overflow */ |
969 | 919 | } | 1048 | } |
970 | 920 | memmove(path+i, path, j+1); | 1049 | memmove(path+i, path, j+1); |
971 | 921 | memcpy(path, tmp, i-1); | 1050 | memcpy(path, tmp, i-1); |
972 | 922 | path[i-1] = DEFAULT_SLASH; | 1051 | path[i-1] = DEFAULT_SLASH; |
973 | @@ -1038,18 +1167,18 @@ | |||
974 | 1038 | state_cwd_length = 2; | 1167 | state_cwd_length = 2; |
975 | 1039 | while (IS_SLASH(state->cwd[state_cwd_length])) { | 1168 | while (IS_SLASH(state->cwd[state_cwd_length])) { |
976 | 1040 | state_cwd_length++; | 1169 | state_cwd_length++; |
978 | 1041 | } | 1170 | } |
979 | 1042 | while (state->cwd[state_cwd_length] && | 1171 | while (state->cwd[state_cwd_length] && |
981 | 1043 | !IS_SLASH(state->cwd[state_cwd_length])) { | 1172 | !IS_SLASH(state->cwd[state_cwd_length])) { |
982 | 1044 | state_cwd_length++; | 1173 | state_cwd_length++; |
984 | 1045 | } | 1174 | } |
985 | 1046 | while (IS_SLASH(state->cwd[state_cwd_length])) { | 1175 | while (IS_SLASH(state->cwd[state_cwd_length])) { |
986 | 1047 | state_cwd_length++; | 1176 | state_cwd_length++; |
988 | 1048 | } | 1177 | } |
989 | 1049 | while (state->cwd[state_cwd_length] && | 1178 | while (state->cwd[state_cwd_length] && |
991 | 1050 | !IS_SLASH(state->cwd[state_cwd_length])) { | 1179 | !IS_SLASH(state->cwd[state_cwd_length])) { |
992 | 1051 | state_cwd_length++; | 1180 | state_cwd_length++; |
994 | 1052 | } | 1181 | } |
995 | 1053 | } | 1182 | } |
996 | 1054 | } | 1183 | } |
997 | 1055 | #endif | 1184 | #endif |
998 | @@ -1061,7 +1190,7 @@ | |||
999 | 1061 | memcpy(resolved_path + state_cwd_length + 1, path, path_length + 1); | 1190 | memcpy(resolved_path + state_cwd_length + 1, path, path_length + 1); |
1000 | 1062 | path_length += state_cwd_length + 1; | 1191 | path_length += state_cwd_length + 1; |
1001 | 1063 | } | 1192 | } |
1003 | 1064 | } else { | 1193 | } else { |
1004 | 1065 | #ifdef TSRM_WIN32 | 1194 | #ifdef TSRM_WIN32 |
1005 | 1066 | if (path_length > 2 && path[1] == ':' && !IS_SLASH(path[2])) { | 1195 | if (path_length > 2 && path[1] == ':' && !IS_SLASH(path[2])) { |
1006 | 1067 | resolved_path[0] = path[0]; | 1196 | resolved_path[0] = path[0]; |
1007 | @@ -1072,11 +1201,11 @@ | |||
1008 | 1072 | } else | 1201 | } else |
1009 | 1073 | #endif | 1202 | #endif |
1010 | 1074 | memcpy(resolved_path, path, path_length + 1); | 1203 | memcpy(resolved_path, path, path_length + 1); |
1012 | 1075 | } | 1204 | } |
1013 | 1076 | 1205 | ||
1014 | 1077 | #ifdef TSRM_WIN32 | 1206 | #ifdef TSRM_WIN32 |
1015 | 1078 | if (memchr(resolved_path, '*', path_length) || | 1207 | if (memchr(resolved_path, '*', path_length) || |
1017 | 1079 | memchr(resolved_path, '?', path_length)) { | 1208 | memchr(resolved_path, '?', path_length)) { |
1018 | 1080 | return 1; | 1209 | return 1; |
1019 | 1081 | } | 1210 | } |
1020 | 1082 | #endif | 1211 | #endif |
1021 | @@ -1126,12 +1255,12 @@ | |||
1022 | 1126 | add_slash = (use_realpath != CWD_REALPATH) && path_length > 0 && IS_SLASH(resolved_path[path_length-1]); | 1255 | add_slash = (use_realpath != CWD_REALPATH) && path_length > 0 && IS_SLASH(resolved_path[path_length-1]); |
1023 | 1127 | t = CWDG(realpath_cache_ttl) ? 0 : -1; | 1256 | t = CWDG(realpath_cache_ttl) ? 0 : -1; |
1024 | 1128 | path_length = tsrm_realpath_r(resolved_path, start, path_length, &ll, &t, use_realpath, 0, NULL TSRMLS_CC); | 1257 | path_length = tsrm_realpath_r(resolved_path, start, path_length, &ll, &t, use_realpath, 0, NULL TSRMLS_CC); |
1026 | 1129 | 1258 | ||
1027 | 1130 | if (path_length < 0) { | 1259 | if (path_length < 0) { |
1028 | 1131 | errno = ENOENT; | 1260 | errno = ENOENT; |
1029 | 1132 | return 1; | 1261 | return 1; |
1030 | 1133 | } | 1262 | } |
1032 | 1134 | 1263 | ||
1033 | 1135 | if (!start && !path_length) { | 1264 | if (!start && !path_length) { |
1034 | 1136 | resolved_path[path_length++] = '.'; | 1265 | resolved_path[path_length++] = '.'; |
1035 | 1137 | } | 1266 | } |
1036 | @@ -1184,7 +1313,7 @@ | |||
1037 | 1184 | memcpy(state->cwd, resolved_path, state->cwd_length+1); | 1313 | memcpy(state->cwd, resolved_path, state->cwd_length+1); |
1038 | 1185 | ret = 0; | 1314 | ret = 0; |
1039 | 1186 | } | 1315 | } |
1041 | 1187 | 1316 | ||
1042 | 1188 | #if VIRTUAL_CWD_DEBUG | 1317 | #if VIRTUAL_CWD_DEBUG |
1043 | 1189 | fprintf (stderr, "virtual_file_ex() = %s\n",state->cwd); | 1318 | fprintf (stderr, "virtual_file_ex() = %s\n",state->cwd); |
1044 | 1190 | #endif | 1319 | #endif |
1045 | @@ -1207,7 +1336,7 @@ | |||
1046 | 1207 | 1336 | ||
1047 | 1208 | if (length == 0) { | 1337 | if (length == 0) { |
1048 | 1209 | return 1; /* Can't cd to empty string */ | 1338 | return 1; /* Can't cd to empty string */ |
1050 | 1210 | } | 1339 | } |
1051 | 1211 | while(--length >= 0 && !IS_SLASH(path[length])) { | 1340 | while(--length >= 0 && !IS_SLASH(path[length])) { |
1052 | 1212 | } | 1341 | } |
1053 | 1213 | 1342 | ||
1054 | @@ -1242,16 +1371,16 @@ | |||
1055 | 1242 | if (!*path) { | 1371 | if (!*path) { |
1056 | 1243 | new_state.cwd = (char*)malloc(1); | 1372 | new_state.cwd = (char*)malloc(1); |
1057 | 1244 | new_state.cwd[0] = '\0'; | 1373 | new_state.cwd[0] = '\0'; |
1061 | 1245 | new_state.cwd_length = 0; | 1374 | new_state.cwd_length = 0; |
1062 | 1246 | if (VCWD_GETCWD(cwd, MAXPATHLEN)) { | 1375 | if (VCWD_GETCWD(cwd, MAXPATHLEN)) { |
1063 | 1247 | path = cwd; | 1376 | path = cwd; |
1064 | 1248 | } | 1377 | } |
1065 | 1249 | } else if (!IS_ABSOLUTE_PATH(path, strlen(path))) { | 1378 | } else if (!IS_ABSOLUTE_PATH(path, strlen(path))) { |
1066 | 1250 | CWD_STATE_COPY(&new_state, &CWDG(cwd)); | 1379 | CWD_STATE_COPY(&new_state, &CWDG(cwd)); |
1067 | 1251 | } else { | 1380 | } else { |
1068 | 1252 | new_state.cwd = (char*)malloc(1); | 1381 | new_state.cwd = (char*)malloc(1); |
1069 | 1253 | new_state.cwd[0] = '\0'; | 1382 | new_state.cwd[0] = '\0'; |
1071 | 1254 | new_state.cwd_length = 0; | 1383 | new_state.cwd_length = 0; |
1072 | 1255 | } | 1384 | } |
1073 | 1256 | 1385 | ||
1074 | 1257 | if (virtual_file_ex(&new_state, path, NULL, CWD_REALPATH)==0) { | 1386 | if (virtual_file_ex(&new_state, path, NULL, CWD_REALPATH)==0) { |
1075 | @@ -1317,7 +1446,7 @@ | |||
1076 | 1317 | { | 1446 | { |
1077 | 1318 | cwd_state new_state; | 1447 | cwd_state new_state; |
1078 | 1319 | int ret; | 1448 | int ret; |
1080 | 1320 | 1449 | ||
1081 | 1321 | CWD_STATE_COPY(&new_state, &CWDG(cwd)); | 1450 | CWD_STATE_COPY(&new_state, &CWDG(cwd)); |
1082 | 1322 | if (virtual_file_ex(&new_state, pathname, NULL, CWD_REALPATH)) { | 1451 | if (virtual_file_ex(&new_state, pathname, NULL, CWD_REALPATH)) { |
1083 | 1323 | CWD_STATE_FREE(&new_state); | 1452 | CWD_STATE_FREE(&new_state); |
1084 | @@ -1329,9 +1458,9 @@ | |||
1085 | 1329 | #else | 1458 | #else |
1086 | 1330 | ret = access(new_state.cwd, mode); | 1459 | ret = access(new_state.cwd, mode); |
1087 | 1331 | #endif | 1460 | #endif |
1089 | 1332 | 1461 | ||
1090 | 1333 | CWD_STATE_FREE(&new_state); | 1462 | CWD_STATE_FREE(&new_state); |
1092 | 1334 | 1463 | ||
1093 | 1335 | return ret; | 1464 | return ret; |
1094 | 1336 | } | 1465 | } |
1095 | 1337 | /* }}} */ | 1466 | /* }}} */ |
1096 | @@ -1352,12 +1481,12 @@ | |||
1097 | 1352 | TSRM_API int win32_utime(const char *filename, struct utimbuf *buf) /* {{{ */ | 1481 | TSRM_API int win32_utime(const char *filename, struct utimbuf *buf) /* {{{ */ |
1098 | 1353 | { | 1482 | { |
1099 | 1354 | FILETIME mtime, atime; | 1483 | FILETIME mtime, atime; |
1101 | 1355 | HANDLE hFile; | 1484 | HANDLE hFile; |
1102 | 1356 | 1485 | ||
1103 | 1357 | hFile = CreateFile(filename, GENERIC_WRITE, FILE_SHARE_WRITE|FILE_SHARE_READ, NULL, | 1486 | hFile = CreateFile(filename, GENERIC_WRITE, FILE_SHARE_WRITE|FILE_SHARE_READ, NULL, |
1104 | 1358 | OPEN_ALWAYS, FILE_FLAG_BACKUP_SEMANTICS, NULL); | 1487 | OPEN_ALWAYS, FILE_FLAG_BACKUP_SEMANTICS, NULL); |
1105 | 1359 | 1488 | ||
1107 | 1360 | /* OPEN_ALWAYS mode sets the last error to ERROR_ALREADY_EXISTS but | 1489 | /* OPEN_ALWAYS mode sets the last error to ERROR_ALREADY_EXISTS but |
1108 | 1361 | the CreateFile operation succeeds */ | 1490 | the CreateFile operation succeeds */ |
1109 | 1362 | if (GetLastError() == ERROR_ALREADY_EXISTS) { | 1491 | if (GetLastError() == ERROR_ALREADY_EXISTS) { |
1110 | 1363 | SetLastError(0); | 1492 | SetLastError(0); |
1111 | @@ -1477,7 +1606,7 @@ | |||
1112 | 1477 | f = open(new_state.cwd, flags, mode); | 1606 | f = open(new_state.cwd, flags, mode); |
1113 | 1478 | } else { | 1607 | } else { |
1114 | 1479 | f = open(new_state.cwd, flags); | 1608 | f = open(new_state.cwd, flags); |
1116 | 1480 | } | 1609 | } |
1117 | 1481 | CWD_STATE_FREE(&new_state); | 1610 | CWD_STATE_FREE(&new_state); |
1118 | 1482 | return f; | 1611 | return f; |
1119 | 1483 | } | 1612 | } |
1120 | @@ -1556,7 +1685,6 @@ | |||
1121 | 1556 | } | 1685 | } |
1122 | 1557 | /* }}} */ | 1686 | /* }}} */ |
1123 | 1558 | 1687 | ||
1124 | 1559 | #if !defined(TSRM_WIN32) | ||
1125 | 1560 | CWD_API int virtual_lstat(const char *path, struct stat *buf TSRMLS_DC) /* {{{ */ | 1688 | CWD_API int virtual_lstat(const char *path, struct stat *buf TSRMLS_DC) /* {{{ */ |
1126 | 1561 | { | 1689 | { |
1127 | 1562 | cwd_state new_state; | 1690 | cwd_state new_state; |
1128 | @@ -1568,13 +1696,12 @@ | |||
1129 | 1568 | return -1; | 1696 | return -1; |
1130 | 1569 | } | 1697 | } |
1131 | 1570 | 1698 | ||
1133 | 1571 | retval = lstat(new_state.cwd, buf); | 1699 | retval = php_sys_lstat(new_state.cwd, buf); |
1134 | 1572 | 1700 | ||
1135 | 1573 | CWD_STATE_FREE(&new_state); | 1701 | CWD_STATE_FREE(&new_state); |
1136 | 1574 | return retval; | 1702 | return retval; |
1137 | 1575 | } | 1703 | } |
1138 | 1576 | /* }}} */ | 1704 | /* }}} */ |
1139 | 1577 | #endif | ||
1140 | 1578 | 1705 | ||
1141 | 1579 | CWD_API int virtual_unlink(const char *path TSRMLS_DC) /* {{{ */ | 1706 | CWD_API int virtual_unlink(const char *path TSRMLS_DC) /* {{{ */ |
1142 | 1580 | { | 1707 | { |
1143 | @@ -1738,7 +1865,7 @@ | |||
1144 | 1738 | } | 1865 | } |
1145 | 1739 | *ptr++ = '\''; | 1866 | *ptr++ = '\''; |
1146 | 1740 | } | 1867 | } |
1148 | 1741 | 1868 | ||
1149 | 1742 | *ptr++ = ' '; | 1869 | *ptr++ = ' '; |
1150 | 1743 | *ptr++ = ';'; | 1870 | *ptr++ = ';'; |
1151 | 1744 | *ptr++ = ' '; | 1871 | *ptr++ = ' '; |
1152 | @@ -1761,18 +1888,18 @@ | |||
1153 | 1761 | if (!*path) { | 1888 | if (!*path) { |
1154 | 1762 | new_state.cwd = (char*)malloc(1); | 1889 | new_state.cwd = (char*)malloc(1); |
1155 | 1763 | new_state.cwd[0] = '\0'; | 1890 | new_state.cwd[0] = '\0'; |
1159 | 1764 | new_state.cwd_length = 0; | 1891 | new_state.cwd_length = 0; |
1160 | 1765 | if (VCWD_GETCWD(cwd, MAXPATHLEN)) { | 1892 | if (VCWD_GETCWD(cwd, MAXPATHLEN)) { |
1161 | 1766 | path = cwd; | 1893 | path = cwd; |
1162 | 1767 | } | 1894 | } |
1163 | 1768 | } else if (!IS_ABSOLUTE_PATH(path, strlen(path)) && | 1895 | } else if (!IS_ABSOLUTE_PATH(path, strlen(path)) && |
1165 | 1769 | VCWD_GETCWD(cwd, MAXPATHLEN)) { | 1896 | VCWD_GETCWD(cwd, MAXPATHLEN)) { |
1166 | 1770 | new_state.cwd = strdup(cwd); | 1897 | new_state.cwd = strdup(cwd); |
1167 | 1771 | new_state.cwd_length = strlen(cwd); | 1898 | new_state.cwd_length = strlen(cwd); |
1168 | 1772 | } else { | 1899 | } else { |
1169 | 1773 | new_state.cwd = (char*)malloc(1); | 1900 | new_state.cwd = (char*)malloc(1); |
1170 | 1774 | new_state.cwd[0] = '\0'; | 1901 | new_state.cwd[0] = '\0'; |
1172 | 1775 | new_state.cwd_length = 0; | 1902 | new_state.cwd_length = 0; |
1173 | 1776 | } | 1903 | } |
1174 | 1777 | 1904 | ||
1175 | 1778 | if (virtual_file_ex(&new_state, path, NULL, CWD_REALPATH)) { | 1905 | if (virtual_file_ex(&new_state, path, NULL, CWD_REALPATH)) { |
1176 | 1779 | 1906 | ||
1177 | === modified file 'TSRM/tsrm_virtual_cwd.h' | |||
1178 | --- TSRM/tsrm_virtual_cwd.h 2010-03-16 09:09:50 +0000 | |||
1179 | +++ TSRM/tsrm_virtual_cwd.h 2011-02-01 10:04:54 +0000 | |||
1180 | @@ -14,10 +14,11 @@ | |||
1181 | 14 | +----------------------------------------------------------------------+ | 14 | +----------------------------------------------------------------------+ |
1182 | 15 | | Authors: Andi Gutmans <andi@zend.com> | | 15 | | Authors: Andi Gutmans <andi@zend.com> | |
1183 | 16 | | Sascha Schumann <sascha@schumann.cx> | | 16 | | Sascha Schumann <sascha@schumann.cx> | |
1184 | 17 | | Pierre Joye <pierre@php.net> | | ||
1185 | 17 | +----------------------------------------------------------------------+ | 18 | +----------------------------------------------------------------------+ |
1186 | 18 | */ | 19 | */ |
1187 | 19 | 20 | ||
1189 | 20 | /* $Id: tsrm_virtual_cwd.h 293036 2010-01-03 09:23:27Z sebastian $ */ | 21 | /* $Id: tsrm_virtual_cwd.h 305070 2010-11-04 01:16:20Z pajoye $ */ |
1190 | 21 | 22 | ||
1191 | 22 | #ifndef VIRTUAL_CWD_H | 23 | #ifndef VIRTUAL_CWD_H |
1192 | 23 | #define VIRTUAL_CWD_H | 24 | #define VIRTUAL_CWD_H |
1193 | @@ -107,7 +108,7 @@ | |||
1194 | 107 | #define COPY_WHEN_ABSOLUTE(path) 0 | 108 | #define COPY_WHEN_ABSOLUTE(path) 0 |
1195 | 108 | #endif | 109 | #endif |
1196 | 109 | 110 | ||
1198 | 110 | #ifndef IS_ABSOLUTE_PATH | 111 | #ifndef IS_ABSOLUTE_PATH |
1199 | 111 | #define IS_ABSOLUTE_PATH(path, len) \ | 112 | #define IS_ABSOLUTE_PATH(path, len) \ |
1200 | 112 | (IS_SLASH(path[0])) | 113 | (IS_SLASH(path[0])) |
1201 | 113 | #endif | 114 | #endif |
1202 | @@ -129,9 +130,16 @@ | |||
1203 | 129 | #endif | 130 | #endif |
1204 | 130 | 131 | ||
1205 | 131 | #ifdef TSRM_WIN32 | 132 | #ifdef TSRM_WIN32 |
1206 | 133 | CWD_API int php_sys_stat_ex(const char *path, struct stat *buf, int lstat); | ||
1207 | 132 | CWD_API int php_sys_stat(const char *path, struct stat *buf); | 134 | CWD_API int php_sys_stat(const char *path, struct stat *buf); |
1208 | 135 | CWD_API int php_sys_lstat(const char *path, struct stat *buf); | ||
1209 | 136 | CWD_API int php_sys_readlink(const char *link, char *target, size_t target_len); | ||
1210 | 133 | #else | 137 | #else |
1211 | 134 | # define php_sys_stat stat | 138 | # define php_sys_stat stat |
1212 | 139 | # define php_sys_lstat lstat | ||
1213 | 140 | # ifdef HAVE_SYMLINK | ||
1214 | 141 | # define php_sys_readlink(link, target, target_len) readlink(link, target, target_len) | ||
1215 | 142 | # endif | ||
1216 | 135 | #endif | 143 | #endif |
1217 | 136 | 144 | ||
1218 | 137 | typedef struct _cwd_state { | 145 | typedef struct _cwd_state { |
1219 | @@ -155,9 +163,7 @@ | |||
1220 | 155 | CWD_API int virtual_creat(const char *path, mode_t mode TSRMLS_DC); | 163 | CWD_API int virtual_creat(const char *path, mode_t mode TSRMLS_DC); |
1221 | 156 | CWD_API int virtual_rename(char *oldname, char *newname TSRMLS_DC); | 164 | CWD_API int virtual_rename(char *oldname, char *newname TSRMLS_DC); |
1222 | 157 | CWD_API int virtual_stat(const char *path, struct stat *buf TSRMLS_DC); | 165 | CWD_API int virtual_stat(const char *path, struct stat *buf TSRMLS_DC); |
1223 | 158 | #if !defined(TSRM_WIN32) | ||
1224 | 159 | CWD_API int virtual_lstat(const char *path, struct stat *buf TSRMLS_DC); | 166 | CWD_API int virtual_lstat(const char *path, struct stat *buf TSRMLS_DC); |
1225 | 160 | #endif | ||
1226 | 161 | CWD_API int virtual_unlink(const char *path TSRMLS_DC); | 167 | CWD_API int virtual_unlink(const char *path TSRMLS_DC); |
1227 | 162 | CWD_API int virtual_mkdir(const char *pathname, mode_t mode TSRMLS_DC); | 168 | CWD_API int virtual_mkdir(const char *pathname, mode_t mode TSRMLS_DC); |
1228 | 163 | CWD_API int virtual_rmdir(const char *pathname TSRMLS_DC); | 169 | CWD_API int virtual_rmdir(const char *pathname TSRMLS_DC); |
1229 | @@ -188,7 +194,7 @@ | |||
1230 | 188 | CWD_API int virtual_chown(const char *filename, uid_t owner, gid_t group, int link TSRMLS_DC); | 194 | CWD_API int virtual_chown(const char *filename, uid_t owner, gid_t group, int link TSRMLS_DC); |
1231 | 189 | #endif | 195 | #endif |
1232 | 190 | 196 | ||
1234 | 191 | /* One of the following constants must be used as the last argument | 197 | /* One of the following constants must be used as the last argument |
1235 | 192 | in virtual_file_ex() call. */ | 198 | in virtual_file_ex() call. */ |
1236 | 193 | 199 | ||
1237 | 194 | #define CWD_EXPAND 0 /* expand "." and ".." but dont resolve symlinks */ | 200 | #define CWD_EXPAND 0 /* expand "." and ".." but dont resolve symlinks */ |
1238 | @@ -216,7 +222,7 @@ | |||
1239 | 216 | unsigned char is_wvalid; | 222 | unsigned char is_wvalid; |
1240 | 217 | unsigned char is_writable; | 223 | unsigned char is_writable; |
1241 | 218 | #endif | 224 | #endif |
1243 | 219 | struct _realpath_cache_bucket *next; | 225 | struct _realpath_cache_bucket *next; |
1244 | 220 | } realpath_cache_bucket; | 226 | } realpath_cache_bucket; |
1245 | 221 | 227 | ||
1246 | 222 | typedef struct _virtual_cwd_globals { | 228 | typedef struct _virtual_cwd_globals { |
1247 | @@ -244,7 +250,7 @@ | |||
1248 | 244 | 250 | ||
1249 | 245 | /* The actual macros to be used in programs using TSRM | 251 | /* The actual macros to be used in programs using TSRM |
1250 | 246 | * If the program defines VIRTUAL_DIR it will use the | 252 | * If the program defines VIRTUAL_DIR it will use the |
1252 | 247 | * virtual_* functions | 253 | * virtual_* functions |
1253 | 248 | */ | 254 | */ |
1254 | 249 | 255 | ||
1255 | 250 | #ifdef VIRTUAL_DIR | 256 | #ifdef VIRTUAL_DIR |
1256 | @@ -261,9 +267,7 @@ | |||
1257 | 261 | #define VCWD_REALPATH(path, real_path) virtual_realpath(path, real_path TSRMLS_CC) | 267 | #define VCWD_REALPATH(path, real_path) virtual_realpath(path, real_path TSRMLS_CC) |
1258 | 262 | #define VCWD_RENAME(oldname, newname) virtual_rename(oldname, newname TSRMLS_CC) | 268 | #define VCWD_RENAME(oldname, newname) virtual_rename(oldname, newname TSRMLS_CC) |
1259 | 263 | #define VCWD_STAT(path, buff) virtual_stat(path, buff TSRMLS_CC) | 269 | #define VCWD_STAT(path, buff) virtual_stat(path, buff TSRMLS_CC) |
1263 | 264 | #if !defined(TSRM_WIN32) | 270 | #define VCWD_LSTAT(path, buff) virtual_lstat(path, buff TSRMLS_CC) |
1261 | 265 | # define VCWD_LSTAT(path, buff) virtual_lstat(path, buff TSRMLS_CC) | ||
1262 | 266 | #endif | ||
1264 | 267 | #define VCWD_UNLINK(path) virtual_unlink(path TSRMLS_CC) | 271 | #define VCWD_UNLINK(path) virtual_unlink(path TSRMLS_CC) |
1265 | 268 | #define VCWD_MKDIR(pathname, mode) virtual_mkdir(pathname, mode TSRMLS_CC) | 272 | #define VCWD_MKDIR(pathname, mode) virtual_mkdir(pathname, mode TSRMLS_CC) |
1266 | 269 | #define VCWD_RMDIR(pathname) virtual_rmdir(pathname TSRMLS_CC) | 273 | #define VCWD_RMDIR(pathname) virtual_rmdir(pathname TSRMLS_CC) |
1267 | 270 | 274 | ||
1268 | === modified file 'UPGRADING' | |||
1269 | --- UPGRADING 2010-08-01 11:58:54 +0000 | |||
1270 | +++ UPGRADING 2011-02-01 10:04:54 +0000 | |||
1271 | @@ -1,4 +1,4 @@ | |||
1273 | 1 | $Id: UPGRADING 282950 2009-06-28 16:14:30Z johannes $ | 1 | $Id: UPGRADING 306076 2010-12-08 09:38:47Z pajoye $ |
1274 | 2 | 2 | ||
1275 | 3 | UPGRADE NOTES - PHP 5.3 | 3 | UPGRADE NOTES - PHP 5.3 |
1276 | 4 | 4 | ||
1277 | @@ -40,6 +40,9 @@ | |||
1278 | 40 | 2. Changes made to existing functions | 40 | 2. Changes made to existing functions |
1279 | 41 | ===================================== | 41 | ===================================== |
1280 | 42 | 42 | ||
1281 | 43 | - Paths containing NULL (like /some/path\0foo.txt) are now considered invalid. | ||
1282 | 44 | See http://news.php.net/php.internals/50191 | ||
1283 | 45 | |||
1284 | 43 | - The HTTP stream wrapper now considers all status codes from 200 to 399 to be | 46 | - The HTTP stream wrapper now considers all status codes from 200 to 399 to be |
1285 | 44 | successful. | 47 | successful. |
1286 | 45 | 48 | ||
1287 | @@ -273,6 +276,8 @@ | |||
1288 | 273 | - MySQLi: Now supports persistent connections by prepending the hostname | 276 | - MySQLi: Now supports persistent connections by prepending the hostname |
1289 | 274 | with "p:". | 277 | with "p:". |
1290 | 275 | 278 | ||
1291 | 279 | - imagepstext now rejects invalid antialiasing steps and raises a warning. | ||
1292 | 280 | |||
1293 | 276 | d. no longer possible to disable | 281 | d. no longer possible to disable |
1294 | 277 | 282 | ||
1295 | 278 | - PCRE | 283 | - PCRE |
1296 | @@ -457,6 +462,14 @@ | |||
1297 | 457 | - Firebird and SNMP support are no longer available on Windows. Firebird support | 462 | - Firebird and SNMP support are no longer available on Windows. Firebird support |
1298 | 458 | may be reintroduced in the future. | 463 | may be reintroduced in the future. |
1299 | 459 | 464 | ||
1300 | 465 | ===================== | ||
1301 | 466 | 11.1 New in PHP 5.3.4 | ||
1302 | 467 | ===================== | ||
1303 | 468 | |||
1304 | 469 | - open_basedir supports now symbolic links (checks the target). | ||
1305 | 470 | - is_link and SplFileInfo symbolic links related method are now fully supported | ||
1306 | 471 | (on Windows Vista or later). | ||
1307 | 472 | |||
1308 | 460 | =================== | 473 | =================== |
1309 | 461 | 12. New in PHP 5.3: | 474 | 12. New in PHP 5.3: |
1310 | 462 | =================== | 475 | =================== |
1311 | 463 | 476 | ||
1312 | === added file 'UPGRADING.INTERNALS' | |||
1313 | --- UPGRADING.INTERNALS 1970-01-01 00:00:00 +0000 | |||
1314 | +++ UPGRADING.INTERNALS 2011-02-01 10:04:54 +0000 | |||
1315 | @@ -0,0 +1,23 @@ | |||
1316 | 1 | $Id$ | ||
1317 | 2 | |||
1318 | 3 | UPGRADE NOTES - PHP 5.3.4 | ||
1319 | 4 | |||
1320 | 5 | 1. Internal API changes | ||
1321 | 6 | |||
1322 | 7 | ======================== | ||
1323 | 8 | 1. Internal API changes | ||
1324 | 9 | ======================== | ||
1325 | 10 | |||
1326 | 11 | a. stat/lstat support | ||
1327 | 12 | |||
1328 | 13 | lstat is now available on all platforms. On unix-like platform | ||
1329 | 14 | php_sys_lstat is an alias to lstat (when avaible). On Windows it is now | ||
1330 | 15 | available using php_sys_lstat. php_sys_stat and php_sys_lstat usage is recommended | ||
1331 | 16 | instead of calling lstat directly, to ensure portability. | ||
1332 | 17 | |||
1333 | 18 | b. readlink support | ||
1334 | 19 | |||
1335 | 20 | readlink is now available on all platforms. On unix-like platform | ||
1336 | 21 | php_sys_readlink is an alias to readlink (when avaible). On Windows it is now | ||
1337 | 22 | available using php_sys_readlink. php_sys_readlink usage is recommended | ||
1338 | 23 | instead of calling readlink directly, to ensure portability. | ||
1339 | 0 | 24 | ||
1340 | === modified file 'Zend/acinclude.m4' | |||
1341 | --- Zend/acinclude.m4 2010-08-01 11:58:54 +0000 | |||
1342 | +++ Zend/acinclude.m4 2011-02-01 10:04:54 +0000 | |||
1343 | @@ -1,10 +1,10 @@ | |||
1345 | 1 | dnl $Id: acinclude.m4 298893 2010-05-03 09:05:30Z pajoye $ | 1 | dnl $Id: acinclude.m4 304193 2010-10-07 21:44:41Z felipe $ |
1346 | 2 | dnl | 2 | dnl |
1347 | 3 | dnl This file contains local autoconf functions. | 3 | dnl This file contains local autoconf functions. |
1348 | 4 | 4 | ||
1349 | 5 | AC_DEFUN([LIBZEND_BISON_CHECK],[ | 5 | AC_DEFUN([LIBZEND_BISON_CHECK],[ |
1350 | 6 | # we only support certain bison versions | 6 | # we only support certain bison versions |
1352 | 7 | 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" | 7 | 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" |
1353 | 8 | 8 | ||
1354 | 9 | # for standalone build of Zend Engine | 9 | # for standalone build of Zend Engine |
1355 | 10 | test -z "$SED" && SED=sed | 10 | test -z "$SED" && SED=sed |
1356 | 11 | 11 | ||
1357 | === modified file 'Zend/tests/bug45180.phpt' | |||
1358 | --- Zend/tests/bug45180.phpt 2010-07-31 15:53:12 +0000 | |||
1359 | +++ Zend/tests/bug45180.phpt 2011-02-01 10:04:54 +0000 | |||
1360 | @@ -43,11 +43,11 @@ | |||
1361 | 43 | string(3) "ABC" | 43 | string(3) "ABC" |
1362 | 44 | __call: | 44 | __call: |
1363 | 45 | string(3) "ABC" | 45 | string(3) "ABC" |
1365 | 46 | __callstatic: | 46 | __call: |
1366 | 47 | string(3) "XYZ" | 47 | string(3) "XYZ" |
1368 | 48 | __callstatic: | 48 | __call: |
1369 | 49 | string(3) "WWW" | 49 | string(3) "WWW" |
1371 | 50 | __callstatic: | 50 | __call: |
1372 | 51 | string(3) "ABC" | 51 | string(3) "ABC" |
1373 | 52 | __callstatic: | 52 | __callstatic: |
1374 | 53 | string(1) "A" | 53 | string(1) "A" |
1375 | @@ -58,4 +58,4 @@ | |||
1376 | 58 | __callstatic: | 58 | __callstatic: |
1377 | 59 | string(3) "FOO" | 59 | string(3) "FOO" |
1378 | 60 | __callstatic: | 60 | __callstatic: |
1380 | 61 | string(3) "FOO" | 61 | string(3) "FOO" |
1381 | 62 | \ No newline at end of file | 62 | \ No newline at end of file |
1382 | 63 | 63 | ||
1383 | === modified file 'Zend/tests/bug45186.phpt' | |||
1384 | --- Zend/tests/bug45186.phpt 2010-07-31 15:53:12 +0000 | |||
1385 | +++ Zend/tests/bug45186.phpt 2011-02-01 10:04:54 +0000 | |||
1386 | @@ -35,17 +35,17 @@ | |||
1387 | 35 | 35 | ||
1388 | 36 | ?> | 36 | ?> |
1389 | 37 | --EXPECTF-- | 37 | --EXPECTF-- |
1391 | 38 | __callstatic: | 38 | __call: |
1392 | 39 | string(3) "ABC" | 39 | string(3) "ABC" |
1394 | 40 | __callstatic: | 40 | __call: |
1395 | 41 | string(3) "ABC" | 41 | string(3) "ABC" |
1396 | 42 | __call: | 42 | __call: |
1397 | 43 | string(3) "xyz" | 43 | string(3) "xyz" |
1399 | 44 | __callstatic: | 44 | __call: |
1400 | 45 | string(3) "www" | 45 | string(3) "www" |
1401 | 46 | __call: | 46 | __call: |
1402 | 47 | string(1) "y" | 47 | string(1) "y" |
1404 | 48 | __callstatic: | 48 | __call: |
1405 | 49 | string(1) "y" | 49 | string(1) "y" |
1406 | 50 | ok | 50 | ok |
1407 | 51 | __callstatic: | 51 | __callstatic: |
1408 | 52 | 52 | ||
1409 | === modified file 'Zend/tests/bug51176.phpt' | |||
1410 | --- Zend/tests/bug51176.phpt 2010-07-31 15:53:12 +0000 | |||
1411 | +++ Zend/tests/bug51176.phpt 2011-02-01 10:04:54 +0000 | |||
1412 | @@ -27,6 +27,6 @@ | |||
1413 | 27 | 27 | ||
1414 | 28 | ?> | 28 | ?> |
1415 | 29 | --EXPECT-- | 29 | --EXPECT-- |
1419 | 30 | static | 30 | instance |
1420 | 31 | static | 31 | instance |
1421 | 32 | static | 32 | instance |
1422 | 33 | \ No newline at end of file | 33 | \ No newline at end of file |
1423 | 34 | 34 | ||
1424 | === added file 'Zend/tests/bug52361.phpt' | |||
1425 | --- Zend/tests/bug52361.phpt 1970-01-01 00:00:00 +0000 | |||
1426 | +++ Zend/tests/bug52361.phpt 2011-02-01 10:04:54 +0000 | |||
1427 | @@ -0,0 +1,35 @@ | |||
1428 | 1 | --TEST-- | ||
1429 | 2 | Bug #52361 (Throwing an exception in a destructor causes invalid catching) | ||
1430 | 3 | --FILE-- | ||
1431 | 4 | <?php | ||
1432 | 5 | class aaa { | ||
1433 | 6 | public function __destruct() { | ||
1434 | 7 | try { | ||
1435 | 8 | throw new Exception(__CLASS__); | ||
1436 | 9 | } catch(Exception $ex) { | ||
1437 | 10 | echo "1. $ex\n"; | ||
1438 | 11 | } | ||
1439 | 12 | } | ||
1440 | 13 | } | ||
1441 | 14 | function bbb() { | ||
1442 | 15 | $a = new aaa(); | ||
1443 | 16 | throw new Exception(__FUNCTION__); | ||
1444 | 17 | } | ||
1445 | 18 | try { | ||
1446 | 19 | bbb(); | ||
1447 | 20 | echo "must be skipped !!!"; | ||
1448 | 21 | } catch(Exception $ex) { | ||
1449 | 22 | echo "2. $ex\n"; | ||
1450 | 23 | } | ||
1451 | 24 | ?> | ||
1452 | 25 | --EXPECTF-- | ||
1453 | 26 | 1. exception 'Exception' with message 'aaa' in %sbug52361.php:5 | ||
1454 | 27 | Stack trace: | ||
1455 | 28 | #0 %sbug52361.php(16): aaa->__destruct() | ||
1456 | 29 | #1 %sbug52361.php(16): bbb() | ||
1457 | 30 | #2 {main} | ||
1458 | 31 | 2. exception 'Exception' with message 'bbb' in %sbug52361.php:13 | ||
1459 | 32 | Stack trace: | ||
1460 | 33 | #0 %sbug52361.php(16): bbb() | ||
1461 | 34 | #1 {main} | ||
1462 | 35 | |||
1463 | 0 | 36 | ||
1464 | === added file 'Zend/tests/bug52484.phpt' | |||
1465 | --- Zend/tests/bug52484.phpt 1970-01-01 00:00:00 +0000 | |||
1466 | +++ Zend/tests/bug52484.phpt 2011-02-01 10:04:54 +0000 | |||
1467 | @@ -0,0 +1,19 @@ | |||
1468 | 1 | --TEST-- | ||
1469 | 2 | Bug #52484 (__set() ignores setting properties with empty names) | ||
1470 | 3 | --FILE-- | ||
1471 | 4 | <?php | ||
1472 | 5 | |||
1473 | 6 | class A { | ||
1474 | 7 | function __unset($prop) { | ||
1475 | 8 | unset($this->$prop); | ||
1476 | 9 | } | ||
1477 | 10 | } | ||
1478 | 11 | |||
1479 | 12 | $a = new A(); | ||
1480 | 13 | $prop = null; | ||
1481 | 14 | |||
1482 | 15 | unset($a->$prop); | ||
1483 | 16 | |||
1484 | 17 | ?> | ||
1485 | 18 | --EXPECTF-- | ||
1486 | 19 | Fatal error: Cannot access empty property in %s on line %d | ||
1487 | 0 | 20 | ||
1488 | === added file 'Zend/tests/bug52484_2.phpt' | |||
1489 | --- Zend/tests/bug52484_2.phpt 1970-01-01 00:00:00 +0000 | |||
1490 | +++ Zend/tests/bug52484_2.phpt 2011-02-01 10:04:54 +0000 | |||
1491 | @@ -0,0 +1,19 @@ | |||
1492 | 1 | --TEST-- | ||
1493 | 2 | Bug #52484.2 (__set() ignores setting properties with empty names) | ||
1494 | 3 | --FILE-- | ||
1495 | 4 | <?php | ||
1496 | 5 | |||
1497 | 6 | class A { | ||
1498 | 7 | function __set($prop, $val) { | ||
1499 | 8 | $this->$prop = $val; | ||
1500 | 9 | } | ||
1501 | 10 | } | ||
1502 | 11 | |||
1503 | 12 | $a = new A(); | ||
1504 | 13 | $prop = null; | ||
1505 | 14 | |||
1506 | 15 | $a->$prop = 2; | ||
1507 | 16 | |||
1508 | 17 | ?> | ||
1509 | 18 | --EXPECTF-- | ||
1510 | 19 | Fatal error: Cannot access empty property in %s on line %d | ||
1511 | 0 | 20 | ||
1512 | === added file 'Zend/tests/bug52484_3.phpt' | |||
1513 | --- Zend/tests/bug52484_3.phpt 1970-01-01 00:00:00 +0000 | |||
1514 | +++ Zend/tests/bug52484_3.phpt 2011-02-01 10:04:54 +0000 | |||
1515 | @@ -0,0 +1,19 @@ | |||
1516 | 1 | --TEST-- | ||
1517 | 2 | Bug #52484.3 (__set() ignores setting properties with empty names) | ||
1518 | 3 | --FILE-- | ||
1519 | 4 | <?php | ||
1520 | 5 | |||
1521 | 6 | class A { | ||
1522 | 7 | function __get($prop) { | ||
1523 | 8 | var_dump($this->$prop); | ||
1524 | 9 | } | ||
1525 | 10 | } | ||
1526 | 11 | |||
1527 | 12 | $a = new A(); | ||
1528 | 13 | $prop = null; | ||
1529 | 14 | |||
1530 | 15 | var_dump($a->$prop); | ||
1531 | 16 | |||
1532 | 17 | ?> | ||
1533 | 18 | --EXPECTF-- | ||
1534 | 19 | Fatal error: Cannot access empty property in %s on line %d | ||
1535 | 0 | 20 | ||
1536 | === added file 'Zend/tests/bug52508.phpt' | |||
1537 | --- Zend/tests/bug52508.phpt 1970-01-01 00:00:00 +0000 | |||
1538 | +++ Zend/tests/bug52508.phpt 2011-02-01 10:04:54 +0000 | |||
1539 | @@ -0,0 +1,20 @@ | |||
1540 | 1 | --TEST-- | ||
1541 | 2 | Bug #52508 (newline problem with parse_ini_file+INI_SCANNER_RAW) | ||
1542 | 3 | --FILE-- | ||
1543 | 4 | <?php | ||
1544 | 5 | |||
1545 | 6 | $file = dirname(__FILE__) .'/bug52508.ini'; | ||
1546 | 7 | |||
1547 | 8 | file_put_contents($file, "a = 1"); | ||
1548 | 9 | |||
1549 | 10 | $ini_array = parse_ini_file($file, true, INI_SCANNER_RAW); | ||
1550 | 11 | var_dump($ini_array); | ||
1551 | 12 | |||
1552 | 13 | unlink($file); | ||
1553 | 14 | |||
1554 | 15 | ?> | ||
1555 | 16 | --EXPECT-- | ||
1556 | 17 | array(1) { | ||
1557 | 18 | ["a"]=> | ||
1558 | 19 | string(1) "1" | ||
1559 | 20 | } | ||
1560 | 0 | 21 | ||
1561 | === added file 'Zend/tests/bug52879.phpt' | |||
1562 | --- Zend/tests/bug52879.phpt 1970-01-01 00:00:00 +0000 | |||
1563 | +++ Zend/tests/bug52879.phpt 2011-02-01 10:04:54 +0000 | |||
1564 | @@ -0,0 +1,16 @@ | |||
1565 | 1 | --TEST-- | ||
1566 | 2 | Bug #52879 (Objects unreferenced in __get, __set, __isset or __unset can be freed too early) | ||
1567 | 3 | --FILE-- | ||
1568 | 4 | <?php | ||
1569 | 5 | class MyClass { | ||
1570 | 6 | public $myRef; | ||
1571 | 7 | public function __set($property,$value) { | ||
1572 | 8 | $this->myRef = $value; | ||
1573 | 9 | } | ||
1574 | 10 | } | ||
1575 | 11 | $myGlobal=new MyClass($myGlobal); | ||
1576 | 12 | $myGlobal->myRef=&$myGlobal; | ||
1577 | 13 | $myGlobal->myNonExistentProperty="ok\n"; | ||
1578 | 14 | echo $myGlobal; | ||
1579 | 15 | --EXPECT-- | ||
1580 | 16 | ok | ||
1581 | 0 | 17 | ||
1582 | === added file 'Zend/tests/bug52939.phpt' | |||
1583 | --- Zend/tests/bug52939.phpt 1970-01-01 00:00:00 +0000 | |||
1584 | +++ Zend/tests/bug52939.phpt 2011-02-01 10:04:54 +0000 | |||
1585 | @@ -0,0 +1,40 @@ | |||
1586 | 1 | --TEST-- | ||
1587 | 2 | Bug #52939 (zend_call_function_array does not respect ZEND_SEND_PREFER_REF) | ||
1588 | 3 | --FILE-- | ||
1589 | 4 | <?php | ||
1590 | 5 | $ar1 = array("row1" => 2, "row2" => 1); | ||
1591 | 6 | var_dump(array_multisort($ar1)); | ||
1592 | 7 | var_dump($ar1); | ||
1593 | 8 | |||
1594 | 9 | $ar1 = array("row1" => 2, "row2" => 1); | ||
1595 | 10 | $args = array(&$ar1); | ||
1596 | 11 | var_dump(call_user_func_array("array_multisort", $args)); | ||
1597 | 12 | var_dump($ar1); | ||
1598 | 13 | |||
1599 | 14 | $ar1 = array("row1" => 2, "row2" => 1); | ||
1600 | 15 | $args = array($ar1); | ||
1601 | 16 | var_dump(call_user_func_array("array_multisort", $args)); | ||
1602 | 17 | var_dump($ar1); | ||
1603 | 18 | ?> | ||
1604 | 19 | --EXPECT-- | ||
1605 | 20 | bool(true) | ||
1606 | 21 | array(2) { | ||
1607 | 22 | ["row2"]=> | ||
1608 | 23 | int(1) | ||
1609 | 24 | ["row1"]=> | ||
1610 | 25 | int(2) | ||
1611 | 26 | } | ||
1612 | 27 | bool(true) | ||
1613 | 28 | array(2) { | ||
1614 | 29 | ["row2"]=> | ||
1615 | 30 | int(1) | ||
1616 | 31 | ["row1"]=> | ||
1617 | 32 | int(2) | ||
1618 | 33 | } | ||
1619 | 34 | bool(true) | ||
1620 | 35 | array(2) { | ||
1621 | 36 | ["row1"]=> | ||
1622 | 37 | int(2) | ||
1623 | 38 | ["row2"]=> | ||
1624 | 39 | int(1) | ||
1625 | 40 | } | ||
1626 | 0 | 41 | ||
1627 | === added file 'Zend/tests/bug53305.phpt' | |||
1628 | --- Zend/tests/bug53305.phpt 1970-01-01 00:00:00 +0000 | |||
1629 | +++ Zend/tests/bug53305.phpt 2011-02-01 10:04:54 +0000 | |||
1630 | @@ -0,0 +1,19 @@ | |||
1631 | 1 | --TEST-- | ||
1632 | 2 | Bug #53305 (E_NOTICE when defining a constant starts with __COMPILER_HALT_OFFSET__) | ||
1633 | 3 | --FILE-- | ||
1634 | 4 | <?php | ||
1635 | 5 | error_reporting(E_ALL); | ||
1636 | 6 | |||
1637 | 7 | define('__COMPILER_HALT_OFFSET__1', 1); | ||
1638 | 8 | define('__COMPILER_HALT_OFFSET__2', 2); | ||
1639 | 9 | define('__COMPILER_HALT_OFFSET__', 3); | ||
1640 | 10 | define('__COMPILER_HALT_OFFSET__1'.chr(0), 4); | ||
1641 | 11 | |||
1642 | 12 | var_dump(__COMPILER_HALT_OFFSET__1); | ||
1643 | 13 | var_dump(constant('__COMPILER_HALT_OFFSET__1'.chr(0))); | ||
1644 | 14 | |||
1645 | 15 | ?> | ||
1646 | 16 | --EXPECTF-- | ||
1647 | 17 | Notice: Constant __COMPILER_HALT_OFFSET__ already defined in %s on line %d | ||
1648 | 18 | int(1) | ||
1649 | 19 | int(4) | ||
1650 | 0 | 20 | ||
1651 | === added file 'Zend/tests/bug53632.phpt' | |||
1652 | --- Zend/tests/bug53632.phpt 1970-01-01 00:00:00 +0000 | |||
1653 | +++ Zend/tests/bug53632.phpt 2011-02-01 10:04:54 +0000 | |||
1654 | @@ -0,0 +1,10 @@ | |||
1655 | 1 | --TEST-- | ||
1656 | 2 | zend_strtod() hangs with 2.2250738585072011e-308 | ||
1657 | 3 | --FILE-- | ||
1658 | 4 | <?php | ||
1659 | 5 | $d = 2.2250738585072011e-308; | ||
1660 | 6 | |||
1661 | 7 | echo "Done\n"; | ||
1662 | 8 | ?> | ||
1663 | 9 | --EXPECTF-- | ||
1664 | 10 | Done | ||
1665 | 0 | 11 | ||
1666 | === modified file 'Zend/tests/call_static_003.phpt' | |||
1667 | --- Zend/tests/call_static_003.phpt 2010-07-31 15:53:12 +0000 | |||
1668 | +++ Zend/tests/call_static_003.phpt 2011-02-01 10:04:54 +0000 | |||
1669 | @@ -28,9 +28,9 @@ | |||
1670 | 28 | --EXPECT-- | 28 | --EXPECT-- |
1671 | 29 | nonstatic | 29 | nonstatic |
1672 | 30 | string(6) "fOoBaR" | 30 | string(6) "fOoBaR" |
1674 | 31 | static | 31 | nonstatic |
1675 | 32 | string(6) "foOBAr" | 32 | string(6) "foOBAr" |
1677 | 33 | static | 33 | nonstatic |
1678 | 34 | string(6) "fOOBAr" | 34 | string(6) "fOOBAr" |
1679 | 35 | static | 35 | static |
1680 | 36 | string(3) "bAr" | 36 | string(3) "bAr" |
1681 | 37 | 37 | ||
1682 | === modified file 'Zend/tests/call_static_007.phpt' | |||
1683 | --- Zend/tests/call_static_007.phpt 2010-07-31 15:53:12 +0000 | |||
1684 | +++ Zend/tests/call_static_007.phpt 2011-02-01 10:04:54 +0000 | |||
1685 | @@ -30,5 +30,5 @@ | |||
1686 | 30 | --EXPECT-- | 30 | --EXPECT-- |
1687 | 31 | __callstatic: Test | 31 | __callstatic: Test |
1688 | 32 | __call: Test | 32 | __call: Test |
1690 | 33 | __callstatic: Bar | 33 | __call: Bar |
1691 | 34 | __callstatic: Foo | 34 | __callstatic: Foo |
1692 | 35 | 35 | ||
1693 | === modified file 'Zend/tests/declare_001.phpt' | |||
1694 | --- Zend/tests/declare_001.phpt 2010-03-16 09:09:50 +0000 | |||
1695 | +++ Zend/tests/declare_001.phpt 2011-02-01 10:04:54 +0000 | |||
1696 | @@ -1,5 +1,11 @@ | |||
1697 | 1 | --TEST-- | 1 | --TEST-- |
1698 | 2 | Testing declare statement with several type values | 2 | Testing declare statement with several type values |
1699 | 3 | --SKIPIF-- | ||
1700 | 4 | <?php | ||
1701 | 5 | if (in_array("detect_unicode", array_keys(ini_get_all()))) { | ||
1702 | 6 | die("skip"); | ||
1703 | 7 | } | ||
1704 | 8 | ?> | ||
1705 | 3 | --FILE-- | 9 | --FILE-- |
1706 | 4 | <?php | 10 | <?php |
1707 | 5 | 11 | ||
1708 | 6 | 12 | ||
1709 | === added file 'Zend/tests/gc_032.phpt' | |||
1710 | --- Zend/tests/gc_032.phpt 1970-01-01 00:00:00 +0000 | |||
1711 | +++ Zend/tests/gc_032.phpt 2011-02-01 10:04:54 +0000 | |||
1712 | @@ -0,0 +1,40 @@ | |||
1713 | 1 | --TEST-- | ||
1714 | 2 | GC 032: Crash in GC because of invalid reference counting | ||
1715 | 3 | --FILE-- | ||
1716 | 4 | <?php | ||
1717 | 5 | $a = array(); | ||
1718 | 6 | $b =& $a; | ||
1719 | 7 | $a[0] = $a; | ||
1720 | 8 | debug_zval_dump($a); | ||
1721 | 9 | $a = array(array()); | ||
1722 | 10 | $b =& $a; | ||
1723 | 11 | $a[0][0] = $a; | ||
1724 | 12 | debug_zval_dump($a); | ||
1725 | 13 | ?> | ||
1726 | 14 | --EXPECT-- | ||
1727 | 15 | array(1) refcount(1){ | ||
1728 | 16 | [0]=> | ||
1729 | 17 | array(1) refcount(3){ | ||
1730 | 18 | [0]=> | ||
1731 | 19 | array(1) refcount(3){ | ||
1732 | 20 | [0]=> | ||
1733 | 21 | *RECURSION* | ||
1734 | 22 | } | ||
1735 | 23 | } | ||
1736 | 24 | } | ||
1737 | 25 | array(1) refcount(1){ | ||
1738 | 26 | [0]=> | ||
1739 | 27 | array(1) refcount(3){ | ||
1740 | 28 | [0]=> | ||
1741 | 29 | array(1) refcount(1){ | ||
1742 | 30 | [0]=> | ||
1743 | 31 | array(1) refcount(3){ | ||
1744 | 32 | [0]=> | ||
1745 | 33 | array(1) refcount(1){ | ||
1746 | 34 | [0]=> | ||
1747 | 35 | *RECURSION* | ||
1748 | 36 | } | ||
1749 | 37 | } | ||
1750 | 38 | } | ||
1751 | 39 | } | ||
1752 | 40 | } | ||
1753 | 0 | 41 | ||
1754 | === added file 'Zend/tests/multibyte/multibyte_encoding_006.phpt' | |||
1755 | 1 | Binary files Zend/tests/multibyte/multibyte_encoding_006.phpt 1970-01-01 00:00:00 +0000 and Zend/tests/multibyte/multibyte_encoding_006.phpt 2011-02-01 10:04:54 +0000 differ | 42 | Binary files Zend/tests/multibyte/multibyte_encoding_006.phpt 1970-01-01 00:00:00 +0000 and Zend/tests/multibyte/multibyte_encoding_006.phpt 2011-02-01 10:04:54 +0000 differ |
1756 | === added file 'Zend/tests/objects_032.phpt' | |||
1757 | --- Zend/tests/objects_032.phpt 1970-01-01 00:00:00 +0000 | |||
1758 | +++ Zend/tests/objects_032.phpt 2011-02-01 10:04:54 +0000 | |||
1759 | @@ -0,0 +1,40 @@ | |||
1760 | 1 | --TEST-- | ||
1761 | 2 | Covariant return-by-ref constraints | ||
1762 | 3 | --FILE-- | ||
1763 | 4 | <?php | ||
1764 | 5 | |||
1765 | 6 | class A implements ArrayAccess { | ||
1766 | 7 | public $foo = array(); | ||
1767 | 8 | |||
1768 | 9 | public function &offsetGet($n) { | ||
1769 | 10 | return $this->foo[$n]; | ||
1770 | 11 | } | ||
1771 | 12 | |||
1772 | 13 | public function offsetSet($n, $v) { | ||
1773 | 14 | } | ||
1774 | 15 | public function offsetUnset($n) { | ||
1775 | 16 | } | ||
1776 | 17 | public function offsetExists($n) { | ||
1777 | 18 | } | ||
1778 | 19 | } | ||
1779 | 20 | |||
1780 | 21 | $a = new A; | ||
1781 | 22 | |||
1782 | 23 | $a['foo']['bar'] = 2; | ||
1783 | 24 | |||
1784 | 25 | var_dump($a); | ||
1785 | 26 | |||
1786 | 27 | ?> | ||
1787 | 28 | ==DONE== | ||
1788 | 29 | --EXPECTF-- | ||
1789 | 30 | object(A)#1 (1) { | ||
1790 | 31 | ["foo"]=> | ||
1791 | 32 | array(1) { | ||
1792 | 33 | ["foo"]=> | ||
1793 | 34 | array(1) { | ||
1794 | 35 | ["bar"]=> | ||
1795 | 36 | int(2) | ||
1796 | 37 | } | ||
1797 | 38 | } | ||
1798 | 39 | } | ||
1799 | 40 | ==DONE== | ||
1800 | 0 | 41 | ||
1801 | === modified file 'Zend/tests/unset_cv05.phpt' | |||
1802 | --- Zend/tests/unset_cv05.phpt 2010-03-16 09:09:50 +0000 | |||
1803 | +++ Zend/tests/unset_cv05.phpt 2011-02-01 10:04:54 +0000 | |||
1804 | @@ -19,7 +19,7 @@ | |||
1805 | 19 | echo "\nok\n"; | 19 | echo "\nok\n"; |
1806 | 20 | ?> | 20 | ?> |
1807 | 21 | --EXPECTF-- | 21 | --EXPECTF-- |
1809 | 22 | Warning: Directive 'register_long_arrays' is deprecated in PHP %d.%d and greater in Unknown on line 0 | 22 | Deprecated: Directive 'register_long_arrays' is deprecated in PHP %d.%d and greater in Unknown on line 0 |
1810 | 23 | ok | 23 | ok |
1811 | 24 | 24 | ||
1812 | 25 | Warning: session_start(): Cannot send session cookie - headers already sent by (output started at %sunset_cv05.php on line %d | 25 | Warning: session_start(): Cannot send session cookie - headers already sent by (output started at %sunset_cv05.php on line %d |
1813 | 26 | 26 | ||
1814 | === modified file 'Zend/tests/unset_cv06.phpt' | |||
1815 | --- Zend/tests/unset_cv06.phpt 2010-03-16 09:09:50 +0000 | |||
1816 | +++ Zend/tests/unset_cv06.phpt 2011-02-01 10:04:54 +0000 | |||
1817 | @@ -19,7 +19,7 @@ | |||
1818 | 19 | echo "ok\n"; | 19 | echo "ok\n"; |
1819 | 20 | ?> | 20 | ?> |
1820 | 21 | --EXPECTF-- | 21 | --EXPECTF-- |
1822 | 22 | Warning: Directive 'register_globals' is deprecated in PHP %d.%d and greater in Unknown on line 0 | 22 | Deprecated: Directive 'register_globals' is deprecated in PHP %d.%d and greater in Unknown on line 0 |
1823 | 23 | 1 | 23 | 1 |
1824 | 24 | 24 | ||
1825 | 25 | Deprecated: Function session_register() is deprecated in %s on line %d | 25 | Deprecated: Function session_register() is deprecated in %s on line %d |
1826 | 26 | 26 | ||
1827 | === modified file 'Zend/zend_API.c' | |||
1828 | --- Zend/zend_API.c 2010-08-01 11:58:54 +0000 | |||
1829 | +++ Zend/zend_API.c 2011-02-01 10:04:54 +0000 | |||
1830 | @@ -18,7 +18,7 @@ | |||
1831 | 18 | +----------------------------------------------------------------------+ | 18 | +----------------------------------------------------------------------+ |
1832 | 19 | */ | 19 | */ |
1833 | 20 | 20 | ||
1835 | 21 | /* $Id: zend_API.c 299395 2010-05-14 23:48:03Z felipe $ */ | 21 | /* $Id: zend_API.c 302137 2010-08-12 07:58:14Z sas $ */ |
1836 | 22 | 22 | ||
1837 | 23 | #include "zend.h" | 23 | #include "zend.h" |
1838 | 24 | #include "zend_execute.h" | 24 | #include "zend_execute.h" |
1839 | @@ -1082,7 +1082,7 @@ | |||
1840 | 1082 | } else { | 1082 | } else { |
1841 | 1083 | ALLOC_HASHTABLE_REL(object->properties); | 1083 | ALLOC_HASHTABLE_REL(object->properties); |
1842 | 1084 | zend_hash_init(object->properties, zend_hash_num_elements(&class_type->default_properties), NULL, ZVAL_PTR_DTOR, 0); | 1084 | zend_hash_init(object->properties, zend_hash_num_elements(&class_type->default_properties), NULL, ZVAL_PTR_DTOR, 0); |
1844 | 1085 | zend_hash_copy(object->properties, &class_type->default_properties, (copy_ctor_func_t) zval_add_ref, (void *) &tmp, sizeof(zval *)); | 1085 | zend_hash_copy(object->properties, &class_type->default_properties, zval_copy_property_ctor(class_type), (void *) &tmp, sizeof(zval *)); |
1845 | 1086 | } | 1086 | } |
1846 | 1087 | } else { | 1087 | } else { |
1847 | 1088 | Z_OBJVAL_P(arg) = class_type->create_object(class_type TSRMLS_CC); | 1088 | Z_OBJVAL_P(arg) = class_type->create_object(class_type TSRMLS_CC); |
1848 | 1089 | 1089 | ||
1849 | === modified file 'Zend/zend_compile.c' | |||
1850 | --- Zend/zend_compile.c 2010-08-01 11:58:54 +0000 | |||
1851 | +++ Zend/zend_compile.c 2011-02-01 10:04:54 +0000 | |||
1852 | @@ -17,7 +17,7 @@ | |||
1853 | 17 | +----------------------------------------------------------------------+ | 17 | +----------------------------------------------------------------------+ |
1854 | 18 | */ | 18 | */ |
1855 | 19 | 19 | ||
1857 | 20 | /* $Id: zend_compile.c 300817 2010-06-28 16:37:57Z felipe $ */ | 20 | /* $Id: zend_compile.c 305057 2010-11-03 15:40:24Z colder $ */ |
1858 | 21 | 21 | ||
1859 | 22 | #include <zend_language_parser.h> | 22 | #include <zend_language_parser.h> |
1860 | 23 | #include "zend.h" | 23 | #include "zend.h" |
1861 | @@ -2551,12 +2551,14 @@ | |||
1862 | 2551 | return 0; | 2551 | return 0; |
1863 | 2552 | } | 2552 | } |
1864 | 2553 | 2553 | ||
1866 | 2554 | if (proto->common.pass_rest_by_reference | 2554 | if (fe->common.type != ZEND_USER_FUNCTION |
1867 | 2555 | && proto->common.pass_rest_by_reference | ||
1868 | 2555 | && !fe->common.pass_rest_by_reference) { | 2556 | && !fe->common.pass_rest_by_reference) { |
1869 | 2556 | return 0; | 2557 | return 0; |
1870 | 2557 | } | 2558 | } |
1871 | 2558 | 2559 | ||
1873 | 2559 | if (fe->common.return_reference != proto->common.return_reference) { | 2560 | /* by-ref constraints on return values are covariant */ |
1874 | 2561 | if (proto->common.return_reference && !fe->common.return_reference) { | ||
1875 | 2560 | return 0; | 2562 | return 0; |
1876 | 2561 | } | 2563 | } |
1877 | 2562 | 2564 | ||
1878 | @@ -2580,6 +2582,8 @@ | |||
1879 | 2580 | /* Only one has an array type hint and the other one doesn't */ | 2582 | /* Only one has an array type hint and the other one doesn't */ |
1880 | 2581 | return 0; | 2583 | return 0; |
1881 | 2582 | } | 2584 | } |
1882 | 2585 | |||
1883 | 2586 | /* by-ref constraints on arguments are invariant */ | ||
1884 | 2583 | if (fe->common.arg_info[i].pass_by_reference != proto->common.arg_info[i].pass_by_reference) { | 2587 | if (fe->common.arg_info[i].pass_by_reference != proto->common.arg_info[i].pass_by_reference) { |
1885 | 2584 | return 0; | 2588 | return 0; |
1886 | 2585 | } | 2589 | } |
1887 | @@ -2817,6 +2821,9 @@ | |||
1888 | 2817 | } | 2821 | } |
1889 | 2818 | /* }}} */ | 2822 | /* }}} */ |
1890 | 2819 | 2823 | ||
1891 | 2824 | #define zval_property_ctor(parent_ce, ce) \ | ||
1892 | 2825 | ((copy_ctor_func_t) (((parent_ce)->type != (ce)->type) ? zval_shared_property_ctor : zval_add_ref)) | ||
1893 | 2826 | |||
1894 | 2820 | ZEND_API void zend_do_inheritance(zend_class_entry *ce, zend_class_entry *parent_ce TSRMLS_DC) /* {{{ */ | 2827 | ZEND_API void zend_do_inheritance(zend_class_entry *ce, zend_class_entry *parent_ce TSRMLS_DC) /* {{{ */ |
1895 | 2821 | { | 2828 | { |
1896 | 2822 | if ((ce->ce_flags & ZEND_ACC_INTERFACE) | 2829 | if ((ce->ce_flags & ZEND_ACC_INTERFACE) |
1897 | @@ -2840,7 +2847,7 @@ | |||
1898 | 2840 | zend_do_inherit_interfaces(ce, parent_ce TSRMLS_CC); | 2847 | zend_do_inherit_interfaces(ce, parent_ce TSRMLS_CC); |
1899 | 2841 | 2848 | ||
1900 | 2842 | /* Inherit properties */ | 2849 | /* Inherit properties */ |
1902 | 2843 | zend_hash_merge(&ce->default_properties, &parent_ce->default_properties, (void (*)(void *)) zval_add_ref, NULL, sizeof(zval *), 0); | 2850 | zend_hash_merge(&ce->default_properties, &parent_ce->default_properties, zval_property_ctor(parent_ce, ce), NULL, sizeof(zval *), 0); |
1903 | 2844 | if (parent_ce->type != ce->type) { | 2851 | if (parent_ce->type != ce->type) { |
1904 | 2845 | /* User class extends internal class */ | 2852 | /* User class extends internal class */ |
1905 | 2846 | zend_update_class_constants(parent_ce TSRMLS_CC); | 2853 | zend_update_class_constants(parent_ce TSRMLS_CC); |
1906 | @@ -2850,7 +2857,7 @@ | |||
1907 | 2850 | } | 2857 | } |
1908 | 2851 | 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); | 2858 | 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); |
1909 | 2852 | 2859 | ||
1911 | 2853 | zend_hash_merge(&ce->constants_table, &parent_ce->constants_table, (void (*)(void *)) zval_add_ref, NULL, sizeof(zval *), 0); | 2860 | zend_hash_merge(&ce->constants_table, &parent_ce->constants_table, zval_property_ctor(parent_ce, ce), NULL, sizeof(zval *), 0); |
1912 | 2854 | 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); | 2861 | 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); |
1913 | 2855 | do_inherit_parent_constructor(ce); | 2862 | do_inherit_parent_constructor(ce); |
1914 | 2856 | 2863 | ||
1915 | 2857 | 2864 | ||
1916 | === modified file 'Zend/zend_constants.c' | |||
1917 | --- Zend/zend_constants.c 2010-03-16 09:09:50 +0000 | |||
1918 | +++ Zend/zend_constants.c 2011-02-01 10:04:54 +0000 | |||
1919 | @@ -17,7 +17,7 @@ | |||
1920 | 17 | +----------------------------------------------------------------------+ | 17 | +----------------------------------------------------------------------+ |
1921 | 18 | */ | 18 | */ |
1922 | 19 | 19 | ||
1924 | 20 | /* $Id: zend_constants.c 293155 2010-01-05 20:46:53Z sebastian $ */ | 20 | /* $Id: zend_constants.c 305332 2010-11-14 01:38:52Z felipe $ */ |
1925 | 21 | 21 | ||
1926 | 22 | #include "zend.h" | 22 | #include "zend.h" |
1927 | 23 | #include "zend_constants.h" | 23 | #include "zend_constants.h" |
1928 | @@ -434,8 +434,16 @@ | |||
1929 | 434 | } | 434 | } |
1930 | 435 | } | 435 | } |
1931 | 436 | 436 | ||
1934 | 437 | if ((strncmp(name, "__COMPILER_HALT_OFFSET__", sizeof("__COMPILER_HALT_OFFSET__") - 1) == 0) || | 437 | /* Check if the user is trying to define the internal pseudo constant name __COMPILER_HALT_OFFSET__ */ |
1935 | 438 | zend_hash_add(EG(zend_constants), name, c->name_len, (void *) c, sizeof(zend_constant), NULL)==FAILURE) { | 438 | if ((c->name_len == sizeof("__COMPILER_HALT_OFFSET__") |
1936 | 439 | && !memcmp(name, "__COMPILER_HALT_OFFSET__", sizeof("__COMPILER_HALT_OFFSET__")-1)) | ||
1937 | 440 | || zend_hash_add(EG(zend_constants), name, c->name_len, (void *) c, sizeof(zend_constant), NULL)==FAILURE) { | ||
1938 | 441 | |||
1939 | 442 | /* The internal __COMPILER_HALT_OFFSET__ is prefixed by NULL byte */ | ||
1940 | 443 | if (c->name[0] == '\0' && c->name_len > sizeof("\0__COMPILER_HALT_OFFSET__") | ||
1941 | 444 | && memcmp(name, "\0__COMPILER_HALT_OFFSET__", sizeof("\0__COMPILER_HALT_OFFSET__")) == 0) { | ||
1942 | 445 | name++; | ||
1943 | 446 | } | ||
1944 | 439 | zend_error(E_NOTICE,"Constant %s already defined", name); | 447 | zend_error(E_NOTICE,"Constant %s already defined", name); |
1945 | 440 | free(c->name); | 448 | free(c->name); |
1946 | 441 | if (!(c->flags & CONST_PERSISTENT)) { | 449 | if (!(c->flags & CONST_PERSISTENT)) { |
1947 | 442 | 450 | ||
1948 | === modified file 'Zend/zend_exceptions.c' | |||
1949 | --- Zend/zend_exceptions.c 2010-03-16 09:09:50 +0000 | |||
1950 | +++ Zend/zend_exceptions.c 2011-02-01 10:04:54 +0000 | |||
1951 | @@ -19,7 +19,7 @@ | |||
1952 | 19 | +----------------------------------------------------------------------+ | 19 | +----------------------------------------------------------------------+ |
1953 | 20 | */ | 20 | */ |
1954 | 21 | 21 | ||
1956 | 22 | /* $Id: zend_exceptions.c 293155 2010-01-05 20:46:53Z sebastian $ */ | 22 | /* $Id: zend_exceptions.c 302311 2010-08-16 08:11:08Z dmitry $ */ |
1957 | 23 | 23 | ||
1958 | 24 | #include "zend.h" | 24 | #include "zend.h" |
1959 | 25 | #include "zend_API.h" | 25 | #include "zend_API.h" |
1960 | @@ -137,7 +137,7 @@ | |||
1961 | 137 | 137 | ||
1962 | 138 | ALLOC_HASHTABLE(object->properties); | 138 | ALLOC_HASHTABLE(object->properties); |
1963 | 139 | zend_hash_init(object->properties, 0, NULL, ZVAL_PTR_DTOR, 0); | 139 | zend_hash_init(object->properties, 0, NULL, ZVAL_PTR_DTOR, 0); |
1965 | 140 | zend_hash_copy(object->properties, &class_type->default_properties, (copy_ctor_func_t) zval_add_ref, (void *) &tmp, sizeof(zval *)); | 140 | zend_hash_copy(object->properties, &class_type->default_properties, zval_copy_property_ctor(class_type), (void *) &tmp, sizeof(zval *)); |
1966 | 141 | 141 | ||
1967 | 142 | ALLOC_ZVAL(trace); | 142 | ALLOC_ZVAL(trace); |
1968 | 143 | Z_UNSET_ISREF_P(trace); | 143 | Z_UNSET_ISREF_P(trace); |
1969 | @@ -572,6 +572,7 @@ | |||
1970 | 572 | zend_call_function(&fci, NULL TSRMLS_CC); | 572 | zend_call_function(&fci, NULL TSRMLS_CC); |
1971 | 573 | 573 | ||
1972 | 574 | if (Z_TYPE_P(trace) != IS_STRING) { | 574 | if (Z_TYPE_P(trace) != IS_STRING) { |
1973 | 575 | zval_ptr_dtor(&trace); | ||
1974 | 575 | trace = NULL; | 576 | trace = NULL; |
1975 | 576 | } | 577 | } |
1976 | 577 | 578 | ||
1977 | @@ -592,6 +593,10 @@ | |||
1978 | 592 | zval_dtor(&line); | 593 | zval_dtor(&line); |
1979 | 593 | 594 | ||
1980 | 594 | exception = zend_read_property(default_exception_ce, exception, "previous", sizeof("previous")-1, 0 TSRMLS_CC); | 595 | exception = zend_read_property(default_exception_ce, exception, "previous", sizeof("previous")-1, 0 TSRMLS_CC); |
1981 | 596 | |||
1982 | 597 | if (trace) { | ||
1983 | 598 | zval_ptr_dtor(&trace); | ||
1984 | 599 | } | ||
1985 | 595 | } | 600 | } |
1986 | 596 | zval_dtor(&fname); | 601 | zval_dtor(&fname); |
1987 | 597 | 602 | ||
1988 | @@ -599,10 +604,6 @@ | |||
1989 | 599 | * the result in uncaught exception handlers without memleaks. */ | 604 | * the result in uncaught exception handlers without memleaks. */ |
1990 | 600 | zend_update_property_string(default_exception_ce, getThis(), "string", sizeof("string")-1, str TSRMLS_CC); | 605 | zend_update_property_string(default_exception_ce, getThis(), "string", sizeof("string")-1, str TSRMLS_CC); |
1991 | 601 | 606 | ||
1992 | 602 | if (trace) { | ||
1993 | 603 | zval_ptr_dtor(&trace); | ||
1994 | 604 | } | ||
1995 | 605 | |||
1996 | 606 | RETURN_STRINGL(str, len, 0); | 607 | RETURN_STRINGL(str, len, 0); |
1997 | 607 | } | 608 | } |
1998 | 608 | /* }}} */ | 609 | /* }}} */ |
1999 | 609 | 610 | ||
2000 | === modified file 'Zend/zend_execute.c' | |||
2001 | --- Zend/zend_execute.c 2010-08-01 11:58:54 +0000 | |||
2002 | +++ Zend/zend_execute.c 2011-02-01 10:04:54 +0000 | |||
2003 | @@ -17,7 +17,7 @@ | |||
2004 | 17 | +----------------------------------------------------------------------+ | 17 | +----------------------------------------------------------------------+ |
2005 | 18 | */ | 18 | */ |
2006 | 19 | 19 | ||
2008 | 20 | /* $Id: zend_execute.c 298213 2010-04-20 12:30:35Z dmitry $ */ | 20 | /* $Id: zend_execute.c 303895 2010-09-30 14:11:51Z dmitry $ */ |
2009 | 21 | 21 | ||
2010 | 22 | #define ZEND_INTENSIVE_DEBUGGING 0 | 22 | #define ZEND_INTENSIVE_DEBUGGING 0 |
2011 | 23 | 23 | ||
2012 | @@ -714,8 +714,8 @@ | |||
2013 | 714 | ALLOC_ZVAL(variable_ptr); | 714 | ALLOC_ZVAL(variable_ptr); |
2014 | 715 | *variable_ptr_ptr = variable_ptr; | 715 | *variable_ptr_ptr = variable_ptr; |
2015 | 716 | *variable_ptr = *value; | 716 | *variable_ptr = *value; |
2016 | 717 | zval_copy_ctor(variable_ptr); | ||
2017 | 718 | Z_SET_REFCOUNT_P(variable_ptr, 1); | 717 | Z_SET_REFCOUNT_P(variable_ptr, 1); |
2018 | 718 | zval_copy_ctor(variable_ptr); | ||
2019 | 719 | } else { | 719 | } else { |
2020 | 720 | *variable_ptr_ptr = value; | 720 | *variable_ptr_ptr = value; |
2021 | 721 | Z_ADDREF_P(value); | 721 | Z_ADDREF_P(value); |
2022 | 722 | 722 | ||
2023 | === modified file 'Zend/zend_execute_API.c' | |||
2024 | --- Zend/zend_execute_API.c 2010-08-01 11:58:54 +0000 | |||
2025 | +++ Zend/zend_execute_API.c 2011-02-01 10:04:54 +0000 | |||
2026 | @@ -17,7 +17,7 @@ | |||
2027 | 17 | +----------------------------------------------------------------------+ | 17 | +----------------------------------------------------------------------+ |
2028 | 18 | */ | 18 | */ |
2029 | 19 | 19 | ||
2031 | 20 | /* $Id: zend_execute_API.c 299766 2010-05-26 00:00:58Z felipe $ */ | 20 | /* $Id: zend_execute_API.c 304364 2010-10-13 08:51:39Z dmitry $ */ |
2032 | 21 | 21 | ||
2033 | 22 | #include <stdio.h> | 22 | #include <stdio.h> |
2034 | 23 | #include <signal.h> | 23 | #include <signal.h> |
2035 | @@ -870,7 +870,8 @@ | |||
2036 | 870 | if (Z_REFCOUNT_PP(fci->params[i]) > 1) { | 870 | if (Z_REFCOUNT_PP(fci->params[i]) > 1) { |
2037 | 871 | zval *new_zval; | 871 | zval *new_zval; |
2038 | 872 | 872 | ||
2040 | 873 | if (fci->no_separation) { | 873 | if (fci->no_separation && |
2041 | 874 | !ARG_MAY_BE_SENT_BY_REF(EX(function_state).function, i + 1)) { | ||
2042 | 874 | if(i) { | 875 | if(i) { |
2043 | 875 | /* hack to clean up the stack */ | 876 | /* hack to clean up the stack */ |
2044 | 876 | zend_vm_stack_push_nocheck((void *) (zend_uintptr_t)i TSRMLS_CC); | 877 | zend_vm_stack_push_nocheck((void *) (zend_uintptr_t)i TSRMLS_CC); |
2045 | 877 | 878 | ||
2046 | === modified file 'Zend/zend_gc.c' | |||
2047 | --- Zend/zend_gc.c 2010-07-31 15:53:12 +0000 | |||
2048 | +++ Zend/zend_gc.c 2011-02-01 10:04:54 +0000 | |||
2049 | @@ -17,7 +17,7 @@ | |||
2050 | 17 | +----------------------------------------------------------------------+ | 17 | +----------------------------------------------------------------------+ |
2051 | 18 | */ | 18 | */ |
2052 | 19 | 19 | ||
2054 | 20 | /* $Id: zend_gc.c 297307 2010-04-01 22:54:03Z stas $ */ | 20 | /* $Id: zend_gc.c 303016 2010-09-03 09:27:47Z dmitry $ */ |
2055 | 21 | 21 | ||
2056 | 22 | #include "zend.h" | 22 | #include "zend.h" |
2057 | 23 | #include "zend_API.h" | 23 | #include "zend_API.h" |
2058 | @@ -414,19 +414,21 @@ | |||
2059 | 414 | gc_root_buffer *current = GC_G(roots).next; | 414 | gc_root_buffer *current = GC_G(roots).next; |
2060 | 415 | 415 | ||
2061 | 416 | while (current != &GC_G(roots)) { | 416 | while (current != &GC_G(roots)) { |
2075 | 417 | if (current->handle && EG(objects_store).object_buckets) { | 417 | if (current->handle) { |
2076 | 418 | struct _store_object *obj = &EG(objects_store).object_buckets[current->handle].bucket.obj; | 418 | if (EG(objects_store).object_buckets) { |
2077 | 419 | 419 | struct _store_object *obj = &EG(objects_store).object_buckets[current->handle].bucket.obj; | |
2078 | 420 | if (GC_GET_COLOR(obj->buffered) == GC_PURPLE) { | 420 | |
2079 | 421 | zval z; | 421 | if (GC_GET_COLOR(obj->buffered) == GC_PURPLE) { |
2080 | 422 | 422 | zval z; | |
2081 | 423 | INIT_PZVAL(&z); | 423 | |
2082 | 424 | Z_OBJ_HANDLE(z) = current->handle; | 424 | INIT_PZVAL(&z); |
2083 | 425 | Z_OBJ_HT(z) = current->u.handlers; | 425 | Z_OBJ_HANDLE(z) = current->handle; |
2084 | 426 | zobj_mark_grey(obj, &z TSRMLS_CC); | 426 | Z_OBJ_HT(z) = current->u.handlers; |
2085 | 427 | } else { | 427 | zobj_mark_grey(obj, &z TSRMLS_CC); |
2086 | 428 | GC_SET_ADDRESS(obj->buffered, NULL); | 428 | } else { |
2087 | 429 | GC_REMOVE_FROM_BUFFER(current); | 429 | GC_SET_ADDRESS(obj->buffered, NULL); |
2088 | 430 | GC_REMOVE_FROM_BUFFER(current); | ||
2089 | 431 | } | ||
2090 | 430 | } | 432 | } |
2091 | 431 | } else { | 433 | } else { |
2092 | 432 | if (GC_ZVAL_GET_COLOR(current->u.pz) == GC_PURPLE) { | 434 | if (GC_ZVAL_GET_COLOR(current->u.pz) == GC_PURPLE) { |
2093 | @@ -623,15 +625,17 @@ | |||
2094 | 623 | gc_root_buffer *current = GC_G(roots).next; | 625 | gc_root_buffer *current = GC_G(roots).next; |
2095 | 624 | 626 | ||
2096 | 625 | while (current != &GC_G(roots)) { | 627 | while (current != &GC_G(roots)) { |
2100 | 626 | if (current->handle && EG(objects_store).object_buckets) { | 628 | if (current->handle) { |
2101 | 627 | struct _store_object *obj = &EG(objects_store).object_buckets[current->handle].bucket.obj; | 629 | if (EG(objects_store).object_buckets) { |
2102 | 628 | zval z; | 630 | struct _store_object *obj = &EG(objects_store).object_buckets[current->handle].bucket.obj; |
2103 | 631 | zval z; | ||
2104 | 629 | 632 | ||
2110 | 630 | GC_SET_ADDRESS(obj->buffered, NULL); | 633 | GC_SET_ADDRESS(obj->buffered, NULL); |
2111 | 631 | INIT_PZVAL(&z); | 634 | INIT_PZVAL(&z); |
2112 | 632 | Z_OBJ_HANDLE(z) = current->handle; | 635 | Z_OBJ_HANDLE(z) = current->handle; |
2113 | 633 | Z_OBJ_HT(z) = current->u.handlers; | 636 | Z_OBJ_HT(z) = current->u.handlers; |
2114 | 634 | zobj_collect_white(&z TSRMLS_CC); | 637 | zobj_collect_white(&z TSRMLS_CC); |
2115 | 638 | } | ||
2116 | 635 | } else { | 639 | } else { |
2117 | 636 | GC_ZVAL_SET_ADDRESS(current->u.pz, NULL); | 640 | GC_ZVAL_SET_ADDRESS(current->u.pz, NULL); |
2118 | 637 | zval_collect_white(current->u.pz TSRMLS_CC); | 641 | zval_collect_white(current->u.pz TSRMLS_CC); |
2119 | 638 | 642 | ||
2120 | === modified file 'Zend/zend_hash.c' | |||
2121 | --- Zend/zend_hash.c 2010-08-01 11:58:54 +0000 | |||
2122 | +++ Zend/zend_hash.c 2011-02-01 10:04:54 +0000 | |||
2123 | @@ -17,7 +17,7 @@ | |||
2124 | 17 | +----------------------------------------------------------------------+ | 17 | +----------------------------------------------------------------------+ |
2125 | 18 | */ | 18 | */ |
2126 | 19 | 19 | ||
2128 | 20 | /* $Id: zend_hash.c 298914 2010-05-03 16:36:04Z felipe $ */ | 20 | /* $Id: zend_hash.c 303364 2010-09-14 14:26:37Z johannes $ */ |
2129 | 21 | 21 | ||
2130 | 22 | #include "zend.h" | 22 | #include "zend.h" |
2131 | 23 | 23 | ||
2132 | @@ -63,6 +63,9 @@ | |||
2133 | 63 | case HT_CLEANING: | 63 | case HT_CLEANING: |
2134 | 64 | zend_output_debug_string(1, "%s(%d) : ht=%p is being cleaned", file, line, ht); | 64 | zend_output_debug_string(1, "%s(%d) : ht=%p is being cleaned", file, line, ht); |
2135 | 65 | break; | 65 | break; |
2136 | 66 | default: | ||
2137 | 67 | zend_output_debug_string(1, "%s(%d) : ht=%p is inconsistent", file, line, ht); | ||
2138 | 68 | break; | ||
2139 | 66 | } | 69 | } |
2140 | 67 | zend_bailout(); | 70 | zend_bailout(); |
2141 | 68 | } | 71 | } |
2142 | 69 | 72 | ||
2143 | === modified file 'Zend/zend_hash.h' | |||
2144 | --- Zend/zend_hash.h 2010-03-16 09:09:50 +0000 | |||
2145 | +++ Zend/zend_hash.h 2011-02-01 10:04:54 +0000 | |||
2146 | @@ -17,7 +17,7 @@ | |||
2147 | 17 | +----------------------------------------------------------------------+ | 17 | +----------------------------------------------------------------------+ |
2148 | 18 | */ | 18 | */ |
2149 | 19 | 19 | ||
2151 | 20 | /* $Id: zend_hash.h 293155 2010-01-05 20:46:53Z sebastian $ */ | 20 | /* $Id: zend_hash.h 304083 2010-10-05 11:28:56Z dmitry $ */ |
2152 | 21 | 21 | ||
2153 | 22 | #ifndef ZEND_HASH_H | 22 | #ifndef ZEND_HASH_H |
2154 | 23 | #define ZEND_HASH_H | 23 | #define ZEND_HASH_H |
2155 | @@ -312,7 +312,7 @@ | |||
2156 | 312 | } \ | 312 | } \ |
2157 | 313 | if (*tmp >= '0' && *tmp <= '9') { /* possibly a numeric index */ \ | 313 | if (*tmp >= '0' && *tmp <= '9') { /* possibly a numeric index */ \ |
2158 | 314 | const char *end = key + length - 1; \ | 314 | const char *end = key + length - 1; \ |
2160 | 315 | long idx; \ | 315 | ulong idx; \ |
2161 | 316 | \ | 316 | \ |
2162 | 317 | if ((*end != '\0') /* not a null terminated string */ \ | 317 | if ((*end != '\0') /* not a null terminated string */ \ |
2163 | 318 | || (*tmp == '0' && length > 2) /* numbers with leading zeros */ \ | 318 | || (*tmp == '0' && length > 2) /* numbers with leading zeros */ \ |
2164 | @@ -328,11 +328,11 @@ | |||
2165 | 328 | } \ | 328 | } \ |
2166 | 329 | if (tmp == end) { \ | 329 | if (tmp == end) { \ |
2167 | 330 | if (*key == '-') { \ | 330 | if (*key == '-') { \ |
2170 | 331 | idx = -idx; \ | 331 | if (idx-1 > LONG_MAX) { /* overflow */ \ |
2169 | 332 | if (idx > 0) { /* overflow */ \ | ||
2171 | 333 | break; \ | 332 | break; \ |
2172 | 334 | } \ | 333 | } \ |
2174 | 335 | } else if (idx < 0) { /* overflow */ \ | 334 | idx = (ulong)(-(long)idx); \ |
2175 | 335 | } else if (idx > LONG_MAX) { /* overflow */ \ | ||
2176 | 336 | break; \ | 336 | break; \ |
2177 | 337 | } \ | 337 | } \ |
2178 | 338 | return func; \ | 338 | return func; \ |
2179 | 339 | 339 | ||
2180 | === modified file 'Zend/zend_ini_scanner.c' | |||
2181 | --- Zend/zend_ini_scanner.c 2010-08-01 11:58:54 +0000 | |||
2182 | +++ Zend/zend_ini_scanner.c 2011-02-01 10:04:54 +0000 | |||
2183 | @@ -1,4 +1,4 @@ | |||
2185 | 1 | /* Generated by re2c 0.13.5 on Tue May 25 22:53:58 2010 */ | 1 | /* Generated by re2c 0.13.5 on Sun Aug 1 12:07:43 2010 */ |
2186 | 2 | #line 1 "Zend/zend_ini_scanner.l" | 2 | #line 1 "Zend/zend_ini_scanner.l" |
2187 | 3 | /* | 3 | /* |
2188 | 4 | +----------------------------------------------------------------------+ | 4 | +----------------------------------------------------------------------+ |
2189 | @@ -22,7 +22,7 @@ | |||
2190 | 22 | +----------------------------------------------------------------------+ | 22 | +----------------------------------------------------------------------+ |
2191 | 23 | */ | 23 | */ |
2192 | 24 | 24 | ||
2194 | 25 | /* $Id: zend_ini_scanner.c 299767 2010-05-26 02:18:17Z felipe $ */ | 25 | /* $Id: zend_ini_scanner.c 301758 2010-08-01 15:26:54Z felipe $ */ |
2195 | 26 | 26 | ||
2196 | 27 | #include <errno.h> | 27 | #include <errno.h> |
2197 | 28 | #include "zend.h" | 28 | #include "zend.h" |
2198 | @@ -1826,7 +1826,7 @@ | |||
2199 | 1826 | yyc_ST_RAW: | 1826 | yyc_ST_RAW: |
2200 | 1827 | { | 1827 | { |
2201 | 1828 | static const unsigned char yybm[] = { | 1828 | static const unsigned char yybm[] = { |
2203 | 1829 | 160, 160, 160, 160, 160, 160, 160, 160, | 1829 | 32, 160, 160, 160, 160, 160, 160, 160, |
2204 | 1830 | 160, 224, 0, 160, 160, 0, 160, 160, | 1830 | 160, 224, 0, 160, 160, 0, 160, 160, |
2205 | 1831 | 160, 160, 160, 160, 160, 160, 160, 160, | 1831 | 160, 160, 160, 160, 160, 160, 160, 160, |
2206 | 1832 | 160, 160, 160, 160, 160, 160, 160, 160, | 1832 | 160, 160, 160, 160, 160, 160, 160, 160, |
2207 | @@ -1862,150 +1862,158 @@ | |||
2208 | 1862 | YYDEBUG(135, *YYCURSOR); | 1862 | YYDEBUG(135, *YYCURSOR); |
2209 | 1863 | YYFILL(3); | 1863 | YYFILL(3); |
2210 | 1864 | yych = *YYCURSOR; | 1864 | yych = *YYCURSOR; |
2214 | 1865 | if (yych <= '\r') { | 1865 | if (yych <= '\f') { |
2215 | 1866 | if (yych <= '\t') { | 1866 | if (yych <= 0x08) { |
2216 | 1867 | if (yych >= '\t') goto yy139; | 1867 | if (yych >= 0x01) goto yy139; |
2217 | 1868 | } else { | 1868 | } else { |
2220 | 1869 | if (yych <= '\n') goto yy140; | 1869 | if (yych <= '\t') goto yy141; |
2221 | 1870 | if (yych >= '\r') goto yy142; | 1870 | if (yych <= '\n') goto yy142; |
2222 | 1871 | goto yy139; | ||
2223 | 1871 | } | 1872 | } |
2224 | 1872 | } else { | 1873 | } else { |
2225 | 1873 | if (yych <= ' ') { | 1874 | if (yych <= ' ') { |
2227 | 1874 | if (yych >= ' ') goto yy139; | 1875 | if (yych <= '\r') goto yy144; |
2228 | 1876 | if (yych <= 0x1F) goto yy139; | ||
2229 | 1877 | goto yy141; | ||
2230 | 1875 | } else { | 1878 | } else { |
2232 | 1876 | if (yych == ';') goto yy143; | 1879 | if (yych == ';') goto yy145; |
2233 | 1880 | goto yy139; | ||
2234 | 1877 | } | 1881 | } |
2235 | 1878 | } | 1882 | } |
2236 | 1879 | YYDEBUG(137, *YYCURSOR); | 1883 | YYDEBUG(137, *YYCURSOR); |
2237 | 1880 | ++YYCURSOR; | 1884 | ++YYCURSOR; |
2238 | 1881 | yych = *YYCURSOR; | ||
2239 | 1882 | goto yy155; | ||
2240 | 1883 | yy138: | ||
2241 | 1884 | YYDEBUG(138, *YYCURSOR); | 1885 | YYDEBUG(138, *YYCURSOR); |
2242 | 1885 | yyleng = YYCURSOR - SCNG(yy_text); | 1886 | yyleng = YYCURSOR - SCNG(yy_text); |
2251 | 1886 | #line 445 "Zend/zend_ini_scanner.l" | 1887 | #line 567 "Zend/zend_ini_scanner.l" |
2252 | 1887 | { /* Raw value, only used when SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW. */ | 1888 | { /* End of option value (if EOF is reached before EOL */ |
2253 | 1888 | /* Eat leading and trailing double quotes */ | 1889 | BEGIN(INITIAL); |
2254 | 1889 | if (yytext[0] == '"' && yytext[yyleng - 1] == '"') { | 1890 | return END_OF_LINE; |
2247 | 1890 | SCNG(yy_text)++; | ||
2248 | 1891 | yyleng = yyleng - 2; | ||
2249 | 1892 | } | ||
2250 | 1893 | RETURN_TOKEN(TC_RAW, yytext, yyleng); | ||
2255 | 1894 | } | 1891 | } |
2257 | 1895 | #line 1896 "Zend/zend_ini_scanner.c" | 1892 | #line 1893 "Zend/zend_ini_scanner.c" |
2258 | 1896 | yy139: | 1893 | yy139: |
2259 | 1897 | YYDEBUG(139, *YYCURSOR); | 1894 | YYDEBUG(139, *YYCURSOR); |
2273 | 1898 | yyaccept = 0; | 1895 | ++YYCURSOR; |
2274 | 1899 | yych = *(YYMARKER = ++YYCURSOR); | 1896 | yych = *YYCURSOR; |
2275 | 1900 | if (yybm[0+yych] & 64) { | 1897 | goto yy156; |
2263 | 1901 | goto yy151; | ||
2264 | 1902 | } | ||
2265 | 1903 | if (yych <= '\f') { | ||
2266 | 1904 | if (yych == '\n') goto yy150; | ||
2267 | 1905 | goto yy154; | ||
2268 | 1906 | } else { | ||
2269 | 1907 | if (yych <= '\r') goto yy153; | ||
2270 | 1908 | if (yych == ';') goto yy145; | ||
2271 | 1909 | goto yy154; | ||
2272 | 1910 | } | ||
2276 | 1911 | yy140: | 1898 | yy140: |
2277 | 1912 | YYDEBUG(140, *YYCURSOR); | 1899 | YYDEBUG(140, *YYCURSOR); |
2279 | 1913 | ++YYCURSOR; | 1900 | yyleng = YYCURSOR - SCNG(yy_text); |
2280 | 1901 | #line 445 "Zend/zend_ini_scanner.l" | ||
2281 | 1902 | { /* Raw value, only used when SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW. */ | ||
2282 | 1903 | /* Eat leading and trailing double quotes */ | ||
2283 | 1904 | if (yytext[0] == '"' && yytext[yyleng - 1] == '"') { | ||
2284 | 1905 | SCNG(yy_text)++; | ||
2285 | 1906 | yyleng = yyleng - 2; | ||
2286 | 1907 | } | ||
2287 | 1908 | RETURN_TOKEN(TC_RAW, yytext, yyleng); | ||
2288 | 1909 | } | ||
2289 | 1910 | #line 1911 "Zend/zend_ini_scanner.c" | ||
2290 | 1914 | yy141: | 1911 | yy141: |
2291 | 1915 | YYDEBUG(141, *YYCURSOR); | 1912 | YYDEBUG(141, *YYCURSOR); |
2300 | 1916 | yyleng = YYCURSOR - SCNG(yy_text); | 1913 | yyaccept = 0; |
2301 | 1917 | #line 458 "Zend/zend_ini_scanner.l" | 1914 | yych = *(YYMARKER = ++YYCURSOR); |
2302 | 1918 | { /* End of option value */ | 1915 | if (yybm[0+yych] & 64) { |
2303 | 1919 | BEGIN(INITIAL); | 1916 | goto yy152; |
2304 | 1920 | SCNG(lineno)++; | 1917 | } |
2305 | 1921 | return END_OF_LINE; | 1918 | if (yych <= '\f') { |
2306 | 1922 | } | 1919 | if (yych == '\n') goto yy151; |
2307 | 1923 | #line 1924 "Zend/zend_ini_scanner.c" | 1920 | goto yy156; |
2308 | 1921 | } else { | ||
2309 | 1922 | if (yych <= '\r') goto yy154; | ||
2310 | 1923 | if (yych == ';') goto yy146; | ||
2311 | 1924 | goto yy156; | ||
2312 | 1925 | } | ||
2313 | 1924 | yy142: | 1926 | yy142: |
2314 | 1925 | YYDEBUG(142, *YYCURSOR); | 1927 | YYDEBUG(142, *YYCURSOR); |
2318 | 1926 | yych = *++YYCURSOR; | 1928 | ++YYCURSOR; |
2316 | 1927 | if (yych == '\n') goto yy150; | ||
2317 | 1928 | goto yy141; | ||
2319 | 1929 | yy143: | 1929 | yy143: |
2320 | 1930 | YYDEBUG(143, *YYCURSOR); | 1930 | YYDEBUG(143, *YYCURSOR); |
2324 | 1931 | yyaccept = 1; | 1931 | yyleng = YYCURSOR - SCNG(yy_text); |
2325 | 1932 | yych = *(YYMARKER = ++YYCURSOR); | 1932 | #line 458 "Zend/zend_ini_scanner.l" |
2326 | 1933 | goto yy146; | 1933 | { /* End of option value */ |
2327 | 1934 | BEGIN(INITIAL); | ||
2328 | 1935 | SCNG(lineno)++; | ||
2329 | 1936 | return END_OF_LINE; | ||
2330 | 1937 | } | ||
2331 | 1938 | #line 1939 "Zend/zend_ini_scanner.c" | ||
2332 | 1939 | yy144: | ||
2333 | 1934 | YYDEBUG(144, *YYCURSOR); | 1940 | YYDEBUG(144, *YYCURSOR); |
2341 | 1935 | yyleng = YYCURSOR - SCNG(yy_text); | 1941 | yych = *++YYCURSOR; |
2342 | 1936 | #line 567 "Zend/zend_ini_scanner.l" | 1942 | if (yych == '\n') goto yy151; |
2343 | 1937 | { /* End of option value (if EOF is reached before EOL */ | 1943 | goto yy143; |
2337 | 1938 | BEGIN(INITIAL); | ||
2338 | 1939 | return END_OF_LINE; | ||
2339 | 1940 | } | ||
2340 | 1941 | #line 1942 "Zend/zend_ini_scanner.c" | ||
2344 | 1942 | yy145: | 1944 | yy145: |
2345 | 1943 | YYDEBUG(145, *YYCURSOR); | 1945 | YYDEBUG(145, *YYCURSOR); |
2349 | 1944 | ++YYCURSOR; | 1946 | yyaccept = 1; |
2350 | 1945 | YYFILL(2); | 1947 | yych = *(YYMARKER = ++YYCURSOR); |
2351 | 1946 | yych = *YYCURSOR; | 1948 | goto yy147; |
2352 | 1947 | yy146: | 1949 | yy146: |
2353 | 1948 | YYDEBUG(146, *YYCURSOR); | 1950 | YYDEBUG(146, *YYCURSOR); |
2358 | 1949 | if (yybm[0+yych] & 32) { | 1951 | ++YYCURSOR; |
2359 | 1950 | goto yy145; | 1952 | YYFILL(2); |
2360 | 1951 | } | 1953 | yych = *YYCURSOR; |
2357 | 1952 | if (yych >= '\r') goto yy149; | ||
2361 | 1953 | yy147: | 1954 | yy147: |
2362 | 1954 | YYDEBUG(147, *YYCURSOR); | 1955 | YYDEBUG(147, *YYCURSOR); |
2364 | 1955 | ++YYCURSOR; | 1956 | if (yybm[0+yych] & 32) { |
2365 | 1957 | goto yy146; | ||
2366 | 1958 | } | ||
2367 | 1959 | if (yych >= '\r') goto yy150; | ||
2368 | 1956 | yy148: | 1960 | yy148: |
2369 | 1957 | YYDEBUG(148, *YYCURSOR); | 1961 | YYDEBUG(148, *YYCURSOR); |
2378 | 1958 | yyleng = YYCURSOR - SCNG(yy_text); | 1962 | ++YYCURSOR; |
2371 | 1959 | #line 554 "Zend/zend_ini_scanner.l" | ||
2372 | 1960 | { /* Comment */ | ||
2373 | 1961 | BEGIN(INITIAL); | ||
2374 | 1962 | SCNG(lineno)++; | ||
2375 | 1963 | return END_OF_LINE; | ||
2376 | 1964 | } | ||
2377 | 1965 | #line 1966 "Zend/zend_ini_scanner.c" | ||
2379 | 1966 | yy149: | 1963 | yy149: |
2380 | 1967 | YYDEBUG(149, *YYCURSOR); | 1964 | YYDEBUG(149, *YYCURSOR); |
2384 | 1968 | yych = *++YYCURSOR; | 1965 | yyleng = YYCURSOR - SCNG(yy_text); |
2385 | 1969 | if (yych == '\n') goto yy147; | 1966 | #line 554 "Zend/zend_ini_scanner.l" |
2386 | 1970 | goto yy148; | 1967 | { /* Comment */ |
2387 | 1968 | BEGIN(INITIAL); | ||
2388 | 1969 | SCNG(lineno)++; | ||
2389 | 1970 | return END_OF_LINE; | ||
2390 | 1971 | } | ||
2391 | 1972 | #line 1973 "Zend/zend_ini_scanner.c" | ||
2392 | 1971 | yy150: | 1973 | yy150: |
2393 | 1972 | YYDEBUG(150, *YYCURSOR); | 1974 | YYDEBUG(150, *YYCURSOR); |
2394 | 1973 | yych = *++YYCURSOR; | 1975 | yych = *++YYCURSOR; |
2396 | 1974 | goto yy141; | 1976 | if (yych == '\n') goto yy148; |
2397 | 1977 | goto yy149; | ||
2398 | 1975 | yy151: | 1978 | yy151: |
2399 | 1976 | YYDEBUG(151, *YYCURSOR); | 1979 | YYDEBUG(151, *YYCURSOR); |
2404 | 1977 | yyaccept = 0; | 1980 | yych = *++YYCURSOR; |
2405 | 1978 | YYMARKER = ++YYCURSOR; | 1981 | goto yy143; |
2406 | 1979 | YYFILL(2); | 1982 | yy152: |
2403 | 1980 | yych = *YYCURSOR; | ||
2407 | 1981 | YYDEBUG(152, *YYCURSOR); | 1983 | YYDEBUG(152, *YYCURSOR); |
2420 | 1982 | if (yybm[0+yych] & 64) { | 1984 | yyaccept = 0; |
2421 | 1983 | goto yy151; | 1985 | YYMARKER = ++YYCURSOR; |
2422 | 1984 | } | 1986 | YYFILL(2); |
2423 | 1985 | if (yych <= '\f') { | 1987 | yych = *YYCURSOR; |
2412 | 1986 | if (yych == '\n') goto yy150; | ||
2413 | 1987 | goto yy154; | ||
2414 | 1988 | } else { | ||
2415 | 1989 | if (yych <= '\r') goto yy153; | ||
2416 | 1990 | if (yych == ';') goto yy145; | ||
2417 | 1991 | goto yy154; | ||
2418 | 1992 | } | ||
2419 | 1993 | yy153: | ||
2424 | 1994 | YYDEBUG(153, *YYCURSOR); | 1988 | YYDEBUG(153, *YYCURSOR); |
2428 | 1995 | yych = *++YYCURSOR; | 1989 | if (yybm[0+yych] & 64) { |
2429 | 1996 | if (yych == '\n') goto yy150; | 1990 | goto yy152; |
2430 | 1997 | goto yy141; | 1991 | } |
2431 | 1992 | if (yych <= '\f') { | ||
2432 | 1993 | if (yych <= 0x00) goto yy140; | ||
2433 | 1994 | if (yych == '\n') goto yy151; | ||
2434 | 1995 | goto yy155; | ||
2435 | 1996 | } else { | ||
2436 | 1997 | if (yych <= '\r') goto yy154; | ||
2437 | 1998 | if (yych == ';') goto yy146; | ||
2438 | 1999 | goto yy155; | ||
2439 | 2000 | } | ||
2440 | 1998 | yy154: | 2001 | yy154: |
2441 | 1999 | YYDEBUG(154, *YYCURSOR); | 2002 | YYDEBUG(154, *YYCURSOR); |
2445 | 2000 | ++YYCURSOR; | 2003 | yych = *++YYCURSOR; |
2446 | 2001 | YYFILL(1); | 2004 | if (yych == '\n') goto yy151; |
2447 | 2002 | yych = *YYCURSOR; | 2005 | goto yy143; |
2448 | 2003 | yy155: | 2006 | yy155: |
2449 | 2004 | YYDEBUG(155, *YYCURSOR); | 2007 | YYDEBUG(155, *YYCURSOR); |
2450 | 2008 | ++YYCURSOR; | ||
2451 | 2009 | YYFILL(1); | ||
2452 | 2010 | yych = *YYCURSOR; | ||
2453 | 2011 | yy156: | ||
2454 | 2012 | YYDEBUG(156, *YYCURSOR); | ||
2455 | 2005 | if (yybm[0+yych] & 128) { | 2013 | if (yybm[0+yych] & 128) { |
2457 | 2006 | goto yy154; | 2014 | goto yy155; |
2458 | 2007 | } | 2015 | } |
2460 | 2008 | goto yy138; | 2016 | goto yy140; |
2461 | 2009 | } | 2017 | } |
2462 | 2010 | /* *********************************** */ | 2018 | /* *********************************** */ |
2463 | 2011 | yyc_ST_SECTION_RAW: | 2019 | yyc_ST_SECTION_RAW: |
2464 | @@ -2044,85 +2052,85 @@ | |||
2465 | 2044 | 128, 128, 128, 128, 128, 128, 128, 128, | 2052 | 128, 128, 128, 128, 128, 128, 128, 128, |
2466 | 2045 | 128, 128, 128, 128, 128, 128, 128, 128, | 2053 | 128, 128, 128, 128, 128, 128, 128, 128, |
2467 | 2046 | }; | 2054 | }; |
2469 | 2047 | YYDEBUG(156, *YYCURSOR); | 2055 | YYDEBUG(157, *YYCURSOR); |
2470 | 2048 | YYFILL(3); | 2056 | YYFILL(3); |
2471 | 2049 | yych = *YYCURSOR; | 2057 | yych = *YYCURSOR; |
2472 | 2050 | if (yych <= '\f') { | 2058 | if (yych <= '\f') { |
2474 | 2051 | if (yych == '\n') goto yy160; | 2059 | if (yych == '\n') goto yy161; |
2475 | 2052 | } else { | 2060 | } else { |
2478 | 2053 | if (yych <= '\r') goto yy160; | 2061 | if (yych <= '\r') goto yy161; |
2479 | 2054 | if (yych == ']') goto yy162; | 2062 | if (yych == ']') goto yy163; |
2480 | 2055 | } | 2063 | } |
2481 | 2056 | YYDEBUG(158, *YYCURSOR); | ||
2482 | 2057 | ++YYCURSOR; | ||
2483 | 2058 | yych = *YYCURSOR; | ||
2484 | 2059 | goto yy169; | ||
2485 | 2060 | yy159: | ||
2486 | 2061 | YYDEBUG(159, *YYCURSOR); | 2064 | YYDEBUG(159, *YYCURSOR); |
2493 | 2062 | yyleng = YYCURSOR - SCNG(yy_text); | 2065 | ++YYCURSOR; |
2494 | 2063 | #line 454 "Zend/zend_ini_scanner.l" | 2066 | yych = *YYCURSOR; |
2495 | 2064 | { /* Raw value, only used when SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW. */ | 2067 | goto yy170; |
2490 | 2065 | RETURN_TOKEN(TC_RAW, yytext, yyleng); | ||
2491 | 2066 | } | ||
2492 | 2067 | #line 2068 "Zend/zend_ini_scanner.c" | ||
2496 | 2068 | yy160: | 2068 | yy160: |
2497 | 2069 | YYDEBUG(160, *YYCURSOR); | 2069 | YYDEBUG(160, *YYCURSOR); |
2499 | 2070 | ++YYCURSOR; | 2070 | yyleng = YYCURSOR - SCNG(yy_text); |
2500 | 2071 | #line 454 "Zend/zend_ini_scanner.l" | ||
2501 | 2072 | { /* Raw value, only used when SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW. */ | ||
2502 | 2073 | RETURN_TOKEN(TC_RAW, yytext, yyleng); | ||
2503 | 2074 | } | ||
2504 | 2075 | #line 2076 "Zend/zend_ini_scanner.c" | ||
2505 | 2076 | yy161: | ||
2506 | 2071 | YYDEBUG(161, *YYCURSOR); | 2077 | YYDEBUG(161, *YYCURSOR); |
2514 | 2072 | yyleng = YYCURSOR - SCNG(yy_text); | 2078 | ++YYCURSOR; |
2508 | 2073 | #line 572 "Zend/zend_ini_scanner.l" | ||
2509 | 2074 | { | ||
2510 | 2075 | return 0; | ||
2511 | 2076 | } | ||
2512 | 2077 | #line 2078 "Zend/zend_ini_scanner.c" | ||
2513 | 2078 | yy162: | ||
2515 | 2079 | YYDEBUG(162, *YYCURSOR); | 2079 | YYDEBUG(162, *YYCURSOR); |
2519 | 2080 | ++YYCURSOR; | 2080 | yyleng = YYCURSOR - SCNG(yy_text); |
2520 | 2081 | yych = *YYCURSOR; | 2081 | #line 572 "Zend/zend_ini_scanner.l" |
2521 | 2082 | goto yy165; | 2082 | { |
2522 | 2083 | return 0; | ||
2523 | 2084 | } | ||
2524 | 2085 | #line 2086 "Zend/zend_ini_scanner.c" | ||
2525 | 2083 | yy163: | 2086 | yy163: |
2526 | 2084 | YYDEBUG(163, *YYCURSOR); | 2087 | YYDEBUG(163, *YYCURSOR); |
2535 | 2085 | yyleng = YYCURSOR - SCNG(yy_text); | 2088 | ++YYCURSOR; |
2536 | 2086 | #line 374 "Zend/zend_ini_scanner.l" | 2089 | yych = *YYCURSOR; |
2537 | 2087 | { /* End of section */ | 2090 | goto yy166; |
2530 | 2088 | BEGIN(INITIAL); | ||
2531 | 2089 | SCNG(lineno)++; | ||
2532 | 2090 | return ']'; | ||
2533 | 2091 | } | ||
2534 | 2092 | #line 2093 "Zend/zend_ini_scanner.c" | ||
2538 | 2093 | yy164: | 2091 | yy164: |
2539 | 2094 | YYDEBUG(164, *YYCURSOR); | 2092 | YYDEBUG(164, *YYCURSOR); |
2543 | 2095 | ++YYCURSOR; | 2093 | yyleng = YYCURSOR - SCNG(yy_text); |
2544 | 2096 | YYFILL(2); | 2094 | #line 374 "Zend/zend_ini_scanner.l" |
2545 | 2097 | yych = *YYCURSOR; | 2095 | { /* End of section */ |
2546 | 2096 | BEGIN(INITIAL); | ||
2547 | 2097 | SCNG(lineno)++; | ||
2548 | 2098 | return ']'; | ||
2549 | 2099 | } | ||
2550 | 2100 | #line 2101 "Zend/zend_ini_scanner.c" | ||
2551 | 2098 | yy165: | 2101 | yy165: |
2552 | 2099 | YYDEBUG(165, *YYCURSOR); | 2102 | YYDEBUG(165, *YYCURSOR); |
2559 | 2100 | if (yybm[0+yych] & 64) { | 2103 | ++YYCURSOR; |
2560 | 2101 | goto yy164; | 2104 | YYFILL(2); |
2561 | 2102 | } | 2105 | yych = *YYCURSOR; |
2556 | 2103 | if (yych == '\n') goto yy166; | ||
2557 | 2104 | if (yych == '\r') goto yy167; | ||
2558 | 2105 | goto yy163; | ||
2562 | 2106 | yy166: | 2106 | yy166: |
2563 | 2107 | YYDEBUG(166, *YYCURSOR); | 2107 | YYDEBUG(166, *YYCURSOR); |
2566 | 2108 | yych = *++YYCURSOR; | 2108 | if (yybm[0+yych] & 64) { |
2567 | 2109 | goto yy163; | 2109 | goto yy165; |
2568 | 2110 | } | ||
2569 | 2111 | if (yych == '\n') goto yy167; | ||
2570 | 2112 | if (yych == '\r') goto yy168; | ||
2571 | 2113 | goto yy164; | ||
2572 | 2110 | yy167: | 2114 | yy167: |
2573 | 2111 | YYDEBUG(167, *YYCURSOR); | 2115 | YYDEBUG(167, *YYCURSOR); |
2574 | 2112 | yych = *++YYCURSOR; | 2116 | yych = *++YYCURSOR; |
2577 | 2113 | if (yych == '\n') goto yy166; | 2117 | goto yy164; |
2576 | 2114 | goto yy163; | ||
2578 | 2115 | yy168: | 2118 | yy168: |
2579 | 2116 | YYDEBUG(168, *YYCURSOR); | 2119 | YYDEBUG(168, *YYCURSOR); |
2583 | 2117 | ++YYCURSOR; | 2120 | yych = *++YYCURSOR; |
2584 | 2118 | YYFILL(1); | 2121 | if (yych == '\n') goto yy167; |
2585 | 2119 | yych = *YYCURSOR; | 2122 | goto yy164; |
2586 | 2120 | yy169: | 2123 | yy169: |
2587 | 2121 | YYDEBUG(169, *YYCURSOR); | 2124 | YYDEBUG(169, *YYCURSOR); |
2588 | 2125 | ++YYCURSOR; | ||
2589 | 2126 | YYFILL(1); | ||
2590 | 2127 | yych = *YYCURSOR; | ||
2591 | 2128 | yy170: | ||
2592 | 2129 | YYDEBUG(170, *YYCURSOR); | ||
2593 | 2122 | if (yybm[0+yych] & 128) { | 2130 | if (yybm[0+yych] & 128) { |
2595 | 2123 | goto yy168; | 2131 | goto yy169; |
2596 | 2124 | } | 2132 | } |
2598 | 2125 | goto yy159; | 2133 | goto yy160; |
2599 | 2126 | } | 2134 | } |
2600 | 2127 | /* *********************************** */ | 2135 | /* *********************************** */ |
2601 | 2128 | yyc_ST_SECTION_VALUE: | 2136 | yyc_ST_SECTION_VALUE: |
2602 | @@ -2161,590 +2169,590 @@ | |||
2603 | 2161 | 132, 132, 132, 132, 132, 132, 132, 132, | 2169 | 132, 132, 132, 132, 132, 132, 132, 132, |
2604 | 2162 | 132, 132, 132, 132, 132, 132, 132, 132, | 2170 | 132, 132, 132, 132, 132, 132, 132, 132, |
2605 | 2163 | }; | 2171 | }; |
2607 | 2164 | YYDEBUG(170, *YYCURSOR); | 2172 | YYDEBUG(171, *YYCURSOR); |
2608 | 2165 | YYFILL(3); | 2173 | YYFILL(3); |
2609 | 2166 | yych = *YYCURSOR; | 2174 | yych = *YYCURSOR; |
2610 | 2167 | if (yych <= '-') { | 2175 | if (yych <= '-') { |
2611 | 2168 | if (yych <= ' ') { | 2176 | if (yych <= ' ') { |
2612 | 2169 | if (yych <= '\n') { | 2177 | if (yych <= '\n') { |
2616 | 2170 | if (yych <= 0x08) goto yy172; | 2178 | if (yych <= 0x08) goto yy173; |
2617 | 2171 | if (yych <= '\t') goto yy174; | 2179 | if (yych <= '\t') goto yy175; |
2618 | 2172 | goto yy175; | 2180 | goto yy176; |
2619 | 2173 | } else { | 2181 | } else { |
2622 | 2174 | if (yych == '\r') goto yy175; | 2182 | if (yych == '\r') goto yy176; |
2623 | 2175 | if (yych >= ' ') goto yy174; | 2183 | if (yych >= ' ') goto yy175; |
2624 | 2176 | } | 2184 | } |
2625 | 2177 | } else { | 2185 | } else { |
2626 | 2178 | if (yych <= '$') { | 2186 | if (yych <= '$') { |
2629 | 2179 | if (yych == '"') goto yy177; | 2187 | if (yych == '"') goto yy178; |
2630 | 2180 | if (yych >= '$') goto yy179; | 2188 | if (yych >= '$') goto yy180; |
2631 | 2181 | } else { | 2189 | } else { |
2634 | 2182 | if (yych == '\'') goto yy180; | 2190 | if (yych == '\'') goto yy181; |
2635 | 2183 | if (yych >= '-') goto yy181; | 2191 | if (yych >= '-') goto yy182; |
2636 | 2184 | } | 2192 | } |
2637 | 2185 | } | 2193 | } |
2638 | 2186 | } else { | 2194 | } else { |
2639 | 2187 | if (yych <= 'Z') { | 2195 | if (yych <= 'Z') { |
2640 | 2188 | if (yych <= '9') { | 2196 | if (yych <= '9') { |
2643 | 2189 | if (yych <= '.') goto yy182; | 2197 | if (yych <= '.') goto yy183; |
2644 | 2190 | if (yych >= '0') goto yy183; | 2198 | if (yych >= '0') goto yy184; |
2645 | 2191 | } else { | 2199 | } else { |
2648 | 2192 | if (yych == ';') goto yy175; | 2200 | if (yych == ';') goto yy176; |
2649 | 2193 | if (yych >= 'A') goto yy185; | 2201 | if (yych >= 'A') goto yy186; |
2650 | 2194 | } | 2202 | } |
2651 | 2195 | } else { | 2203 | } else { |
2652 | 2196 | if (yych <= '^') { | 2204 | if (yych <= '^') { |
2656 | 2197 | if (yych <= '[') goto yy172; | 2205 | if (yych <= '[') goto yy173; |
2657 | 2198 | if (yych <= '\\') goto yy187; | 2206 | if (yych <= '\\') goto yy188; |
2658 | 2199 | if (yych <= ']') goto yy188; | 2207 | if (yych <= ']') goto yy189; |
2659 | 2200 | } else { | 2208 | } else { |
2662 | 2201 | if (yych == '`') goto yy172; | 2209 | if (yych == '`') goto yy173; |
2663 | 2202 | if (yych <= 'z') goto yy185; | 2210 | if (yych <= 'z') goto yy186; |
2664 | 2203 | } | 2211 | } |
2665 | 2204 | } | 2212 | } |
2666 | 2205 | } | 2213 | } |
2667 | 2206 | yy172: | ||
2668 | 2207 | YYDEBUG(172, *YYCURSOR); | ||
2669 | 2208 | yyaccept = 0; | ||
2670 | 2209 | yych = *(YYMARKER = ++YYCURSOR); | ||
2671 | 2210 | goto yy195; | ||
2672 | 2211 | yy173: | 2214 | yy173: |
2673 | 2212 | YYDEBUG(173, *YYCURSOR); | 2215 | YYDEBUG(173, *YYCURSOR); |
2680 | 2213 | yyleng = YYCURSOR - SCNG(yy_text); | 2216 | yyaccept = 0; |
2681 | 2214 | #line 490 "Zend/zend_ini_scanner.l" | 2217 | yych = *(YYMARKER = ++YYCURSOR); |
2682 | 2215 | { /* Get rest as section/offset value */ | 2218 | goto yy196; |
2677 | 2216 | RETURN_TOKEN(TC_STRING, yytext, yyleng); | ||
2678 | 2217 | } | ||
2679 | 2218 | #line 2219 "Zend/zend_ini_scanner.c" | ||
2683 | 2219 | yy174: | 2219 | yy174: |
2684 | 2220 | YYDEBUG(174, *YYCURSOR); | 2220 | YYDEBUG(174, *YYCURSOR); |
2695 | 2221 | yyaccept = 0; | 2221 | yyleng = YYCURSOR - SCNG(yy_text); |
2696 | 2222 | yych = *(YYMARKER = ++YYCURSOR); | 2222 | #line 490 "Zend/zend_ini_scanner.l" |
2697 | 2223 | if (yych <= 0x1F) { | 2223 | { /* Get rest as section/offset value */ |
2698 | 2224 | if (yych == '\t') goto yy221; | 2224 | RETURN_TOKEN(TC_STRING, yytext, yyleng); |
2699 | 2225 | goto yy195; | 2225 | } |
2700 | 2226 | } else { | 2226 | #line 2227 "Zend/zend_ini_scanner.c" |
2691 | 2227 | if (yych <= ' ') goto yy221; | ||
2692 | 2228 | if (yych == '"') goto yy223; | ||
2693 | 2229 | goto yy195; | ||
2694 | 2230 | } | ||
2701 | 2231 | yy175: | 2227 | yy175: |
2702 | 2232 | YYDEBUG(175, *YYCURSOR); | 2228 | YYDEBUG(175, *YYCURSOR); |
2704 | 2233 | ++YYCURSOR; | 2229 | yyaccept = 0; |
2705 | 2230 | yych = *(YYMARKER = ++YYCURSOR); | ||
2706 | 2231 | if (yych <= 0x1F) { | ||
2707 | 2232 | if (yych == '\t') goto yy222; | ||
2708 | 2233 | goto yy196; | ||
2709 | 2234 | } else { | ||
2710 | 2235 | if (yych <= ' ') goto yy222; | ||
2711 | 2236 | if (yych == '"') goto yy224; | ||
2712 | 2237 | goto yy196; | ||
2713 | 2238 | } | ||
2714 | 2234 | yy176: | 2239 | yy176: |
2715 | 2235 | YYDEBUG(176, *YYCURSOR); | 2240 | YYDEBUG(176, *YYCURSOR); |
2722 | 2236 | yyleng = YYCURSOR - SCNG(yy_text); | 2241 | ++YYCURSOR; |
2717 | 2237 | #line 572 "Zend/zend_ini_scanner.l" | ||
2718 | 2238 | { | ||
2719 | 2239 | return 0; | ||
2720 | 2240 | } | ||
2721 | 2241 | #line 2242 "Zend/zend_ini_scanner.c" | ||
2723 | 2242 | yy177: | 2242 | yy177: |
2724 | 2243 | YYDEBUG(177, *YYCURSOR); | 2243 | YYDEBUG(177, *YYCURSOR); |
2726 | 2244 | ++YYCURSOR; | 2244 | yyleng = YYCURSOR - SCNG(yy_text); |
2727 | 2245 | #line 572 "Zend/zend_ini_scanner.l" | ||
2728 | 2246 | { | ||
2729 | 2247 | return 0; | ||
2730 | 2248 | } | ||
2731 | 2249 | #line 2250 "Zend/zend_ini_scanner.c" | ||
2732 | 2245 | yy178: | 2250 | yy178: |
2733 | 2246 | YYDEBUG(178, *YYCURSOR); | 2251 | YYDEBUG(178, *YYCURSOR); |
2741 | 2247 | yyleng = YYCURSOR - SCNG(yy_text); | 2252 | ++YYCURSOR; |
2735 | 2248 | #line 494 "Zend/zend_ini_scanner.l" | ||
2736 | 2249 | { /* Double quoted '"' string start */ | ||
2737 | 2250 | yy_push_state(ST_DOUBLE_QUOTES TSRMLS_CC); | ||
2738 | 2251 | return '"'; | ||
2739 | 2252 | } | ||
2740 | 2253 | #line 2254 "Zend/zend_ini_scanner.c" | ||
2742 | 2254 | yy179: | 2253 | yy179: |
2743 | 2255 | YYDEBUG(179, *YYCURSOR); | 2254 | YYDEBUG(179, *YYCURSOR); |
2753 | 2256 | yych = *++YYCURSOR; | 2255 | yyleng = YYCURSOR - SCNG(yy_text); |
2754 | 2257 | if (yych <= '\\') { | 2256 | #line 494 "Zend/zend_ini_scanner.l" |
2755 | 2258 | if (yych <= 0x00) goto yy176; | 2257 | { /* Double quoted '"' string start */ |
2756 | 2259 | if (yych <= '[') goto yy194; | 2258 | yy_push_state(ST_DOUBLE_QUOTES TSRMLS_CC); |
2757 | 2260 | goto yy199; | 2259 | return '"'; |
2758 | 2261 | } else { | 2260 | } |
2759 | 2262 | if (yych == '{') goto yy219; | 2261 | #line 2262 "Zend/zend_ini_scanner.c" |
2751 | 2263 | goto yy194; | ||
2752 | 2264 | } | ||
2760 | 2265 | yy180: | 2262 | yy180: |
2761 | 2266 | YYDEBUG(180, *YYCURSOR); | 2263 | YYDEBUG(180, *YYCURSOR); |
2766 | 2267 | yyaccept = 1; | 2264 | yych = *++YYCURSOR; |
2767 | 2268 | yych = *(YYMARKER = ++YYCURSOR); | 2265 | if (yych <= '\\') { |
2768 | 2269 | if (yybm[0+yych] & 128) { | 2266 | if (yych <= 0x00) goto yy177; |
2769 | 2270 | goto yy215; | 2267 | if (yych <= '[') goto yy195; |
2770 | 2268 | goto yy200; | ||
2771 | 2269 | } else { | ||
2772 | 2270 | if (yych == '{') goto yy220; | ||
2773 | 2271 | goto yy195; | ||
2774 | 2271 | } | 2272 | } |
2775 | 2272 | goto yy176; | ||
2776 | 2273 | yy181: | 2273 | yy181: |
2777 | 2274 | YYDEBUG(181, *YYCURSOR); | 2274 | YYDEBUG(181, *YYCURSOR); |
2779 | 2275 | yyaccept = 0; | 2275 | yyaccept = 1; |
2780 | 2276 | yych = *(YYMARKER = ++YYCURSOR); | 2276 | yych = *(YYMARKER = ++YYCURSOR); |
2784 | 2277 | if (yych <= '/') goto yy195; | 2277 | if (yybm[0+yych] & 128) { |
2785 | 2278 | if (yych <= '9') goto yy213; | 2278 | goto yy216; |
2786 | 2279 | goto yy195; | 2279 | } |
2787 | 2280 | goto yy177; | ||
2788 | 2280 | yy182: | 2281 | yy182: |
2789 | 2281 | YYDEBUG(182, *YYCURSOR); | 2282 | YYDEBUG(182, *YYCURSOR); |
2790 | 2282 | yyaccept = 0; | 2283 | yyaccept = 0; |
2791 | 2283 | yych = *(YYMARKER = ++YYCURSOR); | 2284 | yych = *(YYMARKER = ++YYCURSOR); |
2795 | 2284 | if (yych <= '/') goto yy195; | 2285 | if (yych <= '/') goto yy196; |
2796 | 2285 | if (yych <= '9') goto yy211; | 2286 | if (yych <= '9') goto yy214; |
2797 | 2286 | goto yy195; | 2287 | goto yy196; |
2798 | 2287 | yy183: | 2288 | yy183: |
2799 | 2288 | YYDEBUG(183, *YYCURSOR); | 2289 | YYDEBUG(183, *YYCURSOR); |
2801 | 2289 | yyaccept = 2; | 2290 | yyaccept = 0; |
2802 | 2290 | yych = *(YYMARKER = ++YYCURSOR); | 2291 | yych = *(YYMARKER = ++YYCURSOR); |
2824 | 2291 | if (yych <= '\'') { | 2292 | if (yych <= '/') goto yy196; |
2825 | 2292 | if (yych <= '\r') { | 2293 | if (yych <= '9') goto yy212; |
2826 | 2293 | if (yych == '\n') goto yy184; | 2294 | goto yy196; |
2806 | 2294 | if (yych <= '\f') goto yy195; | ||
2807 | 2295 | } else { | ||
2808 | 2296 | if (yych == '"') goto yy184; | ||
2809 | 2297 | if (yych <= '&') goto yy195; | ||
2810 | 2298 | } | ||
2811 | 2299 | } else { | ||
2812 | 2300 | if (yych <= '9') { | ||
2813 | 2301 | if (yych == '.') goto yy207; | ||
2814 | 2302 | if (yych <= '/') goto yy195; | ||
2815 | 2303 | goto yy209; | ||
2816 | 2304 | } else { | ||
2817 | 2305 | if (yych <= ';') { | ||
2818 | 2306 | if (yych <= ':') goto yy195; | ||
2819 | 2307 | } else { | ||
2820 | 2308 | if (yych != ']') goto yy195; | ||
2821 | 2309 | } | ||
2822 | 2310 | } | ||
2823 | 2311 | } | ||
2827 | 2312 | yy184: | 2295 | yy184: |
2828 | 2313 | YYDEBUG(184, *YYCURSOR); | 2296 | YYDEBUG(184, *YYCURSOR); |
2835 | 2314 | yyleng = YYCURSOR - SCNG(yy_text); | 2297 | yyaccept = 2; |
2836 | 2315 | #line 468 "Zend/zend_ini_scanner.l" | 2298 | yych = *(YYMARKER = ++YYCURSOR); |
2837 | 2316 | { /* Get number option value as string */ | 2299 | if (yych <= '\'') { |
2838 | 2317 | RETURN_TOKEN(TC_NUMBER, yytext, yyleng); | 2300 | if (yych <= '\r') { |
2839 | 2318 | } | 2301 | if (yych == '\n') goto yy185; |
2840 | 2319 | #line 2320 "Zend/zend_ini_scanner.c" | 2302 | if (yych <= '\f') goto yy196; |
2841 | 2303 | } else { | ||
2842 | 2304 | if (yych == '"') goto yy185; | ||
2843 | 2305 | if (yych <= '&') goto yy196; | ||
2844 | 2306 | } | ||
2845 | 2307 | } else { | ||
2846 | 2308 | if (yych <= '9') { | ||
2847 | 2309 | if (yych == '.') goto yy208; | ||
2848 | 2310 | if (yych <= '/') goto yy196; | ||
2849 | 2311 | goto yy210; | ||
2850 | 2312 | } else { | ||
2851 | 2313 | if (yych <= ';') { | ||
2852 | 2314 | if (yych <= ':') goto yy196; | ||
2853 | 2315 | } else { | ||
2854 | 2316 | if (yych != ']') goto yy196; | ||
2855 | 2317 | } | ||
2856 | 2318 | } | ||
2857 | 2319 | } | ||
2858 | 2320 | yy185: | 2320 | yy185: |
2859 | 2321 | YYDEBUG(185, *YYCURSOR); | 2321 | YYDEBUG(185, *YYCURSOR); |
2880 | 2322 | yyaccept = 3; | 2322 | yyleng = YYCURSOR - SCNG(yy_text); |
2881 | 2323 | yych = *(YYMARKER = ++YYCURSOR); | 2323 | #line 468 "Zend/zend_ini_scanner.l" |
2882 | 2324 | if (yybm[0+yych] & 32) { | 2324 | { /* Get number option value as string */ |
2883 | 2325 | goto yy205; | 2325 | RETURN_TOKEN(TC_NUMBER, yytext, yyleng); |
2884 | 2326 | } | 2326 | } |
2885 | 2327 | if (yych <= '"') { | 2327 | #line 2328 "Zend/zend_ini_scanner.c" |
2866 | 2328 | if (yych <= '\f') { | ||
2867 | 2329 | if (yych != '\n') goto yy195; | ||
2868 | 2330 | } else { | ||
2869 | 2331 | if (yych <= '\r') goto yy186; | ||
2870 | 2332 | if (yych <= '!') goto yy195; | ||
2871 | 2333 | } | ||
2872 | 2334 | } else { | ||
2873 | 2335 | if (yych <= ':') { | ||
2874 | 2336 | if (yych != '\'') goto yy195; | ||
2875 | 2337 | } else { | ||
2876 | 2338 | if (yych <= ';') goto yy186; | ||
2877 | 2339 | if (yych != ']') goto yy195; | ||
2878 | 2340 | } | ||
2879 | 2341 | } | ||
2886 | 2342 | yy186: | 2328 | yy186: |
2887 | 2343 | YYDEBUG(186, *YYCURSOR); | 2329 | YYDEBUG(186, *YYCURSOR); |
2894 | 2344 | yyleng = YYCURSOR - SCNG(yy_text); | 2330 | yyaccept = 3; |
2895 | 2345 | #line 464 "Zend/zend_ini_scanner.l" | 2331 | yych = *(YYMARKER = ++YYCURSOR); |
2896 | 2346 | { /* Get constant option value */ | 2332 | if (yybm[0+yych] & 32) { |
2897 | 2347 | RETURN_TOKEN(TC_CONSTANT, yytext, yyleng); | 2333 | goto yy206; |
2898 | 2348 | } | 2334 | } |
2899 | 2349 | #line 2350 "Zend/zend_ini_scanner.c" | 2335 | if (yych <= '"') { |
2900 | 2336 | if (yych <= '\f') { | ||
2901 | 2337 | if (yych != '\n') goto yy196; | ||
2902 | 2338 | } else { | ||
2903 | 2339 | if (yych <= '\r') goto yy187; | ||
2904 | 2340 | if (yych <= '!') goto yy196; | ||
2905 | 2341 | } | ||
2906 | 2342 | } else { | ||
2907 | 2343 | if (yych <= ':') { | ||
2908 | 2344 | if (yych != '\'') goto yy196; | ||
2909 | 2345 | } else { | ||
2910 | 2346 | if (yych <= ';') goto yy187; | ||
2911 | 2347 | if (yych != ']') goto yy196; | ||
2912 | 2348 | } | ||
2913 | 2349 | } | ||
2914 | 2350 | yy187: | 2350 | yy187: |
2915 | 2351 | YYDEBUG(187, *YYCURSOR); | 2351 | YYDEBUG(187, *YYCURSOR); |
2918 | 2352 | yych = *++YYCURSOR; | 2352 | yyleng = YYCURSOR - SCNG(yy_text); |
2919 | 2353 | goto yy194; | 2353 | #line 464 "Zend/zend_ini_scanner.l" |
2920 | 2354 | { /* Get constant option value */ | ||
2921 | 2355 | RETURN_TOKEN(TC_CONSTANT, yytext, yyleng); | ||
2922 | 2356 | } | ||
2923 | 2357 | #line 2358 "Zend/zend_ini_scanner.c" | ||
2924 | 2354 | yy188: | 2358 | yy188: |
2925 | 2355 | YYDEBUG(188, *YYCURSOR); | 2359 | YYDEBUG(188, *YYCURSOR); |
2929 | 2356 | ++YYCURSOR; | 2360 | yych = *++YYCURSOR; |
2930 | 2357 | yych = *YYCURSOR; | 2361 | goto yy195; |
2928 | 2358 | goto yy191; | ||
2931 | 2359 | yy189: | 2362 | yy189: |
2932 | 2360 | YYDEBUG(189, *YYCURSOR); | 2363 | YYDEBUG(189, *YYCURSOR); |
2941 | 2361 | yyleng = YYCURSOR - SCNG(yy_text); | 2364 | ++YYCURSOR; |
2942 | 2362 | #line 374 "Zend/zend_ini_scanner.l" | 2365 | yych = *YYCURSOR; |
2943 | 2363 | { /* End of section */ | 2366 | goto yy192; |
2936 | 2364 | BEGIN(INITIAL); | ||
2937 | 2365 | SCNG(lineno)++; | ||
2938 | 2366 | return ']'; | ||
2939 | 2367 | } | ||
2940 | 2368 | #line 2369 "Zend/zend_ini_scanner.c" | ||
2944 | 2369 | yy190: | 2367 | yy190: |
2945 | 2370 | YYDEBUG(190, *YYCURSOR); | 2368 | YYDEBUG(190, *YYCURSOR); |
2949 | 2371 | ++YYCURSOR; | 2369 | yyleng = YYCURSOR - SCNG(yy_text); |
2950 | 2372 | YYFILL(2); | 2370 | #line 374 "Zend/zend_ini_scanner.l" |
2951 | 2373 | yych = *YYCURSOR; | 2371 | { /* End of section */ |
2952 | 2372 | BEGIN(INITIAL); | ||
2953 | 2373 | SCNG(lineno)++; | ||
2954 | 2374 | return ']'; | ||
2955 | 2375 | } | ||
2956 | 2376 | #line 2377 "Zend/zend_ini_scanner.c" | ||
2957 | 2374 | yy191: | 2377 | yy191: |
2958 | 2375 | YYDEBUG(191, *YYCURSOR); | 2378 | YYDEBUG(191, *YYCURSOR); |
2965 | 2376 | if (yybm[0+yych] & 2) { | 2379 | ++YYCURSOR; |
2966 | 2377 | goto yy190; | 2380 | YYFILL(2); |
2967 | 2378 | } | 2381 | yych = *YYCURSOR; |
2962 | 2379 | if (yych == '\n') goto yy192; | ||
2963 | 2380 | if (yych == '\r') goto yy193; | ||
2964 | 2381 | goto yy189; | ||
2968 | 2382 | yy192: | 2382 | yy192: |
2969 | 2383 | YYDEBUG(192, *YYCURSOR); | 2383 | YYDEBUG(192, *YYCURSOR); |
2972 | 2384 | yych = *++YYCURSOR; | 2384 | if (yybm[0+yych] & 2) { |
2973 | 2385 | goto yy189; | 2385 | goto yy191; |
2974 | 2386 | } | ||
2975 | 2387 | if (yych == '\n') goto yy193; | ||
2976 | 2388 | if (yych == '\r') goto yy194; | ||
2977 | 2389 | goto yy190; | ||
2978 | 2386 | yy193: | 2390 | yy193: |
2979 | 2387 | YYDEBUG(193, *YYCURSOR); | 2391 | YYDEBUG(193, *YYCURSOR); |
2980 | 2388 | yych = *++YYCURSOR; | 2392 | yych = *++YYCURSOR; |
2983 | 2389 | if (yych == '\n') goto yy192; | 2393 | goto yy190; |
2982 | 2390 | goto yy189; | ||
2984 | 2391 | yy194: | 2394 | yy194: |
2985 | 2392 | YYDEBUG(194, *YYCURSOR); | 2395 | YYDEBUG(194, *YYCURSOR); |
2990 | 2393 | yyaccept = 0; | 2396 | yych = *++YYCURSOR; |
2991 | 2394 | YYMARKER = ++YYCURSOR; | 2397 | if (yych == '\n') goto yy193; |
2992 | 2395 | YYFILL(1); | 2398 | goto yy190; |
2989 | 2396 | yych = *YYCURSOR; | ||
2993 | 2397 | yy195: | 2399 | yy195: |
2994 | 2398 | YYDEBUG(195, *YYCURSOR); | 2400 | YYDEBUG(195, *YYCURSOR); |
3000 | 2399 | if (yybm[0+yych] & 4) { | 2401 | yyaccept = 0; |
3001 | 2400 | goto yy194; | 2402 | YYMARKER = ++YYCURSOR; |
3002 | 2401 | } | 2403 | YYFILL(1); |
3003 | 2402 | if (yych == '$') goto yy197; | 2404 | yych = *YYCURSOR; |
2999 | 2403 | if (yych != '\\') goto yy173; | ||
3004 | 2404 | yy196: | 2405 | yy196: |
3005 | 2405 | YYDEBUG(196, *YYCURSOR); | 2406 | YYDEBUG(196, *YYCURSOR); |
3010 | 2406 | ++YYCURSOR; | 2407 | if (yybm[0+yych] & 4) { |
3011 | 2407 | YYFILL(1); | 2408 | goto yy195; |
3012 | 2408 | yych = *YYCURSOR; | 2409 | } |
3013 | 2409 | goto yy194; | 2410 | if (yych == '$') goto yy198; |
3014 | 2411 | if (yych != '\\') goto yy174; | ||
3015 | 2410 | yy197: | 2412 | yy197: |
3016 | 2411 | YYDEBUG(197, *YYCURSOR); | 2413 | YYDEBUG(197, *YYCURSOR); |
3017 | 2412 | ++YYCURSOR; | 2414 | ++YYCURSOR; |
3018 | 2413 | YYFILL(1); | 2415 | YYFILL(1); |
3019 | 2414 | yych = *YYCURSOR; | 2416 | yych = *YYCURSOR; |
3027 | 2415 | if (yych <= '\\') { | 2417 | goto yy195; |
3021 | 2416 | if (yych <= 0x00) goto yy198; | ||
3022 | 2417 | if (yych <= '[') goto yy194; | ||
3023 | 2418 | goto yy199; | ||
3024 | 2419 | } else { | ||
3025 | 2420 | if (yych != '{') goto yy194; | ||
3026 | 2421 | } | ||
3028 | 2422 | yy198: | 2418 | yy198: |
3029 | 2423 | YYDEBUG(198, *YYCURSOR); | 2419 | YYDEBUG(198, *YYCURSOR); |
3037 | 2424 | YYCURSOR = YYMARKER; | 2420 | ++YYCURSOR; |
3038 | 2425 | if (yyaccept <= 1) { | 2421 | YYFILL(1); |
3039 | 2426 | if (yyaccept <= 0) { | 2422 | yych = *YYCURSOR; |
3040 | 2427 | goto yy173; | 2423 | if (yych <= '\\') { |
3041 | 2428 | } else { | 2424 | if (yych <= 0x00) goto yy199; |
3042 | 2429 | goto yy176; | 2425 | if (yych <= '[') goto yy195; |
3043 | 2430 | } | 2426 | goto yy200; |
3044 | 2431 | } else { | 2427 | } else { |
3050 | 2432 | if (yyaccept <= 2) { | 2428 | if (yych != '{') goto yy195; |
3046 | 2433 | goto yy184; | ||
3047 | 2434 | } else { | ||
3048 | 2435 | goto yy186; | ||
3049 | 2436 | } | ||
3051 | 2437 | } | 2429 | } |
3052 | 2438 | yy199: | 2430 | yy199: |
3053 | 2439 | YYDEBUG(199, *YYCURSOR); | 2431 | YYDEBUG(199, *YYCURSOR); |
3059 | 2440 | ++YYCURSOR; | 2432 | YYCURSOR = YYMARKER; |
3060 | 2441 | YYFILL(1); | 2433 | if (yyaccept <= 1) { |
3061 | 2442 | yych = *YYCURSOR; | 2434 | if (yyaccept <= 0) { |
3062 | 2443 | if (yybm[0+yych] & 8) { | 2435 | goto yy174; |
3063 | 2444 | goto yy200; | 2436 | } else { |
3064 | 2437 | goto yy177; | ||
3065 | 2438 | } | ||
3066 | 2439 | } else { | ||
3067 | 2440 | if (yyaccept <= 2) { | ||
3068 | 2441 | goto yy185; | ||
3069 | 2442 | } else { | ||
3070 | 2443 | goto yy187; | ||
3071 | 2444 | } | ||
3072 | 2445 | } | 2445 | } |
3073 | 2446 | if (yych == '\\') goto yy202; | ||
3074 | 2447 | goto yy194; | ||
3075 | 2448 | yy200: | 2446 | yy200: |
3076 | 2449 | YYDEBUG(200, *YYCURSOR); | 2447 | YYDEBUG(200, *YYCURSOR); |
3077 | 2450 | ++YYCURSOR; | 2448 | ++YYCURSOR; |
3078 | 2451 | YYFILL(1); | 2449 | YYFILL(1); |
3079 | 2452 | yych = *YYCURSOR; | 2450 | yych = *YYCURSOR; |
3080 | 2451 | if (yybm[0+yych] & 8) { | ||
3081 | 2452 | goto yy201; | ||
3082 | 2453 | } | ||
3083 | 2454 | if (yych == '\\') goto yy203; | ||
3084 | 2455 | goto yy195; | ||
3085 | 2456 | yy201: | ||
3086 | 2453 | YYDEBUG(201, *YYCURSOR); | 2457 | YYDEBUG(201, *YYCURSOR); |
3093 | 2454 | if (yybm[0+yych] & 8) { | 2458 | ++YYCURSOR; |
3094 | 2455 | goto yy200; | 2459 | YYFILL(1); |
3095 | 2456 | } | 2460 | yych = *YYCURSOR; |
3090 | 2457 | if (yych == '\\') goto yy204; | ||
3091 | 2458 | goto yy194; | ||
3092 | 2459 | yy202: | ||
3096 | 2460 | YYDEBUG(202, *YYCURSOR); | 2461 | YYDEBUG(202, *YYCURSOR); |
3100 | 2461 | ++YYCURSOR; | 2462 | if (yybm[0+yych] & 8) { |
3101 | 2462 | YYFILL(1); | 2463 | goto yy201; |
3102 | 2463 | yych = *YYCURSOR; | 2464 | } |
3103 | 2465 | if (yych == '\\') goto yy205; | ||
3104 | 2466 | goto yy195; | ||
3105 | 2467 | yy203: | ||
3106 | 2464 | YYDEBUG(203, *YYCURSOR); | 2468 | YYDEBUG(203, *YYCURSOR); |
3113 | 2465 | if (yybm[0+yych] & 8) { | 2469 | ++YYCURSOR; |
3114 | 2466 | goto yy200; | 2470 | YYFILL(1); |
3115 | 2467 | } | 2471 | yych = *YYCURSOR; |
3110 | 2468 | if (yych == '\\') goto yy202; | ||
3111 | 2469 | goto yy194; | ||
3112 | 2470 | yy204: | ||
3116 | 2471 | YYDEBUG(204, *YYCURSOR); | 2472 | YYDEBUG(204, *YYCURSOR); |
3117 | 2472 | ++YYCURSOR; | ||
3118 | 2473 | YYFILL(1); | ||
3119 | 2474 | yych = *YYCURSOR; | ||
3120 | 2475 | if (yybm[0+yych] & 8) { | 2473 | if (yybm[0+yych] & 8) { |
3122 | 2476 | goto yy200; | 2474 | goto yy201; |
3123 | 2477 | } | 2475 | } |
3126 | 2478 | if (yych == '\\') goto yy202; | 2476 | if (yych == '\\') goto yy203; |
3127 | 2479 | goto yy194; | 2477 | goto yy195; |
3128 | 2480 | yy205: | 2478 | yy205: |
3129 | 2481 | YYDEBUG(205, *YYCURSOR); | 2479 | YYDEBUG(205, *YYCURSOR); |
3132 | 2482 | yyaccept = 3; | 2480 | ++YYCURSOR; |
3131 | 2483 | YYMARKER = ++YYCURSOR; | ||
3133 | 2484 | YYFILL(1); | 2481 | YYFILL(1); |
3134 | 2485 | yych = *YYCURSOR; | 2482 | yych = *YYCURSOR; |
3135 | 2483 | if (yybm[0+yych] & 8) { | ||
3136 | 2484 | goto yy201; | ||
3137 | 2485 | } | ||
3138 | 2486 | if (yych == '\\') goto yy203; | ||
3139 | 2487 | goto yy195; | ||
3140 | 2488 | yy206: | ||
3141 | 2486 | YYDEBUG(206, *YYCURSOR); | 2489 | YYDEBUG(206, *YYCURSOR); |
3168 | 2487 | if (yybm[0+yych] & 32) { | 2490 | yyaccept = 3; |
3169 | 2488 | goto yy205; | 2491 | YYMARKER = ++YYCURSOR; |
3170 | 2489 | } | 2492 | YYFILL(1); |
3171 | 2490 | if (yych <= '$') { | 2493 | yych = *YYCURSOR; |
3146 | 2491 | if (yych <= '\r') { | ||
3147 | 2492 | if (yych == '\n') goto yy186; | ||
3148 | 2493 | if (yych <= '\f') goto yy194; | ||
3149 | 2494 | goto yy186; | ||
3150 | 2495 | } else { | ||
3151 | 2496 | if (yych == '"') goto yy186; | ||
3152 | 2497 | if (yych <= '#') goto yy194; | ||
3153 | 2498 | goto yy197; | ||
3154 | 2499 | } | ||
3155 | 2500 | } else { | ||
3156 | 2501 | if (yych <= ';') { | ||
3157 | 2502 | if (yych == '\'') goto yy186; | ||
3158 | 2503 | if (yych <= ':') goto yy194; | ||
3159 | 2504 | goto yy186; | ||
3160 | 2505 | } else { | ||
3161 | 2506 | if (yych <= '[') goto yy194; | ||
3162 | 2507 | if (yych <= '\\') goto yy196; | ||
3163 | 2508 | if (yych <= ']') goto yy186; | ||
3164 | 2509 | goto yy194; | ||
3165 | 2510 | } | ||
3166 | 2511 | } | ||
3167 | 2512 | yy207: | ||
3172 | 2513 | YYDEBUG(207, *YYCURSOR); | 2494 | YYDEBUG(207, *YYCURSOR); |
3177 | 2514 | yyaccept = 2; | 2495 | if (yybm[0+yych] & 32) { |
3178 | 2515 | YYMARKER = ++YYCURSOR; | 2496 | goto yy206; |
3179 | 2516 | YYFILL(1); | 2497 | } |
3180 | 2517 | yych = *YYCURSOR; | 2498 | if (yych <= '$') { |
3181 | 2499 | if (yych <= '\r') { | ||
3182 | 2500 | if (yych == '\n') goto yy187; | ||
3183 | 2501 | if (yych <= '\f') goto yy195; | ||
3184 | 2502 | goto yy187; | ||
3185 | 2503 | } else { | ||
3186 | 2504 | if (yych == '"') goto yy187; | ||
3187 | 2505 | if (yych <= '#') goto yy195; | ||
3188 | 2506 | goto yy198; | ||
3189 | 2507 | } | ||
3190 | 2508 | } else { | ||
3191 | 2509 | if (yych <= ';') { | ||
3192 | 2510 | if (yych == '\'') goto yy187; | ||
3193 | 2511 | if (yych <= ':') goto yy195; | ||
3194 | 2512 | goto yy187; | ||
3195 | 2513 | } else { | ||
3196 | 2514 | if (yych <= '[') goto yy195; | ||
3197 | 2515 | if (yych <= '\\') goto yy197; | ||
3198 | 2516 | if (yych <= ']') goto yy187; | ||
3199 | 2517 | goto yy195; | ||
3200 | 2518 | } | ||
3201 | 2519 | } | ||
3202 | 2520 | yy208: | ||
3203 | 2518 | YYDEBUG(208, *YYCURSOR); | 2521 | YYDEBUG(208, *YYCURSOR); |
3230 | 2519 | if (yybm[0+yych] & 64) { | 2522 | yyaccept = 2; |
3231 | 2520 | goto yy207; | 2523 | YYMARKER = ++YYCURSOR; |
3232 | 2521 | } | 2524 | YYFILL(1); |
3233 | 2522 | if (yych <= '$') { | 2525 | yych = *YYCURSOR; |
3208 | 2523 | if (yych <= '\r') { | ||
3209 | 2524 | if (yych == '\n') goto yy184; | ||
3210 | 2525 | if (yych <= '\f') goto yy194; | ||
3211 | 2526 | goto yy184; | ||
3212 | 2527 | } else { | ||
3213 | 2528 | if (yych == '"') goto yy184; | ||
3214 | 2529 | if (yych <= '#') goto yy194; | ||
3215 | 2530 | goto yy197; | ||
3216 | 2531 | } | ||
3217 | 2532 | } else { | ||
3218 | 2533 | if (yych <= ';') { | ||
3219 | 2534 | if (yych == '\'') goto yy184; | ||
3220 | 2535 | if (yych <= ':') goto yy194; | ||
3221 | 2536 | goto yy184; | ||
3222 | 2537 | } else { | ||
3223 | 2538 | if (yych <= '[') goto yy194; | ||
3224 | 2539 | if (yych <= '\\') goto yy196; | ||
3225 | 2540 | if (yych <= ']') goto yy184; | ||
3226 | 2541 | goto yy194; | ||
3227 | 2542 | } | ||
3228 | 2543 | } | ||
3229 | 2544 | yy209: | ||
3234 | 2545 | YYDEBUG(209, *YYCURSOR); | 2526 | YYDEBUG(209, *YYCURSOR); |
3239 | 2546 | yyaccept = 2; | 2527 | if (yybm[0+yych] & 64) { |
3240 | 2547 | YYMARKER = ++YYCURSOR; | 2528 | goto yy208; |
3241 | 2548 | YYFILL(1); | 2529 | } |
3242 | 2549 | yych = *YYCURSOR; | 2530 | if (yych <= '$') { |
3243 | 2531 | if (yych <= '\r') { | ||
3244 | 2532 | if (yych == '\n') goto yy185; | ||
3245 | 2533 | if (yych <= '\f') goto yy195; | ||
3246 | 2534 | goto yy185; | ||
3247 | 2535 | } else { | ||
3248 | 2536 | if (yych == '"') goto yy185; | ||
3249 | 2537 | if (yych <= '#') goto yy195; | ||
3250 | 2538 | goto yy198; | ||
3251 | 2539 | } | ||
3252 | 2540 | } else { | ||
3253 | 2541 | if (yych <= ';') { | ||
3254 | 2542 | if (yych == '\'') goto yy185; | ||
3255 | 2543 | if (yych <= ':') goto yy195; | ||
3256 | 2544 | goto yy185; | ||
3257 | 2545 | } else { | ||
3258 | 2546 | if (yych <= '[') goto yy195; | ||
3259 | 2547 | if (yych <= '\\') goto yy197; | ||
3260 | 2548 | if (yych <= ']') goto yy185; | ||
3261 | 2549 | goto yy195; | ||
3262 | 2550 | } | ||
3263 | 2551 | } | ||
3264 | 2552 | yy210: | ||
3265 | 2550 | YYDEBUG(210, *YYCURSOR); | 2553 | YYDEBUG(210, *YYCURSOR); |
3307 | 2551 | if (yych <= '\'') { | 2554 | yyaccept = 2; |
3308 | 2552 | if (yych <= '!') { | 2555 | YYMARKER = ++YYCURSOR; |
3309 | 2553 | if (yych <= '\n') { | 2556 | YYFILL(1); |
3310 | 2554 | if (yych <= '\t') goto yy194; | 2557 | yych = *YYCURSOR; |
3270 | 2555 | goto yy184; | ||
3271 | 2556 | } else { | ||
3272 | 2557 | if (yych == '\r') goto yy184; | ||
3273 | 2558 | goto yy194; | ||
3274 | 2559 | } | ||
3275 | 2560 | } else { | ||
3276 | 2561 | if (yych <= '#') { | ||
3277 | 2562 | if (yych <= '"') goto yy184; | ||
3278 | 2563 | goto yy194; | ||
3279 | 2564 | } else { | ||
3280 | 2565 | if (yych <= '$') goto yy197; | ||
3281 | 2566 | if (yych <= '&') goto yy194; | ||
3282 | 2567 | goto yy184; | ||
3283 | 2568 | } | ||
3284 | 2569 | } | ||
3285 | 2570 | } else { | ||
3286 | 2571 | if (yych <= ':') { | ||
3287 | 2572 | if (yych <= '.') { | ||
3288 | 2573 | if (yych <= '-') goto yy194; | ||
3289 | 2574 | goto yy207; | ||
3290 | 2575 | } else { | ||
3291 | 2576 | if (yych <= '/') goto yy194; | ||
3292 | 2577 | if (yych <= '9') goto yy209; | ||
3293 | 2578 | goto yy194; | ||
3294 | 2579 | } | ||
3295 | 2580 | } else { | ||
3296 | 2581 | if (yych <= '[') { | ||
3297 | 2582 | if (yych <= ';') goto yy184; | ||
3298 | 2583 | goto yy194; | ||
3299 | 2584 | } else { | ||
3300 | 2585 | if (yych <= '\\') goto yy196; | ||
3301 | 2586 | if (yych <= ']') goto yy184; | ||
3302 | 2587 | goto yy194; | ||
3303 | 2588 | } | ||
3304 | 2589 | } | ||
3305 | 2590 | } | ||
3306 | 2591 | yy211: | ||
3311 | 2592 | YYDEBUG(211, *YYCURSOR); | 2558 | YYDEBUG(211, *YYCURSOR); |
3316 | 2593 | yyaccept = 2; | 2559 | if (yych <= '\'') { |
3317 | 2594 | YYMARKER = ++YYCURSOR; | 2560 | if (yych <= '!') { |
3318 | 2595 | YYFILL(1); | 2561 | if (yych <= '\n') { |
3319 | 2596 | yych = *YYCURSOR; | 2562 | if (yych <= '\t') goto yy195; |
3320 | 2563 | goto yy185; | ||
3321 | 2564 | } else { | ||
3322 | 2565 | if (yych == '\r') goto yy185; | ||
3323 | 2566 | goto yy195; | ||
3324 | 2567 | } | ||
3325 | 2568 | } else { | ||
3326 | 2569 | if (yych <= '#') { | ||
3327 | 2570 | if (yych <= '"') goto yy185; | ||
3328 | 2571 | goto yy195; | ||
3329 | 2572 | } else { | ||
3330 | 2573 | if (yych <= '$') goto yy198; | ||
3331 | 2574 | if (yych <= '&') goto yy195; | ||
3332 | 2575 | goto yy185; | ||
3333 | 2576 | } | ||
3334 | 2577 | } | ||
3335 | 2578 | } else { | ||
3336 | 2579 | if (yych <= ':') { | ||
3337 | 2580 | if (yych <= '.') { | ||
3338 | 2581 | if (yych <= '-') goto yy195; | ||
3339 | 2582 | goto yy208; | ||
3340 | 2583 | } else { | ||
3341 | 2584 | if (yych <= '/') goto yy195; | ||
3342 | 2585 | if (yych <= '9') goto yy210; | ||
3343 | 2586 | goto yy195; | ||
3344 | 2587 | } | ||
3345 | 2588 | } else { | ||
3346 | 2589 | if (yych <= '[') { | ||
3347 | 2590 | if (yych <= ';') goto yy185; | ||
3348 | 2591 | goto yy195; | ||
3349 | 2592 | } else { | ||
3350 | 2593 | if (yych <= '\\') goto yy197; | ||
3351 | 2594 | if (yych <= ']') goto yy185; | ||
3352 | 2595 | goto yy195; | ||
3353 | 2596 | } | ||
3354 | 2597 | } | ||
3355 | 2598 | } | ||
3356 | 2599 | yy212: | ||
3357 | 2597 | YYDEBUG(212, *YYCURSOR); | 2600 | YYDEBUG(212, *YYCURSOR); |
3390 | 2598 | if (yych <= '&') { | 2601 | yyaccept = 2; |
3391 | 2599 | if (yych <= '\r') { | 2602 | YYMARKER = ++YYCURSOR; |
3392 | 2600 | if (yych == '\n') goto yy184; | 2603 | YYFILL(1); |
3393 | 2601 | if (yych <= '\f') goto yy194; | 2604 | yych = *YYCURSOR; |
3362 | 2602 | goto yy184; | ||
3363 | 2603 | } else { | ||
3364 | 2604 | if (yych <= '"') { | ||
3365 | 2605 | if (yych <= '!') goto yy194; | ||
3366 | 2606 | goto yy184; | ||
3367 | 2607 | } else { | ||
3368 | 2608 | if (yych == '$') goto yy197; | ||
3369 | 2609 | goto yy194; | ||
3370 | 2610 | } | ||
3371 | 2611 | } | ||
3372 | 2612 | } else { | ||
3373 | 2613 | if (yych <= ':') { | ||
3374 | 2614 | if (yych <= '\'') goto yy184; | ||
3375 | 2615 | if (yych <= '/') goto yy194; | ||
3376 | 2616 | if (yych <= '9') goto yy211; | ||
3377 | 2617 | goto yy194; | ||
3378 | 2618 | } else { | ||
3379 | 2619 | if (yych <= '[') { | ||
3380 | 2620 | if (yych <= ';') goto yy184; | ||
3381 | 2621 | goto yy194; | ||
3382 | 2622 | } else { | ||
3383 | 2623 | if (yych <= '\\') goto yy196; | ||
3384 | 2624 | if (yych <= ']') goto yy184; | ||
3385 | 2625 | goto yy194; | ||
3386 | 2626 | } | ||
3387 | 2627 | } | ||
3388 | 2628 | } | ||
3389 | 2629 | yy213: | ||
3394 | 2630 | YYDEBUG(213, *YYCURSOR); | 2605 | YYDEBUG(213, *YYCURSOR); |
3399 | 2631 | yyaccept = 2; | 2606 | if (yych <= '&') { |
3400 | 2632 | YYMARKER = ++YYCURSOR; | 2607 | if (yych <= '\r') { |
3401 | 2633 | YYFILL(1); | 2608 | if (yych == '\n') goto yy185; |
3402 | 2634 | yych = *YYCURSOR; | 2609 | if (yych <= '\f') goto yy195; |
3403 | 2610 | goto yy185; | ||
3404 | 2611 | } else { | ||
3405 | 2612 | if (yych <= '"') { | ||
3406 | 2613 | if (yych <= '!') goto yy195; | ||
3407 | 2614 | goto yy185; | ||
3408 | 2615 | } else { | ||
3409 | 2616 | if (yych == '$') goto yy198; | ||
3410 | 2617 | goto yy195; | ||
3411 | 2618 | } | ||
3412 | 2619 | } | ||
3413 | 2620 | } else { | ||
3414 | 2621 | if (yych <= ':') { | ||
3415 | 2622 | if (yych <= '\'') goto yy185; | ||
3416 | 2623 | if (yych <= '/') goto yy195; | ||
3417 | 2624 | if (yych <= '9') goto yy212; | ||
3418 | 2625 | goto yy195; | ||
3419 | 2626 | } else { | ||
3420 | 2627 | if (yych <= '[') { | ||
3421 | 2628 | if (yych <= ';') goto yy185; | ||
3422 | 2629 | goto yy195; | ||
3423 | 2630 | } else { | ||
3424 | 2631 | if (yych <= '\\') goto yy197; | ||
3425 | 2632 | if (yych <= ']') goto yy185; | ||
3426 | 2633 | goto yy195; | ||
3427 | 2634 | } | ||
3428 | 2635 | } | ||
3429 | 2636 | } | ||
3430 | 2637 | yy214: | ||
3431 | 2635 | YYDEBUG(214, *YYCURSOR); | 2638 | YYDEBUG(214, *YYCURSOR); |
3464 | 2636 | if (yych <= '&') { | 2639 | yyaccept = 2; |
3465 | 2637 | if (yych <= '\r') { | 2640 | YYMARKER = ++YYCURSOR; |
3466 | 2638 | if (yych == '\n') goto yy184; | 2641 | YYFILL(1); |
3467 | 2639 | if (yych <= '\f') goto yy194; | 2642 | yych = *YYCURSOR; |
3436 | 2640 | goto yy184; | ||
3437 | 2641 | } else { | ||
3438 | 2642 | if (yych <= '"') { | ||
3439 | 2643 | if (yych <= '!') goto yy194; | ||
3440 | 2644 | goto yy184; | ||
3441 | 2645 | } else { | ||
3442 | 2646 | if (yych == '$') goto yy197; | ||
3443 | 2647 | goto yy194; | ||
3444 | 2648 | } | ||
3445 | 2649 | } | ||
3446 | 2650 | } else { | ||
3447 | 2651 | if (yych <= ':') { | ||
3448 | 2652 | if (yych <= '\'') goto yy184; | ||
3449 | 2653 | if (yych <= '/') goto yy194; | ||
3450 | 2654 | if (yych <= '9') goto yy213; | ||
3451 | 2655 | goto yy194; | ||
3452 | 2656 | } else { | ||
3453 | 2657 | if (yych <= '[') { | ||
3454 | 2658 | if (yych <= ';') goto yy184; | ||
3455 | 2659 | goto yy194; | ||
3456 | 2660 | } else { | ||
3457 | 2661 | if (yych <= '\\') goto yy196; | ||
3458 | 2662 | if (yych <= ']') goto yy184; | ||
3459 | 2663 | goto yy194; | ||
3460 | 2664 | } | ||
3461 | 2665 | } | ||
3462 | 2666 | } | ||
3463 | 2667 | yy215: | ||
3468 | 2668 | YYDEBUG(215, *YYCURSOR); | 2643 | YYDEBUG(215, *YYCURSOR); |
3472 | 2669 | ++YYCURSOR; | 2644 | if (yych <= '&') { |
3473 | 2670 | YYFILL(1); | 2645 | if (yych <= '\r') { |
3474 | 2671 | yych = *YYCURSOR; | 2646 | if (yych == '\n') goto yy185; |
3475 | 2647 | if (yych <= '\f') goto yy195; | ||
3476 | 2648 | goto yy185; | ||
3477 | 2649 | } else { | ||
3478 | 2650 | if (yych <= '"') { | ||
3479 | 2651 | if (yych <= '!') goto yy195; | ||
3480 | 2652 | goto yy185; | ||
3481 | 2653 | } else { | ||
3482 | 2654 | if (yych == '$') goto yy198; | ||
3483 | 2655 | goto yy195; | ||
3484 | 2656 | } | ||
3485 | 2657 | } | ||
3486 | 2658 | } else { | ||
3487 | 2659 | if (yych <= ':') { | ||
3488 | 2660 | if (yych <= '\'') goto yy185; | ||
3489 | 2661 | if (yych <= '/') goto yy195; | ||
3490 | 2662 | if (yych <= '9') goto yy214; | ||
3491 | 2663 | goto yy195; | ||
3492 | 2664 | } else { | ||
3493 | 2665 | if (yych <= '[') { | ||
3494 | 2666 | if (yych <= ';') goto yy185; | ||
3495 | 2667 | goto yy195; | ||
3496 | 2668 | } else { | ||
3497 | 2669 | if (yych <= '\\') goto yy197; | ||
3498 | 2670 | if (yych <= ']') goto yy185; | ||
3499 | 2671 | goto yy195; | ||
3500 | 2672 | } | ||
3501 | 2673 | } | ||
3502 | 2674 | } | ||
3503 | 2675 | yy216: | ||
3504 | 2672 | YYDEBUG(216, *YYCURSOR); | 2676 | YYDEBUG(216, *YYCURSOR); |
3508 | 2673 | if (yybm[0+yych] & 128) { | 2677 | ++YYCURSOR; |
3509 | 2674 | goto yy215; | 2678 | YYFILL(1); |
3510 | 2675 | } | 2679 | yych = *YYCURSOR; |
3511 | 2676 | YYDEBUG(217, *YYCURSOR); | 2680 | YYDEBUG(217, *YYCURSOR); |
3513 | 2677 | ++YYCURSOR; | 2681 | if (yybm[0+yych] & 128) { |
3514 | 2682 | goto yy216; | ||
3515 | 2683 | } | ||
3516 | 2678 | YYDEBUG(218, *YYCURSOR); | 2684 | YYDEBUG(218, *YYCURSOR); |
3529 | 2679 | yyleng = YYCURSOR - SCNG(yy_text); | 2685 | ++YYCURSOR; |
3518 | 2680 | #line 365 "Zend/zend_ini_scanner.l" | ||
3519 | 2681 | { /* Raw string */ | ||
3520 | 2682 | /* Eat leading and trailing single quotes */ | ||
3521 | 2683 | if (yytext[0] == '\'' && yytext[yyleng - 1] == '\'') { | ||
3522 | 2684 | SCNG(yy_text)++; | ||
3523 | 2685 | yyleng = yyleng - 2; | ||
3524 | 2686 | } | ||
3525 | 2687 | RETURN_TOKEN(TC_RAW, yytext, yyleng); | ||
3526 | 2688 | } | ||
3527 | 2689 | #line 2690 "Zend/zend_ini_scanner.c" | ||
3528 | 2690 | yy219: | ||
3530 | 2691 | YYDEBUG(219, *YYCURSOR); | 2686 | YYDEBUG(219, *YYCURSOR); |
3532 | 2692 | ++YYCURSOR; | 2687 | yyleng = YYCURSOR - SCNG(yy_text); |
3533 | 2688 | #line 365 "Zend/zend_ini_scanner.l" | ||
3534 | 2689 | { /* Raw string */ | ||
3535 | 2690 | /* Eat leading and trailing single quotes */ | ||
3536 | 2691 | if (yytext[0] == '\'' && yytext[yyleng - 1] == '\'') { | ||
3537 | 2692 | SCNG(yy_text)++; | ||
3538 | 2693 | yyleng = yyleng - 2; | ||
3539 | 2694 | } | ||
3540 | 2695 | RETURN_TOKEN(TC_RAW, yytext, yyleng); | ||
3541 | 2696 | } | ||
3542 | 2697 | #line 2698 "Zend/zend_ini_scanner.c" | ||
3543 | 2698 | yy220: | ||
3544 | 2693 | YYDEBUG(220, *YYCURSOR); | 2699 | YYDEBUG(220, *YYCURSOR); |
3553 | 2694 | yyleng = YYCURSOR - SCNG(yy_text); | 2700 | ++YYCURSOR; |
3546 | 2695 | #line 398 "Zend/zend_ini_scanner.l" | ||
3547 | 2696 | { /* Variable start */ | ||
3548 | 2697 | yy_push_state(ST_VARNAME TSRMLS_CC); | ||
3549 | 2698 | return TC_DOLLAR_CURLY; | ||
3550 | 2699 | } | ||
3551 | 2700 | #line 2701 "Zend/zend_ini_scanner.c" | ||
3552 | 2701 | yy221: | ||
3554 | 2702 | YYDEBUG(221, *YYCURSOR); | 2701 | YYDEBUG(221, *YYCURSOR); |
3559 | 2703 | yyaccept = 0; | 2702 | yyleng = YYCURSOR - SCNG(yy_text); |
3560 | 2704 | YYMARKER = ++YYCURSOR; | 2703 | #line 398 "Zend/zend_ini_scanner.l" |
3561 | 2705 | YYFILL(1); | 2704 | { /* Variable start */ |
3562 | 2706 | yych = *YYCURSOR; | 2705 | yy_push_state(ST_VARNAME TSRMLS_CC); |
3563 | 2706 | return TC_DOLLAR_CURLY; | ||
3564 | 2707 | } | ||
3565 | 2708 | #line 2709 "Zend/zend_ini_scanner.c" | ||
3566 | 2709 | yy222: | ||
3567 | 2707 | YYDEBUG(222, *YYCURSOR); | 2710 | YYDEBUG(222, *YYCURSOR); |
3604 | 2708 | if (yych <= '"') { | 2711 | yyaccept = 0; |
3605 | 2709 | if (yych <= '\f') { | 2712 | YYMARKER = ++YYCURSOR; |
3606 | 2710 | if (yych <= 0x08) goto yy194; | 2713 | YYFILL(1); |
3607 | 2711 | if (yych <= '\t') goto yy221; | 2714 | yych = *YYCURSOR; |
3572 | 2712 | if (yych <= '\n') goto yy173; | ||
3573 | 2713 | goto yy194; | ||
3574 | 2714 | } else { | ||
3575 | 2715 | if (yych <= 0x1F) { | ||
3576 | 2716 | if (yych <= '\r') goto yy173; | ||
3577 | 2717 | goto yy194; | ||
3578 | 2718 | } else { | ||
3579 | 2719 | if (yych <= ' ') goto yy221; | ||
3580 | 2720 | if (yych <= '!') goto yy194; | ||
3581 | 2721 | } | ||
3582 | 2722 | } | ||
3583 | 2723 | } else { | ||
3584 | 2724 | if (yych <= ':') { | ||
3585 | 2725 | if (yych <= '$') { | ||
3586 | 2726 | if (yych <= '#') goto yy194; | ||
3587 | 2727 | goto yy197; | ||
3588 | 2728 | } else { | ||
3589 | 2729 | if (yych == '\'') goto yy173; | ||
3590 | 2730 | goto yy194; | ||
3591 | 2731 | } | ||
3592 | 2732 | } else { | ||
3593 | 2733 | if (yych <= '[') { | ||
3594 | 2734 | if (yych <= ';') goto yy173; | ||
3595 | 2735 | goto yy194; | ||
3596 | 2736 | } else { | ||
3597 | 2737 | if (yych <= '\\') goto yy196; | ||
3598 | 2738 | if (yych <= ']') goto yy173; | ||
3599 | 2739 | goto yy194; | ||
3600 | 2740 | } | ||
3601 | 2741 | } | ||
3602 | 2742 | } | ||
3603 | 2743 | yy223: | ||
3608 | 2744 | YYDEBUG(223, *YYCURSOR); | 2715 | YYDEBUG(223, *YYCURSOR); |
3609 | 2716 | if (yych <= '"') { | ||
3610 | 2717 | if (yych <= '\f') { | ||
3611 | 2718 | if (yych <= 0x08) goto yy195; | ||
3612 | 2719 | if (yych <= '\t') goto yy222; | ||
3613 | 2720 | if (yych <= '\n') goto yy174; | ||
3614 | 2721 | goto yy195; | ||
3615 | 2722 | } else { | ||
3616 | 2723 | if (yych <= 0x1F) { | ||
3617 | 2724 | if (yych <= '\r') goto yy174; | ||
3618 | 2725 | goto yy195; | ||
3619 | 2726 | } else { | ||
3620 | 2727 | if (yych <= ' ') goto yy222; | ||
3621 | 2728 | if (yych <= '!') goto yy195; | ||
3622 | 2729 | } | ||
3623 | 2730 | } | ||
3624 | 2731 | } else { | ||
3625 | 2732 | if (yych <= ':') { | ||
3626 | 2733 | if (yych <= '$') { | ||
3627 | 2734 | if (yych <= '#') goto yy195; | ||
3628 | 2735 | goto yy198; | ||
3629 | 2736 | } else { | ||
3630 | 2737 | if (yych == '\'') goto yy174; | ||
3631 | 2738 | goto yy195; | ||
3632 | 2739 | } | ||
3633 | 2740 | } else { | ||
3634 | 2741 | if (yych <= '[') { | ||
3635 | 2742 | if (yych <= ';') goto yy174; | ||
3636 | 2743 | goto yy195; | ||
3637 | 2744 | } else { | ||
3638 | 2745 | if (yych <= '\\') goto yy197; | ||
3639 | 2746 | if (yych <= ']') goto yy174; | ||
3640 | 2747 | goto yy195; | ||
3641 | 2748 | } | ||
3642 | 2749 | } | ||
3643 | 2750 | } | ||
3644 | 2751 | yy224: | ||
3645 | 2752 | YYDEBUG(224, *YYCURSOR); | ||
3646 | 2745 | ++YYCURSOR; | 2753 | ++YYCURSOR; |
3647 | 2746 | yych = *YYCURSOR; | 2754 | yych = *YYCURSOR; |
3649 | 2747 | goto yy178; | 2755 | goto yy179; |
3650 | 2748 | } | 2756 | } |
3651 | 2749 | /* *********************************** */ | 2757 | /* *********************************** */ |
3652 | 2750 | yyc_ST_VALUE: | 2758 | yyc_ST_VALUE: |
3653 | @@ -2783,27 +2791,27 @@ | |||
3654 | 2783 | 162, 162, 162, 162, 162, 162, 162, 162, | 2791 | 162, 162, 162, 162, 162, 162, 162, 162, |
3655 | 2784 | 162, 162, 162, 162, 162, 162, 162, 162, | 2792 | 162, 162, 162, 162, 162, 162, 162, 162, |
3656 | 2785 | }; | 2793 | }; |
3658 | 2786 | YYDEBUG(224, *YYCURSOR); | 2794 | YYDEBUG(225, *YYCURSOR); |
3659 | 2787 | YYFILL(6); | 2795 | YYFILL(6); |
3660 | 2788 | yych = *YYCURSOR; | 2796 | yych = *YYCURSOR; |
3661 | 2789 | YYDEBUG(-1, yych); | 2797 | YYDEBUG(-1, yych); |
3662 | 2790 | switch (yych) { | 2798 | switch (yych) { |
3664 | 2791 | case 0x00: goto yy226; | 2799 | case 0x00: goto yy227; |
3665 | 2792 | case '\t': | 2800 | case '\t': |
3669 | 2793 | case ' ': goto yy230; | 2801 | case ' ': goto yy231; |
3670 | 2794 | case '\n': goto yy232; | 2802 | case '\n': goto yy233; |
3671 | 2795 | case '\r': goto yy234; | 2803 | case '\r': goto yy235; |
3672 | 2796 | case '!': | 2804 | case '!': |
3673 | 2797 | case '&': | 2805 | case '&': |
3674 | 2798 | case '(': | 2806 | case '(': |
3675 | 2799 | case ')': | 2807 | case ')': |
3676 | 2800 | case '|': | 2808 | case '|': |
3683 | 2801 | case '~': goto yy235; | 2809 | case '~': goto yy236; |
3684 | 2802 | case '"': goto yy237; | 2810 | case '"': goto yy238; |
3685 | 2803 | case '$': goto yy239; | 2811 | case '$': goto yy240; |
3686 | 2804 | case '\'': goto yy240; | 2812 | case '\'': goto yy241; |
3687 | 2805 | case '-': goto yy241; | 2813 | case '-': goto yy242; |
3688 | 2806 | case '.': goto yy242; | 2814 | case '.': goto yy243; |
3689 | 2807 | case '0': | 2815 | case '0': |
3690 | 2808 | case '1': | 2816 | case '1': |
3691 | 2809 | case '2': | 2817 | case '2': |
3692 | @@ -2813,9 +2821,9 @@ | |||
3693 | 2813 | case '6': | 2821 | case '6': |
3694 | 2814 | case '7': | 2822 | case '7': |
3695 | 2815 | case '8': | 2823 | case '8': |
3699 | 2816 | case '9': goto yy243; | 2824 | case '9': goto yy244; |
3700 | 2817 | case ';': goto yy245; | 2825 | case ';': goto yy246; |
3701 | 2818 | case '=': goto yy246; | 2826 | case '=': goto yy247; |
3702 | 2819 | case 'A': | 2827 | case 'A': |
3703 | 2820 | case 'B': | 2828 | case 'B': |
3704 | 2821 | case 'C': | 2829 | case 'C': |
3705 | @@ -2858,189 +2866,189 @@ | |||
3706 | 2858 | case 'v': | 2866 | case 'v': |
3707 | 2859 | case 'w': | 2867 | case 'w': |
3708 | 2860 | case 'x': | 2868 | case 'x': |
3710 | 2861 | case 'z': goto yy248; | 2869 | case 'z': goto yy249; |
3711 | 2862 | case 'F': | 2870 | case 'F': |
3713 | 2863 | case 'f': goto yy250; | 2871 | case 'f': goto yy251; |
3714 | 2864 | case 'N': | 2872 | case 'N': |
3716 | 2865 | case 'n': goto yy251; | 2873 | case 'n': goto yy252; |
3717 | 2866 | case 'O': | 2874 | case 'O': |
3719 | 2867 | case 'o': goto yy252; | 2875 | case 'o': goto yy253; |
3720 | 2868 | case 'T': | 2876 | case 'T': |
3722 | 2869 | case 't': goto yy253; | 2877 | case 't': goto yy254; |
3723 | 2870 | case 'Y': | 2878 | case 'Y': |
3726 | 2871 | case 'y': goto yy254; | 2879 | case 'y': goto yy255; |
3727 | 2872 | default: goto yy228; | 2880 | default: goto yy229; |
3728 | 2873 | } | 2881 | } |
3729 | 2874 | yy226: | ||
3730 | 2875 | YYDEBUG(226, *YYCURSOR); | ||
3731 | 2876 | ++YYCURSOR; | ||
3732 | 2877 | yy227: | 2882 | yy227: |
3733 | 2878 | YYDEBUG(227, *YYCURSOR); | 2883 | YYDEBUG(227, *YYCURSOR); |
3741 | 2879 | yyleng = YYCURSOR - SCNG(yy_text); | 2884 | ++YYCURSOR; |
3735 | 2880 | #line 567 "Zend/zend_ini_scanner.l" | ||
3736 | 2881 | { /* End of option value (if EOF is reached before EOL */ | ||
3737 | 2882 | BEGIN(INITIAL); | ||
3738 | 2883 | return END_OF_LINE; | ||
3739 | 2884 | } | ||
3740 | 2885 | #line 2886 "Zend/zend_ini_scanner.c" | ||
3742 | 2886 | yy228: | 2885 | yy228: |
3743 | 2887 | YYDEBUG(228, *YYCURSOR); | 2886 | YYDEBUG(228, *YYCURSOR); |
3747 | 2888 | yyaccept = 0; | 2887 | yyleng = YYCURSOR - SCNG(yy_text); |
3748 | 2889 | yych = *(YYMARKER = ++YYCURSOR); | 2888 | #line 567 "Zend/zend_ini_scanner.l" |
3749 | 2890 | goto yy256; | 2889 | { /* End of option value (if EOF is reached before EOL */ |
3750 | 2890 | BEGIN(INITIAL); | ||
3751 | 2891 | return END_OF_LINE; | ||
3752 | 2892 | } | ||
3753 | 2893 | #line 2894 "Zend/zend_ini_scanner.c" | ||
3754 | 2891 | yy229: | 2894 | yy229: |
3755 | 2892 | YYDEBUG(229, *YYCURSOR); | 2895 | YYDEBUG(229, *YYCURSOR); |
3756 | 2896 | yyaccept = 0; | ||
3757 | 2897 | yych = *(YYMARKER = ++YYCURSOR); | ||
3758 | 2898 | goto yy257; | ||
3759 | 2899 | yy230: | ||
3760 | 2900 | YYDEBUG(230, *YYCURSOR); | ||
3761 | 2893 | yyleng = YYCURSOR - SCNG(yy_text); | 2901 | yyleng = YYCURSOR - SCNG(yy_text); |
3762 | 2894 | #line 486 "Zend/zend_ini_scanner.l" | 2902 | #line 486 "Zend/zend_ini_scanner.l" |
3763 | 2895 | { /* Get everything else as option/offset value */ | 2903 | { /* Get everything else as option/offset value */ |
3764 | 2896 | RETURN_TOKEN(TC_STRING, yytext, yyleng); | 2904 | RETURN_TOKEN(TC_STRING, yytext, yyleng); |
3765 | 2897 | } | 2905 | } |
3772 | 2898 | #line 2899 "Zend/zend_ini_scanner.c" | 2906 | #line 2907 "Zend/zend_ini_scanner.c" |
3767 | 2899 | yy230: | ||
3768 | 2900 | YYDEBUG(230, *YYCURSOR); | ||
3769 | 2901 | yyaccept = 1; | ||
3770 | 2902 | yych = *(YYMARKER = ++YYCURSOR); | ||
3771 | 2903 | goto yy306; | ||
3773 | 2904 | yy231: | 2907 | yy231: |
3774 | 2905 | YYDEBUG(231, *YYCURSOR); | 2908 | YYDEBUG(231, *YYCURSOR); |
3775 | 2909 | yyaccept = 1; | ||
3776 | 2910 | yych = *(YYMARKER = ++YYCURSOR); | ||
3777 | 2911 | goto yy307; | ||
3778 | 2912 | yy232: | ||
3779 | 2913 | YYDEBUG(232, *YYCURSOR); | ||
3780 | 2906 | yyleng = YYCURSOR - SCNG(yy_text); | 2914 | yyleng = YYCURSOR - SCNG(yy_text); |
3781 | 2907 | #line 540 "Zend/zend_ini_scanner.l" | 2915 | #line 540 "Zend/zend_ini_scanner.l" |
3782 | 2908 | { | 2916 | { |
3783 | 2909 | RETURN_TOKEN(TC_WHITESPACE, yytext, yyleng); | 2917 | RETURN_TOKEN(TC_WHITESPACE, yytext, yyleng); |
3784 | 2910 | } | 2918 | } |
3789 | 2911 | #line 2912 "Zend/zend_ini_scanner.c" | 2919 | #line 2920 "Zend/zend_ini_scanner.c" |
3786 | 2912 | yy232: | ||
3787 | 2913 | YYDEBUG(232, *YYCURSOR); | ||
3788 | 2914 | ++YYCURSOR; | ||
3790 | 2915 | yy233: | 2920 | yy233: |
3791 | 2916 | YYDEBUG(233, *YYCURSOR); | 2921 | YYDEBUG(233, *YYCURSOR); |
3800 | 2917 | yyleng = YYCURSOR - SCNG(yy_text); | 2922 | ++YYCURSOR; |
3793 | 2918 | #line 458 "Zend/zend_ini_scanner.l" | ||
3794 | 2919 | { /* End of option value */ | ||
3795 | 2920 | BEGIN(INITIAL); | ||
3796 | 2921 | SCNG(lineno)++; | ||
3797 | 2922 | return END_OF_LINE; | ||
3798 | 2923 | } | ||
3799 | 2924 | #line 2925 "Zend/zend_ini_scanner.c" | ||
3801 | 2925 | yy234: | 2923 | yy234: |
3802 | 2926 | YYDEBUG(234, *YYCURSOR); | 2924 | YYDEBUG(234, *YYCURSOR); |
3806 | 2927 | yych = *++YYCURSOR; | 2925 | yyleng = YYCURSOR - SCNG(yy_text); |
3807 | 2928 | if (yych == '\n') goto yy304; | 2926 | #line 458 "Zend/zend_ini_scanner.l" |
3808 | 2929 | goto yy233; | 2927 | { /* End of option value */ |
3809 | 2928 | BEGIN(INITIAL); | ||
3810 | 2929 | SCNG(lineno)++; | ||
3811 | 2930 | return END_OF_LINE; | ||
3812 | 2931 | } | ||
3813 | 2932 | #line 2933 "Zend/zend_ini_scanner.c" | ||
3814 | 2930 | yy235: | 2933 | yy235: |
3815 | 2931 | YYDEBUG(235, *YYCURSOR); | 2934 | YYDEBUG(235, *YYCURSOR); |
3819 | 2932 | ++YYCURSOR; | 2935 | yych = *++YYCURSOR; |
3820 | 2933 | yych = *YYCURSOR; | 2936 | if (yych == '\n') goto yy305; |
3821 | 2934 | goto yy303; | 2937 | goto yy234; |
3822 | 2935 | yy236: | 2938 | yy236: |
3823 | 2936 | YYDEBUG(236, *YYCURSOR); | 2939 | YYDEBUG(236, *YYCURSOR); |
3824 | 2940 | ++YYCURSOR; | ||
3825 | 2941 | yych = *YYCURSOR; | ||
3826 | 2942 | goto yy304; | ||
3827 | 2943 | yy237: | ||
3828 | 2944 | YYDEBUG(237, *YYCURSOR); | ||
3829 | 2937 | yyleng = YYCURSOR - SCNG(yy_text); | 2945 | yyleng = YYCURSOR - SCNG(yy_text); |
3830 | 2938 | #line 476 "Zend/zend_ini_scanner.l" | 2946 | #line 476 "Zend/zend_ini_scanner.l" |
3831 | 2939 | { /* Boolean operators */ | 2947 | { /* Boolean operators */ |
3832 | 2940 | return yytext[0]; | 2948 | return yytext[0]; |
3833 | 2941 | } | 2949 | } |
3838 | 2942 | #line 2943 "Zend/zend_ini_scanner.c" | 2950 | #line 2951 "Zend/zend_ini_scanner.c" |
3835 | 2943 | yy237: | ||
3836 | 2944 | YYDEBUG(237, *YYCURSOR); | ||
3837 | 2945 | ++YYCURSOR; | ||
3839 | 2946 | yy238: | 2951 | yy238: |
3840 | 2947 | YYDEBUG(238, *YYCURSOR); | 2952 | YYDEBUG(238, *YYCURSOR); |
3848 | 2948 | yyleng = YYCURSOR - SCNG(yy_text); | 2953 | ++YYCURSOR; |
3842 | 2949 | #line 494 "Zend/zend_ini_scanner.l" | ||
3843 | 2950 | { /* Double quoted '"' string start */ | ||
3844 | 2951 | yy_push_state(ST_DOUBLE_QUOTES TSRMLS_CC); | ||
3845 | 2952 | return '"'; | ||
3846 | 2953 | } | ||
3847 | 2954 | #line 2955 "Zend/zend_ini_scanner.c" | ||
3849 | 2955 | yy239: | 2954 | yy239: |
3850 | 2956 | YYDEBUG(239, *YYCURSOR); | 2955 | YYDEBUG(239, *YYCURSOR); |
3860 | 2957 | yych = *++YYCURSOR; | 2956 | yyleng = YYCURSOR - SCNG(yy_text); |
3861 | 2958 | if (yych <= '\\') { | 2957 | #line 494 "Zend/zend_ini_scanner.l" |
3862 | 2959 | if (yych <= 0x00) goto yy227; | 2958 | { /* Double quoted '"' string start */ |
3863 | 2960 | if (yych <= '[') goto yy255; | 2959 | yy_push_state(ST_DOUBLE_QUOTES TSRMLS_CC); |
3864 | 2961 | goto yy262; | 2960 | return '"'; |
3865 | 2962 | } else { | 2961 | } |
3866 | 2963 | if (yych == '{') goto yy300; | 2962 | #line 2963 "Zend/zend_ini_scanner.c" |
3858 | 2964 | goto yy255; | ||
3859 | 2965 | } | ||
3867 | 2966 | yy240: | 2963 | yy240: |
3868 | 2967 | YYDEBUG(240, *YYCURSOR); | 2964 | YYDEBUG(240, *YYCURSOR); |
3873 | 2968 | yyaccept = 2; | 2965 | yych = *++YYCURSOR; |
3874 | 2969 | yych = *(YYMARKER = ++YYCURSOR); | 2966 | if (yych <= '\\') { |
3875 | 2970 | if (yybm[0+yych] & 128) { | 2967 | if (yych <= 0x00) goto yy228; |
3876 | 2971 | goto yy296; | 2968 | if (yych <= '[') goto yy256; |
3877 | 2969 | goto yy263; | ||
3878 | 2970 | } else { | ||
3879 | 2971 | if (yych == '{') goto yy301; | ||
3880 | 2972 | goto yy256; | ||
3881 | 2972 | } | 2973 | } |
3882 | 2973 | goto yy227; | ||
3883 | 2974 | yy241: | 2974 | yy241: |
3884 | 2975 | YYDEBUG(241, *YYCURSOR); | 2975 | YYDEBUG(241, *YYCURSOR); |
3886 | 2976 | yyaccept = 0; | 2976 | yyaccept = 2; |
3887 | 2977 | yych = *(YYMARKER = ++YYCURSOR); | 2977 | yych = *(YYMARKER = ++YYCURSOR); |
3891 | 2978 | if (yych <= '/') goto yy256; | 2978 | if (yybm[0+yych] & 128) { |
3892 | 2979 | if (yych <= '9') goto yy294; | 2979 | goto yy297; |
3893 | 2980 | goto yy256; | 2980 | } |
3894 | 2981 | goto yy228; | ||
3895 | 2981 | yy242: | 2982 | yy242: |
3896 | 2982 | YYDEBUG(242, *YYCURSOR); | 2983 | YYDEBUG(242, *YYCURSOR); |
3897 | 2983 | yyaccept = 0; | 2984 | yyaccept = 0; |
3898 | 2984 | yych = *(YYMARKER = ++YYCURSOR); | 2985 | yych = *(YYMARKER = ++YYCURSOR); |
3902 | 2985 | if (yych <= '/') goto yy256; | 2986 | if (yych <= '/') goto yy257; |
3903 | 2986 | if (yych <= '9') goto yy292; | 2987 | if (yych <= '9') goto yy295; |
3904 | 2987 | goto yy256; | 2988 | goto yy257; |
3905 | 2988 | yy243: | 2989 | yy243: |
3906 | 2989 | YYDEBUG(243, *YYCURSOR); | 2990 | YYDEBUG(243, *YYCURSOR); |
3907 | 2991 | yyaccept = 0; | ||
3908 | 2992 | yych = *(YYMARKER = ++YYCURSOR); | ||
3909 | 2993 | if (yych <= '/') goto yy257; | ||
3910 | 2994 | if (yych <= '9') goto yy293; | ||
3911 | 2995 | goto yy257; | ||
3912 | 2996 | yy244: | ||
3913 | 2997 | YYDEBUG(244, *YYCURSOR); | ||
3914 | 2990 | yyaccept = 3; | 2998 | yyaccept = 3; |
3915 | 2991 | yych = *(YYMARKER = ++YYCURSOR); | 2999 | yych = *(YYMARKER = ++YYCURSOR); |
3916 | 2992 | if (yych <= '.') { | 3000 | if (yych <= '.') { |
3917 | 2993 | if (yych <= '\r') { | 3001 | if (yych <= '\r') { |
3918 | 2994 | if (yych <= 0x08) { | 3002 | if (yych <= 0x08) { |
3920 | 2995 | if (yych >= 0x01) goto yy256; | 3003 | if (yych >= 0x01) goto yy257; |
3921 | 2996 | } else { | 3004 | } else { |
3924 | 2997 | if (yych <= '\n') goto yy244; | 3005 | if (yych <= '\n') goto yy245; |
3925 | 2998 | if (yych <= '\f') goto yy256; | 3006 | if (yych <= '\f') goto yy257; |
3926 | 2999 | } | 3007 | } |
3927 | 3000 | } else { | 3008 | } else { |
3928 | 3001 | if (yych <= '%') { | 3009 | if (yych <= '%') { |
3931 | 3002 | if (yych <= 0x1F) goto yy256; | 3010 | if (yych <= 0x1F) goto yy257; |
3932 | 3003 | if (yych >= '#') goto yy256; | 3011 | if (yych >= '#') goto yy257; |
3933 | 3004 | } else { | 3012 | } else { |
3937 | 3005 | if (yych <= ')') goto yy244; | 3013 | if (yych <= ')') goto yy245; |
3938 | 3006 | if (yych <= '-') goto yy256; | 3014 | if (yych <= '-') goto yy257; |
3939 | 3007 | goto yy288; | 3015 | goto yy289; |
3940 | 3008 | } | 3016 | } |
3941 | 3009 | } | 3017 | } |
3942 | 3010 | } else { | 3018 | } else { |
3943 | 3011 | if (yych <= '<') { | 3019 | if (yych <= '<') { |
3944 | 3012 | if (yych <= '9') { | 3020 | if (yych <= '9') { |
3947 | 3013 | if (yych <= '/') goto yy256; | 3021 | if (yych <= '/') goto yy257; |
3948 | 3014 | goto yy290; | 3022 | goto yy291; |
3949 | 3015 | } else { | 3023 | } else { |
3951 | 3016 | if (yych != ';') goto yy256; | 3024 | if (yych != ';') goto yy257; |
3952 | 3017 | } | 3025 | } |
3953 | 3018 | } else { | 3026 | } else { |
3954 | 3019 | if (yych <= '|') { | 3027 | if (yych <= '|') { |
3957 | 3020 | if (yych <= '=') goto yy244; | 3028 | if (yych <= '=') goto yy245; |
3958 | 3021 | if (yych <= '{') goto yy256; | 3029 | if (yych <= '{') goto yy257; |
3959 | 3022 | } else { | 3030 | } else { |
3961 | 3023 | if (yych != '~') goto yy256; | 3031 | if (yych != '~') goto yy257; |
3962 | 3024 | } | 3032 | } |
3963 | 3025 | } | 3033 | } |
3964 | 3026 | } | 3034 | } |
3965 | 3027 | yy244: | ||
3966 | 3028 | YYDEBUG(244, *YYCURSOR); | ||
3967 | 3029 | yyleng = YYCURSOR - SCNG(yy_text); | ||
3968 | 3030 | #line 468 "Zend/zend_ini_scanner.l" | ||
3969 | 3031 | { /* Get number option value as string */ | ||
3970 | 3032 | RETURN_TOKEN(TC_NUMBER, yytext, yyleng); | ||
3971 | 3033 | } | ||
3972 | 3034 | #line 3035 "Zend/zend_ini_scanner.c" | ||
3973 | 3035 | yy245: | 3035 | yy245: |
3974 | 3036 | YYDEBUG(245, *YYCURSOR); | 3036 | YYDEBUG(245, *YYCURSOR); |
3978 | 3037 | yyaccept = 2; | 3037 | yyleng = YYCURSOR - SCNG(yy_text); |
3979 | 3038 | yych = *(YYMARKER = ++YYCURSOR); | 3038 | #line 468 "Zend/zend_ini_scanner.l" |
3980 | 3039 | goto yy284; | 3039 | { /* Get number option value as string */ |
3981 | 3040 | RETURN_TOKEN(TC_NUMBER, yytext, yyleng); | ||
3982 | 3041 | } | ||
3983 | 3042 | #line 3043 "Zend/zend_ini_scanner.c" | ||
3984 | 3040 | yy246: | 3043 | yy246: |
3985 | 3041 | YYDEBUG(246, *YYCURSOR); | 3044 | YYDEBUG(246, *YYCURSOR); |
3987 | 3042 | ++YYCURSOR; | 3045 | yyaccept = 2; |
3988 | 3046 | yych = *(YYMARKER = ++YYCURSOR); | ||
3989 | 3047 | goto yy285; | ||
3990 | 3048 | yy247: | ||
3991 | 3043 | YYDEBUG(247, *YYCURSOR); | 3049 | YYDEBUG(247, *YYCURSOR); |
3992 | 3050 | ++YYCURSOR; | ||
3993 | 3051 | YYDEBUG(248, *YYCURSOR); | ||
3994 | 3044 | yyleng = YYCURSOR - SCNG(yy_text); | 3052 | yyleng = YYCURSOR - SCNG(yy_text); |
3995 | 3045 | #line 480 "Zend/zend_ini_scanner.l" | 3053 | #line 480 "Zend/zend_ini_scanner.l" |
3996 | 3046 | { /* Make = used in option value to trigger error */ | 3054 | { /* Make = used in option value to trigger error */ |
3997 | @@ -3048,154 +3056,93 @@ | |||
3998 | 3048 | BEGIN(INITIAL); | 3056 | BEGIN(INITIAL); |
3999 | 3049 | return END_OF_LINE; | 3057 | return END_OF_LINE; |
4000 | 3050 | } | 3058 | } |
4034 | 3051 | #line 3052 "Zend/zend_ini_scanner.c" | 3059 | #line 3060 "Zend/zend_ini_scanner.c" |
4002 | 3052 | yy248: | ||
4003 | 3053 | YYDEBUG(248, *YYCURSOR); | ||
4004 | 3054 | yyaccept = 4; | ||
4005 | 3055 | yych = *(YYMARKER = ++YYCURSOR); | ||
4006 | 3056 | if (yybm[0+yych] & 4) { | ||
4007 | 3057 | goto yy257; | ||
4008 | 3058 | } | ||
4009 | 3059 | if (yych <= ')') { | ||
4010 | 3060 | if (yych <= '\f') { | ||
4011 | 3061 | if (yych <= 0x00) goto yy249; | ||
4012 | 3062 | if (yych <= 0x08) goto yy256; | ||
4013 | 3063 | if (yych >= '\v') goto yy256; | ||
4014 | 3064 | } else { | ||
4015 | 3065 | if (yych <= 0x1F) { | ||
4016 | 3066 | if (yych >= 0x0E) goto yy256; | ||
4017 | 3067 | } else { | ||
4018 | 3068 | if (yych <= '"') goto yy249; | ||
4019 | 3069 | if (yych <= '%') goto yy256; | ||
4020 | 3070 | } | ||
4021 | 3071 | } | ||
4022 | 3072 | } else { | ||
4023 | 3073 | if (yych <= '=') { | ||
4024 | 3074 | if (yych == ';') goto yy249; | ||
4025 | 3075 | if (yych <= '<') goto yy256; | ||
4026 | 3076 | } else { | ||
4027 | 3077 | if (yych <= '|') { | ||
4028 | 3078 | if (yych <= '{') goto yy256; | ||
4029 | 3079 | } else { | ||
4030 | 3080 | if (yych != '~') goto yy256; | ||
4031 | 3081 | } | ||
4032 | 3082 | } | ||
4033 | 3083 | } | ||
4035 | 3084 | yy249: | 3060 | yy249: |
4036 | 3085 | YYDEBUG(249, *YYCURSOR); | 3061 | YYDEBUG(249, *YYCURSOR); |
4043 | 3086 | yyleng = YYCURSOR - SCNG(yy_text); | 3062 | yyaccept = 4; |
4044 | 3087 | #line 464 "Zend/zend_ini_scanner.l" | 3063 | yych = *(YYMARKER = ++YYCURSOR); |
4045 | 3088 | { /* Get constant option value */ | 3064 | if (yybm[0+yych] & 4) { |
4046 | 3089 | RETURN_TOKEN(TC_CONSTANT, yytext, yyleng); | 3065 | goto yy258; |
4047 | 3090 | } | 3066 | } |
4048 | 3091 | #line 3092 "Zend/zend_ini_scanner.c" | 3067 | if (yych <= ')') { |
4049 | 3068 | if (yych <= '\f') { | ||
4050 | 3069 | if (yych <= 0x00) goto yy250; | ||
4051 | 3070 | if (yych <= 0x08) goto yy257; | ||
4052 | 3071 | if (yych >= '\v') goto yy257; | ||
4053 | 3072 | } else { | ||
4054 | 3073 | if (yych <= 0x1F) { | ||
4055 | 3074 | if (yych >= 0x0E) goto yy257; | ||
4056 | 3075 | } else { | ||
4057 | 3076 | if (yych <= '"') goto yy250; | ||
4058 | 3077 | if (yych <= '%') goto yy257; | ||
4059 | 3078 | } | ||
4060 | 3079 | } | ||
4061 | 3080 | } else { | ||
4062 | 3081 | if (yych <= '=') { | ||
4063 | 3082 | if (yych == ';') goto yy250; | ||
4064 | 3083 | if (yych <= '<') goto yy257; | ||
4065 | 3084 | } else { | ||
4066 | 3085 | if (yych <= '|') { | ||
4067 | 3086 | if (yych <= '{') goto yy257; | ||
4068 | 3087 | } else { | ||
4069 | 3088 | if (yych != '~') goto yy257; | ||
4070 | 3089 | } | ||
4071 | 3090 | } | ||
4072 | 3091 | } | ||
4073 | 3092 | yy250: | 3092 | yy250: |
4074 | 3093 | YYDEBUG(250, *YYCURSOR); | 3093 | YYDEBUG(250, *YYCURSOR); |
4122 | 3094 | yyaccept = 4; | 3094 | yyleng = YYCURSOR - SCNG(yy_text); |
4123 | 3095 | yych = *(YYMARKER = ++YYCURSOR); | 3095 | #line 464 "Zend/zend_ini_scanner.l" |
4124 | 3096 | if (yych <= '<') { | 3096 | { /* Get constant option value */ |
4125 | 3097 | if (yych <= '"') { | 3097 | RETURN_TOKEN(TC_CONSTANT, yytext, yyleng); |
4126 | 3098 | if (yych <= '\n') { | 3098 | } |
4127 | 3099 | if (yych <= 0x00) goto yy249; | 3099 | #line 3100 "Zend/zend_ini_scanner.c" |
4081 | 3100 | if (yych <= 0x08) goto yy256; | ||
4082 | 3101 | goto yy249; | ||
4083 | 3102 | } else { | ||
4084 | 3103 | if (yych == '\r') goto yy249; | ||
4085 | 3104 | if (yych <= 0x1F) goto yy256; | ||
4086 | 3105 | goto yy249; | ||
4087 | 3106 | } | ||
4088 | 3107 | } else { | ||
4089 | 3108 | if (yych <= '/') { | ||
4090 | 3109 | if (yych <= '%') goto yy256; | ||
4091 | 3110 | if (yych <= ')') goto yy249; | ||
4092 | 3111 | goto yy256; | ||
4093 | 3112 | } else { | ||
4094 | 3113 | if (yych <= '9') goto yy257; | ||
4095 | 3114 | if (yych == ';') goto yy249; | ||
4096 | 3115 | goto yy256; | ||
4097 | 3116 | } | ||
4098 | 3117 | } | ||
4099 | 3118 | } else { | ||
4100 | 3119 | if (yych <= '`') { | ||
4101 | 3120 | if (yych <= 'A') { | ||
4102 | 3121 | if (yych <= '=') goto yy249; | ||
4103 | 3122 | if (yych <= '@') goto yy256; | ||
4104 | 3123 | goto yy280; | ||
4105 | 3124 | } else { | ||
4106 | 3125 | if (yych <= 'Z') goto yy257; | ||
4107 | 3126 | if (yych == '_') goto yy257; | ||
4108 | 3127 | goto yy256; | ||
4109 | 3128 | } | ||
4110 | 3129 | } else { | ||
4111 | 3130 | if (yych <= '{') { | ||
4112 | 3131 | if (yych <= 'a') goto yy280; | ||
4113 | 3132 | if (yych <= 'z') goto yy257; | ||
4114 | 3133 | goto yy256; | ||
4115 | 3134 | } else { | ||
4116 | 3135 | if (yych == '}') goto yy256; | ||
4117 | 3136 | if (yych <= '~') goto yy249; | ||
4118 | 3137 | goto yy256; | ||
4119 | 3138 | } | ||
4120 | 3139 | } | ||
4121 | 3140 | } | ||
4128 | 3141 | yy251: | 3100 | yy251: |
4129 | 3142 | YYDEBUG(251, *YYCURSOR); | 3101 | YYDEBUG(251, *YYCURSOR); |
4130 | 3143 | yyaccept = 4; | 3102 | yyaccept = 4; |
4131 | 3144 | yych = *(YYMARKER = ++YYCURSOR); | 3103 | yych = *(YYMARKER = ++YYCURSOR); |
4139 | 3145 | if (yych <= 'N') { | 3104 | if (yych <= '<') { |
4140 | 3146 | if (yych <= '%') { | 3105 | if (yych <= '"') { |
4141 | 3147 | if (yych <= '\f') { | 3106 | if (yych <= '\n') { |
4142 | 3148 | if (yych <= 0x00) goto yy249; | 3107 | if (yych <= 0x00) goto yy250; |
4143 | 3149 | if (yych <= 0x08) goto yy256; | 3108 | if (yych <= 0x08) goto yy257; |
4144 | 3150 | if (yych <= '\n') goto yy249; | 3109 | goto yy250; |
4138 | 3151 | goto yy256; | ||
4145 | 3152 | } else { | 3110 | } else { |
4150 | 3153 | if (yych <= '\r') goto yy249; | 3111 | if (yych == '\r') goto yy250; |
4151 | 3154 | if (yych <= 0x1F) goto yy256; | 3112 | if (yych <= 0x1F) goto yy257; |
4152 | 3155 | if (yych <= '"') goto yy249; | 3113 | goto yy250; |
4149 | 3156 | goto yy256; | ||
4153 | 3157 | } | 3114 | } |
4154 | 3158 | } else { | 3115 | } else { |
4160 | 3159 | if (yych <= ':') { | 3116 | if (yych <= '/') { |
4161 | 3160 | if (yych <= ')') goto yy249; | 3117 | if (yych <= '%') goto yy257; |
4162 | 3161 | if (yych <= '/') goto yy256; | 3118 | if (yych <= ')') goto yy250; |
4163 | 3162 | if (yych <= '9') goto yy257; | 3119 | goto yy257; |
4159 | 3163 | goto yy256; | ||
4164 | 3164 | } else { | 3120 | } else { |
4173 | 3165 | if (yych <= '<') { | 3121 | if (yych <= '9') goto yy258; |
4174 | 3166 | if (yych <= ';') goto yy249; | 3122 | if (yych == ';') goto yy250; |
4175 | 3167 | goto yy256; | 3123 | goto yy257; |
4168 | 3168 | } else { | ||
4169 | 3169 | if (yych <= '=') goto yy249; | ||
4170 | 3170 | if (yych <= '@') goto yy256; | ||
4171 | 3171 | goto yy257; | ||
4172 | 3172 | } | ||
4176 | 3173 | } | 3124 | } |
4177 | 3174 | } | 3125 | } |
4178 | 3175 | } else { | 3126 | } else { |
4184 | 3176 | if (yych <= 'n') { | 3127 | if (yych <= '`') { |
4185 | 3177 | if (yych <= 'Z') { | 3128 | if (yych <= 'A') { |
4186 | 3178 | if (yych <= 'O') goto yy276; | 3129 | if (yych <= '=') goto yy250; |
4187 | 3179 | if (yych == 'U') goto yy277; | 3130 | if (yych <= '@') goto yy257; |
4188 | 3180 | goto yy257; | 3131 | goto yy281; |
4189 | 3181 | } else { | 3132 | } else { |
4192 | 3182 | if (yych == '_') goto yy257; | 3133 | if (yych <= 'Z') goto yy258; |
4193 | 3183 | if (yych <= '`') goto yy256; | 3134 | if (yych == '_') goto yy258; |
4194 | 3184 | goto yy257; | 3135 | goto yy257; |
4195 | 3185 | } | 3136 | } |
4196 | 3186 | } else { | 3137 | } else { |
4200 | 3187 | if (yych <= 'z') { | 3138 | if (yych <= '{') { |
4201 | 3188 | if (yych <= 'o') goto yy276; | 3139 | if (yych <= 'a') goto yy281; |
4202 | 3189 | if (yych == 'u') goto yy277; | 3140 | if (yych <= 'z') goto yy258; |
4203 | 3190 | goto yy257; | 3141 | goto yy257; |
4204 | 3191 | } else { | 3142 | } else { |
4212 | 3192 | if (yych <= '|') { | 3143 | if (yych == '}') goto yy257; |
4213 | 3193 | if (yych <= '{') goto yy256; | 3144 | if (yych <= '~') goto yy250; |
4214 | 3194 | goto yy249; | 3145 | goto yy257; |
4208 | 3195 | } else { | ||
4209 | 3196 | if (yych == '~') goto yy249; | ||
4210 | 3197 | goto yy256; | ||
4211 | 3198 | } | ||
4215 | 3199 | } | 3146 | } |
4216 | 3200 | } | 3147 | } |
4217 | 3201 | } | 3148 | } |
4218 | @@ -3203,113 +3150,124 @@ | |||
4219 | 3203 | YYDEBUG(252, *YYCURSOR); | 3150 | YYDEBUG(252, *YYCURSOR); |
4220 | 3204 | yyaccept = 4; | 3151 | yyaccept = 4; |
4221 | 3205 | yych = *(YYMARKER = ++YYCURSOR); | 3152 | yych = *(YYMARKER = ++YYCURSOR); |
4222 | 3153 | if (yych <= 'N') { | ||
4223 | 3154 | if (yych <= '%') { | ||
4224 | 3155 | if (yych <= '\f') { | ||
4225 | 3156 | if (yych <= 0x00) goto yy250; | ||
4226 | 3157 | if (yych <= 0x08) goto yy257; | ||
4227 | 3158 | if (yych <= '\n') goto yy250; | ||
4228 | 3159 | goto yy257; | ||
4229 | 3160 | } else { | ||
4230 | 3161 | if (yych <= '\r') goto yy250; | ||
4231 | 3162 | if (yych <= 0x1F) goto yy257; | ||
4232 | 3163 | if (yych <= '"') goto yy250; | ||
4233 | 3164 | goto yy257; | ||
4234 | 3165 | } | ||
4235 | 3166 | } else { | ||
4236 | 3167 | if (yych <= ':') { | ||
4237 | 3168 | if (yych <= ')') goto yy250; | ||
4238 | 3169 | if (yych <= '/') goto yy257; | ||
4239 | 3170 | if (yych <= '9') goto yy258; | ||
4240 | 3171 | goto yy257; | ||
4241 | 3172 | } else { | ||
4242 | 3173 | if (yych <= '<') { | ||
4243 | 3174 | if (yych <= ';') goto yy250; | ||
4244 | 3175 | goto yy257; | ||
4245 | 3176 | } else { | ||
4246 | 3177 | if (yych <= '=') goto yy250; | ||
4247 | 3178 | if (yych <= '@') goto yy257; | ||
4248 | 3179 | goto yy258; | ||
4249 | 3180 | } | ||
4250 | 3181 | } | ||
4251 | 3182 | } | ||
4252 | 3183 | } else { | ||
4253 | 3184 | if (yych <= 'n') { | ||
4254 | 3185 | if (yych <= 'Z') { | ||
4255 | 3186 | if (yych <= 'O') goto yy277; | ||
4256 | 3187 | if (yych == 'U') goto yy278; | ||
4257 | 3188 | goto yy258; | ||
4258 | 3189 | } else { | ||
4259 | 3190 | if (yych == '_') goto yy258; | ||
4260 | 3191 | if (yych <= '`') goto yy257; | ||
4261 | 3192 | goto yy258; | ||
4262 | 3193 | } | ||
4263 | 3194 | } else { | ||
4264 | 3195 | if (yych <= 'z') { | ||
4265 | 3196 | if (yych <= 'o') goto yy277; | ||
4266 | 3197 | if (yych == 'u') goto yy278; | ||
4267 | 3198 | goto yy258; | ||
4268 | 3199 | } else { | ||
4269 | 3200 | if (yych <= '|') { | ||
4270 | 3201 | if (yych <= '{') goto yy257; | ||
4271 | 3202 | goto yy250; | ||
4272 | 3203 | } else { | ||
4273 | 3204 | if (yych == '~') goto yy250; | ||
4274 | 3205 | goto yy257; | ||
4275 | 3206 | } | ||
4276 | 3207 | } | ||
4277 | 3208 | } | ||
4278 | 3209 | } | ||
4279 | 3210 | yy253: | ||
4280 | 3211 | YYDEBUG(253, *YYCURSOR); | ||
4281 | 3212 | yyaccept = 4; | ||
4282 | 3213 | yych = *(YYMARKER = ++YYCURSOR); | ||
4283 | 3206 | if (yych <= 'E') { | 3214 | if (yych <= 'E') { |
4284 | 3207 | if (yych <= '%') { | 3215 | if (yych <= '%') { |
4285 | 3208 | if (yych <= '\f') { | 3216 | if (yych <= '\f') { |
4290 | 3209 | if (yych <= 0x00) goto yy249; | 3217 | if (yych <= 0x00) goto yy250; |
4291 | 3210 | if (yych <= 0x08) goto yy256; | 3218 | if (yych <= 0x08) goto yy257; |
4292 | 3211 | if (yych <= '\n') goto yy249; | 3219 | if (yych <= '\n') goto yy250; |
4293 | 3212 | goto yy256; | 3220 | goto yy257; |
4294 | 3213 | } else { | 3221 | } else { |
4299 | 3214 | if (yych <= '\r') goto yy249; | 3222 | if (yych <= '\r') goto yy250; |
4300 | 3215 | if (yych <= 0x1F) goto yy256; | 3223 | if (yych <= 0x1F) goto yy257; |
4301 | 3216 | if (yych <= '"') goto yy249; | 3224 | if (yych <= '"') goto yy250; |
4302 | 3217 | goto yy256; | 3225 | goto yy257; |
4303 | 3218 | } | 3226 | } |
4304 | 3219 | } else { | 3227 | } else { |
4305 | 3220 | if (yych <= ':') { | 3228 | if (yych <= ':') { |
4310 | 3221 | if (yych <= ')') goto yy249; | 3229 | if (yych <= ')') goto yy250; |
4311 | 3222 | if (yych <= '/') goto yy256; | 3230 | if (yych <= '/') goto yy257; |
4312 | 3223 | if (yych <= '9') goto yy257; | 3231 | if (yych <= '9') goto yy258; |
4313 | 3224 | goto yy256; | 3232 | goto yy257; |
4314 | 3225 | } else { | 3233 | } else { |
4315 | 3226 | if (yych <= '<') { | 3234 | if (yych <= '<') { |
4318 | 3227 | if (yych <= ';') goto yy249; | 3235 | if (yych <= ';') goto yy250; |
4319 | 3228 | goto yy256; | 3236 | goto yy257; |
4320 | 3229 | } else { | 3237 | } else { |
4324 | 3230 | if (yych <= '=') goto yy249; | 3238 | if (yych <= '=') goto yy250; |
4325 | 3231 | if (yych <= '@') goto yy256; | 3239 | if (yych <= '@') goto yy257; |
4326 | 3232 | goto yy257; | 3240 | goto yy258; |
4327 | 3233 | } | 3241 | } |
4328 | 3234 | } | 3242 | } |
4329 | 3235 | } | 3243 | } |
4330 | 3236 | } else { | 3244 | } else { |
4331 | 3237 | if (yych <= 'e') { | 3245 | if (yych <= 'e') { |
4332 | 3238 | if (yych <= 'Z') { | 3246 | if (yych <= 'Z') { |
4336 | 3239 | if (yych <= 'F') goto yy271; | 3247 | if (yych <= 'F') goto yy272; |
4337 | 3240 | if (yych == 'N') goto yy265; | 3248 | if (yych == 'N') goto yy266; |
4338 | 3241 | goto yy257; | 3249 | goto yy258; |
4339 | 3242 | } else { | 3250 | } else { |
4343 | 3243 | if (yych == '_') goto yy257; | 3251 | if (yych == '_') goto yy258; |
4344 | 3244 | if (yych <= '`') goto yy256; | 3252 | if (yych <= '`') goto yy257; |
4345 | 3245 | goto yy257; | 3253 | goto yy258; |
4346 | 3246 | } | 3254 | } |
4347 | 3247 | } else { | 3255 | } else { |
4348 | 3248 | if (yych <= 'z') { | 3256 | if (yych <= 'z') { |
4352 | 3249 | if (yych <= 'f') goto yy271; | 3257 | if (yych <= 'f') goto yy272; |
4353 | 3250 | if (yych == 'n') goto yy265; | 3258 | if (yych == 'n') goto yy266; |
4354 | 3251 | goto yy257; | 3259 | goto yy258; |
4355 | 3252 | } else { | 3260 | } else { |
4356 | 3253 | if (yych <= '|') { | 3261 | if (yych <= '|') { |
4359 | 3254 | if (yych <= '{') goto yy256; | 3262 | if (yych <= '{') goto yy257; |
4360 | 3255 | goto yy249; | 3263 | goto yy250; |
4361 | 3256 | } else { | 3264 | } else { |
4364 | 3257 | if (yych == '~') goto yy249; | 3265 | if (yych == '~') goto yy250; |
4365 | 3258 | goto yy256; | 3266 | goto yy257; |
4366 | 3259 | } | 3267 | } |
4367 | 3260 | } | 3268 | } |
4368 | 3261 | } | 3269 | } |
4369 | 3262 | } | 3270 | } |
4370 | 3263 | yy253: | ||
4371 | 3264 | YYDEBUG(253, *YYCURSOR); | ||
4372 | 3265 | yyaccept = 4; | ||
4373 | 3266 | yych = *(YYMARKER = ++YYCURSOR); | ||
4374 | 3267 | if (yych <= '=') { | ||
4375 | 3268 | if (yych <= '"') { | ||
4376 | 3269 | if (yych <= '\n') { | ||
4377 | 3270 | if (yych <= 0x00) goto yy249; | ||
4378 | 3271 | if (yych <= 0x08) goto yy256; | ||
4379 | 3272 | goto yy249; | ||
4380 | 3273 | } else { | ||
4381 | 3274 | if (yych == '\r') goto yy249; | ||
4382 | 3275 | if (yych <= 0x1F) goto yy256; | ||
4383 | 3276 | goto yy249; | ||
4384 | 3277 | } | ||
4385 | 3278 | } else { | ||
4386 | 3279 | if (yych <= '9') { | ||
4387 | 3280 | if (yych <= '%') goto yy256; | ||
4388 | 3281 | if (yych <= ')') goto yy249; | ||
4389 | 3282 | if (yych <= '/') goto yy256; | ||
4390 | 3283 | goto yy257; | ||
4391 | 3284 | } else { | ||
4392 | 3285 | if (yych == ';') goto yy249; | ||
4393 | 3286 | if (yych <= '<') goto yy256; | ||
4394 | 3287 | goto yy249; | ||
4395 | 3288 | } | ||
4396 | 3289 | } | ||
4397 | 3290 | } else { | ||
4398 | 3291 | if (yych <= '`') { | ||
4399 | 3292 | if (yych <= 'R') { | ||
4400 | 3293 | if (yych <= '@') goto yy256; | ||
4401 | 3294 | if (yych <= 'Q') goto yy257; | ||
4402 | 3295 | goto yy269; | ||
4403 | 3296 | } else { | ||
4404 | 3297 | if (yych <= 'Z') goto yy257; | ||
4405 | 3298 | if (yych == '_') goto yy257; | ||
4406 | 3299 | goto yy256; | ||
4407 | 3300 | } | ||
4408 | 3301 | } else { | ||
4409 | 3302 | if (yych <= '{') { | ||
4410 | 3303 | if (yych == 'r') goto yy269; | ||
4411 | 3304 | if (yych <= 'z') goto yy257; | ||
4412 | 3305 | goto yy256; | ||
4413 | 3306 | } else { | ||
4414 | 3307 | if (yych == '}') goto yy256; | ||
4415 | 3308 | if (yych <= '~') goto yy249; | ||
4416 | 3309 | goto yy256; | ||
4417 | 3310 | } | ||
4418 | 3311 | } | ||
4419 | 3312 | } | ||
4420 | 3313 | yy254: | 3271 | yy254: |
4421 | 3314 | YYDEBUG(254, *YYCURSOR); | 3272 | YYDEBUG(254, *YYCURSOR); |
4422 | 3315 | yyaccept = 4; | 3273 | yyaccept = 4; |
4423 | @@ -3317,333 +3275,334 @@ | |||
4424 | 3317 | if (yych <= '=') { | 3275 | if (yych <= '=') { |
4425 | 3318 | if (yych <= '"') { | 3276 | if (yych <= '"') { |
4426 | 3319 | if (yych <= '\n') { | 3277 | if (yych <= '\n') { |
4430 | 3320 | if (yych <= 0x00) goto yy249; | 3278 | if (yych <= 0x00) goto yy250; |
4431 | 3321 | if (yych <= 0x08) goto yy256; | 3279 | if (yych <= 0x08) goto yy257; |
4432 | 3322 | goto yy249; | 3280 | goto yy250; |
4433 | 3323 | } else { | 3281 | } else { |
4437 | 3324 | if (yych == '\r') goto yy249; | 3282 | if (yych == '\r') goto yy250; |
4438 | 3325 | if (yych <= 0x1F) goto yy256; | 3283 | if (yych <= 0x1F) goto yy257; |
4439 | 3326 | goto yy249; | 3284 | goto yy250; |
4440 | 3327 | } | 3285 | } |
4441 | 3328 | } else { | 3286 | } else { |
4442 | 3329 | if (yych <= '9') { | 3287 | if (yych <= '9') { |
4447 | 3330 | if (yych <= '%') goto yy256; | 3288 | if (yych <= '%') goto yy257; |
4448 | 3331 | if (yych <= ')') goto yy249; | 3289 | if (yych <= ')') goto yy250; |
4449 | 3332 | if (yych <= '/') goto yy256; | 3290 | if (yych <= '/') goto yy257; |
4450 | 3333 | goto yy257; | 3291 | goto yy258; |
4451 | 3334 | } else { | 3292 | } else { |
4455 | 3335 | if (yych == ';') goto yy249; | 3293 | if (yych == ';') goto yy250; |
4456 | 3336 | if (yych <= '<') goto yy256; | 3294 | if (yych <= '<') goto yy257; |
4457 | 3337 | goto yy249; | 3295 | goto yy250; |
4458 | 3338 | } | 3296 | } |
4459 | 3339 | } | 3297 | } |
4460 | 3340 | } else { | 3298 | } else { |
4461 | 3341 | if (yych <= '`') { | 3299 | if (yych <= '`') { |
4466 | 3342 | if (yych <= 'E') { | 3300 | if (yych <= 'R') { |
4467 | 3343 | if (yych <= '@') goto yy256; | 3301 | if (yych <= '@') goto yy257; |
4468 | 3344 | if (yych <= 'D') goto yy257; | 3302 | if (yych <= 'Q') goto yy258; |
4469 | 3345 | goto yy259; | 3303 | goto yy270; |
4470 | 3346 | } else { | 3304 | } else { |
4474 | 3347 | if (yych <= 'Z') goto yy257; | 3305 | if (yych <= 'Z') goto yy258; |
4475 | 3348 | if (yych == '_') goto yy257; | 3306 | if (yych == '_') goto yy258; |
4476 | 3349 | goto yy256; | 3307 | goto yy257; |
4477 | 3350 | } | 3308 | } |
4478 | 3351 | } else { | 3309 | } else { |
4479 | 3352 | if (yych <= '{') { | 3310 | if (yych <= '{') { |
4483 | 3353 | if (yych == 'e') goto yy259; | 3311 | if (yych == 'r') goto yy270; |
4484 | 3354 | if (yych <= 'z') goto yy257; | 3312 | if (yych <= 'z') goto yy258; |
4485 | 3355 | goto yy256; | 3313 | goto yy257; |
4486 | 3356 | } else { | 3314 | } else { |
4490 | 3357 | if (yych == '}') goto yy256; | 3315 | if (yych == '}') goto yy257; |
4491 | 3358 | if (yych <= '~') goto yy249; | 3316 | if (yych <= '~') goto yy250; |
4492 | 3359 | goto yy256; | 3317 | goto yy257; |
4493 | 3360 | } | 3318 | } |
4494 | 3361 | } | 3319 | } |
4495 | 3362 | } | 3320 | } |
4496 | 3363 | yy255: | 3321 | yy255: |
4497 | 3364 | YYDEBUG(255, *YYCURSOR); | 3322 | YYDEBUG(255, *YYCURSOR); |
4502 | 3365 | yyaccept = 0; | 3323 | yyaccept = 4; |
4503 | 3366 | YYMARKER = ++YYCURSOR; | 3324 | yych = *(YYMARKER = ++YYCURSOR); |
4504 | 3367 | YYFILL(1); | 3325 | if (yych <= '=') { |
4505 | 3368 | yych = *YYCURSOR; | 3326 | if (yych <= '"') { |
4506 | 3327 | if (yych <= '\n') { | ||
4507 | 3328 | if (yych <= 0x00) goto yy250; | ||
4508 | 3329 | if (yych <= 0x08) goto yy257; | ||
4509 | 3330 | goto yy250; | ||
4510 | 3331 | } else { | ||
4511 | 3332 | if (yych == '\r') goto yy250; | ||
4512 | 3333 | if (yych <= 0x1F) goto yy257; | ||
4513 | 3334 | goto yy250; | ||
4514 | 3335 | } | ||
4515 | 3336 | } else { | ||
4516 | 3337 | if (yych <= '9') { | ||
4517 | 3338 | if (yych <= '%') goto yy257; | ||
4518 | 3339 | if (yych <= ')') goto yy250; | ||
4519 | 3340 | if (yych <= '/') goto yy257; | ||
4520 | 3341 | goto yy258; | ||
4521 | 3342 | } else { | ||
4522 | 3343 | if (yych == ';') goto yy250; | ||
4523 | 3344 | if (yych <= '<') goto yy257; | ||
4524 | 3345 | goto yy250; | ||
4525 | 3346 | } | ||
4526 | 3347 | } | ||
4527 | 3348 | } else { | ||
4528 | 3349 | if (yych <= '`') { | ||
4529 | 3350 | if (yych <= 'E') { | ||
4530 | 3351 | if (yych <= '@') goto yy257; | ||
4531 | 3352 | if (yych <= 'D') goto yy258; | ||
4532 | 3353 | goto yy260; | ||
4533 | 3354 | } else { | ||
4534 | 3355 | if (yych <= 'Z') goto yy258; | ||
4535 | 3356 | if (yych == '_') goto yy258; | ||
4536 | 3357 | goto yy257; | ||
4537 | 3358 | } | ||
4538 | 3359 | } else { | ||
4539 | 3360 | if (yych <= '{') { | ||
4540 | 3361 | if (yych == 'e') goto yy260; | ||
4541 | 3362 | if (yych <= 'z') goto yy258; | ||
4542 | 3363 | goto yy257; | ||
4543 | 3364 | } else { | ||
4544 | 3365 | if (yych == '}') goto yy257; | ||
4545 | 3366 | if (yych <= '~') goto yy250; | ||
4546 | 3367 | goto yy257; | ||
4547 | 3368 | } | ||
4548 | 3369 | } | ||
4549 | 3370 | } | ||
4550 | 3369 | yy256: | 3371 | yy256: |
4551 | 3370 | YYDEBUG(256, *YYCURSOR); | 3372 | YYDEBUG(256, *YYCURSOR); |
4557 | 3371 | if (yybm[0+yych] & 2) { | 3373 | yyaccept = 0; |
4558 | 3372 | goto yy255; | 3374 | YYMARKER = ++YYCURSOR; |
4559 | 3373 | } | 3375 | YYFILL(1); |
4560 | 3374 | if (yych == '$') goto yy260; | 3376 | yych = *YYCURSOR; |
4556 | 3375 | goto yy229; | ||
4561 | 3376 | yy257: | 3377 | yy257: |
4562 | 3377 | YYDEBUG(257, *YYCURSOR); | 3378 | YYDEBUG(257, *YYCURSOR); |
4567 | 3378 | yyaccept = 4; | 3379 | if (yybm[0+yych] & 2) { |
4568 | 3379 | YYMARKER = ++YYCURSOR; | 3380 | goto yy256; |
4569 | 3380 | YYFILL(1); | 3381 | } |
4570 | 3381 | yych = *YYCURSOR; | 3382 | if (yych == '$') goto yy261; |
4571 | 3383 | goto yy230; | ||
4572 | 3384 | yy258: | ||
4573 | 3382 | YYDEBUG(258, *YYCURSOR); | 3385 | YYDEBUG(258, *YYCURSOR); |
4616 | 3383 | if (yybm[0+yych] & 4) { | 3386 | yyaccept = 4; |
4617 | 3384 | goto yy257; | 3387 | YYMARKER = ++YYCURSOR; |
4618 | 3385 | } | 3388 | YYFILL(1); |
4619 | 3386 | if (yych <= '%') { | 3389 | yych = *YYCURSOR; |
4578 | 3387 | if (yych <= '\r') { | ||
4579 | 3388 | if (yych <= 0x08) { | ||
4580 | 3389 | if (yych <= 0x00) goto yy249; | ||
4581 | 3390 | goto yy255; | ||
4582 | 3391 | } else { | ||
4583 | 3392 | if (yych <= '\n') goto yy249; | ||
4584 | 3393 | if (yych <= '\f') goto yy255; | ||
4585 | 3394 | goto yy249; | ||
4586 | 3395 | } | ||
4587 | 3396 | } else { | ||
4588 | 3397 | if (yych <= '"') { | ||
4589 | 3398 | if (yych <= 0x1F) goto yy255; | ||
4590 | 3399 | goto yy249; | ||
4591 | 3400 | } else { | ||
4592 | 3401 | if (yych == '$') goto yy260; | ||
4593 | 3402 | goto yy255; | ||
4594 | 3403 | } | ||
4595 | 3404 | } | ||
4596 | 3405 | } else { | ||
4597 | 3406 | if (yych <= '=') { | ||
4598 | 3407 | if (yych <= ':') { | ||
4599 | 3408 | if (yych <= ')') goto yy249; | ||
4600 | 3409 | goto yy255; | ||
4601 | 3410 | } else { | ||
4602 | 3411 | if (yych == '<') goto yy255; | ||
4603 | 3412 | goto yy249; | ||
4604 | 3413 | } | ||
4605 | 3414 | } else { | ||
4606 | 3415 | if (yych <= '|') { | ||
4607 | 3416 | if (yych <= '{') goto yy255; | ||
4608 | 3417 | goto yy249; | ||
4609 | 3418 | } else { | ||
4610 | 3419 | if (yych == '~') goto yy249; | ||
4611 | 3420 | goto yy255; | ||
4612 | 3421 | } | ||
4613 | 3422 | } | ||
4614 | 3423 | } | ||
4615 | 3424 | yy259: | ||
4620 | 3425 | YYDEBUG(259, *YYCURSOR); | 3390 | YYDEBUG(259, *YYCURSOR); |
4629 | 3426 | yyaccept = 4; | 3391 | if (yybm[0+yych] & 4) { |
4630 | 3427 | yych = *(YYMARKER = ++YYCURSOR); | 3392 | goto yy258; |
4631 | 3428 | if (yych <= '=') { | 3393 | } |
4632 | 3429 | if (yych <= '"') { | 3394 | if (yych <= '%') { |
4633 | 3430 | if (yych <= '\n') { | 3395 | if (yych <= '\r') { |
4634 | 3431 | if (yych <= 0x00) goto yy249; | 3396 | if (yych <= 0x08) { |
4635 | 3432 | if (yych <= 0x08) goto yy256; | 3397 | if (yych <= 0x00) goto yy250; |
4636 | 3433 | goto yy249; | 3398 | goto yy256; |
4637 | 3434 | } else { | 3399 | } else { |
4639 | 3435 | if (yych == '\r') goto yy249; | 3400 | if (yych <= '\n') goto yy250; |
4640 | 3401 | if (yych <= '\f') goto yy256; | ||
4641 | 3402 | goto yy250; | ||
4642 | 3403 | } | ||
4643 | 3404 | } else { | ||
4644 | 3405 | if (yych <= '"') { | ||
4645 | 3436 | if (yych <= 0x1F) goto yy256; | 3406 | if (yych <= 0x1F) goto yy256; |
4654 | 3437 | goto yy249; | 3407 | goto yy250; |
4647 | 3438 | } | ||
4648 | 3439 | } else { | ||
4649 | 3440 | if (yych <= '9') { | ||
4650 | 3441 | if (yych <= '%') goto yy256; | ||
4651 | 3442 | if (yych <= ')') goto yy249; | ||
4652 | 3443 | if (yych <= '/') goto yy256; | ||
4653 | 3444 | goto yy257; | ||
4655 | 3445 | } else { | 3408 | } else { |
4659 | 3446 | if (yych == ';') goto yy249; | 3409 | if (yych == '$') goto yy261; |
4660 | 3447 | if (yych <= '<') goto yy256; | 3410 | goto yy256; |
4658 | 3448 | goto yy249; | ||
4661 | 3449 | } | 3411 | } |
4662 | 3450 | } | 3412 | } |
4663 | 3451 | } else { | 3413 | } else { |
4669 | 3452 | if (yych <= '`') { | 3414 | if (yych <= '=') { |
4670 | 3453 | if (yych <= 'S') { | 3415 | if (yych <= ':') { |
4671 | 3454 | if (yych <= '@') goto yy256; | 3416 | if (yych <= ')') goto yy250; |
4672 | 3455 | if (yych <= 'R') goto yy257; | 3417 | goto yy256; |
4668 | 3456 | goto yy265; | ||
4673 | 3457 | } else { | 3418 | } else { |
4677 | 3458 | if (yych <= 'Z') goto yy257; | 3419 | if (yych == '<') goto yy256; |
4678 | 3459 | if (yych == '_') goto yy257; | 3420 | goto yy250; |
4676 | 3460 | goto yy256; | ||
4679 | 3461 | } | 3421 | } |
4680 | 3462 | } else { | 3422 | } else { |
4685 | 3463 | if (yych <= '{') { | 3423 | if (yych <= '|') { |
4686 | 3464 | if (yych == 's') goto yy265; | 3424 | if (yych <= '{') goto yy256; |
4687 | 3465 | if (yych <= 'z') goto yy257; | 3425 | goto yy250; |
4684 | 3466 | goto yy256; | ||
4688 | 3467 | } else { | 3426 | } else { |
4691 | 3468 | if (yych == '}') goto yy256; | 3427 | if (yych == '~') goto yy250; |
4690 | 3469 | if (yych <= '~') goto yy249; | ||
4692 | 3470 | goto yy256; | 3428 | goto yy256; |
4693 | 3471 | } | 3429 | } |
4694 | 3472 | } | 3430 | } |
4695 | 3473 | } | 3431 | } |
4696 | 3474 | yy260: | 3432 | yy260: |
4697 | 3475 | YYDEBUG(260, *YYCURSOR); | 3433 | YYDEBUG(260, *YYCURSOR); |
4705 | 3476 | ++YYCURSOR; | 3434 | yyaccept = 4; |
4706 | 3477 | YYFILL(1); | 3435 | yych = *(YYMARKER = ++YYCURSOR); |
4707 | 3478 | yych = *YYCURSOR; | 3436 | if (yych <= '=') { |
4708 | 3479 | if (yych <= '\\') { | 3437 | if (yych <= '"') { |
4709 | 3480 | if (yych <= 0x00) goto yy261; | 3438 | if (yych <= '\n') { |
4710 | 3481 | if (yych <= '[') goto yy255; | 3439 | if (yych <= 0x00) goto yy250; |
4711 | 3482 | goto yy262; | 3440 | if (yych <= 0x08) goto yy257; |
4712 | 3441 | goto yy250; | ||
4713 | 3442 | } else { | ||
4714 | 3443 | if (yych == '\r') goto yy250; | ||
4715 | 3444 | if (yych <= 0x1F) goto yy257; | ||
4716 | 3445 | goto yy250; | ||
4717 | 3446 | } | ||
4718 | 3447 | } else { | ||
4719 | 3448 | if (yych <= '9') { | ||
4720 | 3449 | if (yych <= '%') goto yy257; | ||
4721 | 3450 | if (yych <= ')') goto yy250; | ||
4722 | 3451 | if (yych <= '/') goto yy257; | ||
4723 | 3452 | goto yy258; | ||
4724 | 3453 | } else { | ||
4725 | 3454 | if (yych == ';') goto yy250; | ||
4726 | 3455 | if (yych <= '<') goto yy257; | ||
4727 | 3456 | goto yy250; | ||
4728 | 3457 | } | ||
4729 | 3458 | } | ||
4730 | 3483 | } else { | 3459 | } else { |
4732 | 3484 | if (yych != '{') goto yy255; | 3460 | if (yych <= '`') { |
4733 | 3461 | if (yych <= 'S') { | ||
4734 | 3462 | if (yych <= '@') goto yy257; | ||
4735 | 3463 | if (yych <= 'R') goto yy258; | ||
4736 | 3464 | goto yy266; | ||
4737 | 3465 | } else { | ||
4738 | 3466 | if (yych <= 'Z') goto yy258; | ||
4739 | 3467 | if (yych == '_') goto yy258; | ||
4740 | 3468 | goto yy257; | ||
4741 | 3469 | } | ||
4742 | 3470 | } else { | ||
4743 | 3471 | if (yych <= '{') { | ||
4744 | 3472 | if (yych == 's') goto yy266; | ||
4745 | 3473 | if (yych <= 'z') goto yy258; | ||
4746 | 3474 | goto yy257; | ||
4747 | 3475 | } else { | ||
4748 | 3476 | if (yych == '}') goto yy257; | ||
4749 | 3477 | if (yych <= '~') goto yy250; | ||
4750 | 3478 | goto yy257; | ||
4751 | 3479 | } | ||
4752 | 3480 | } | ||
4753 | 3485 | } | 3481 | } |
4754 | 3486 | yy261: | 3482 | yy261: |
4755 | 3487 | YYDEBUG(261, *YYCURSOR); | 3483 | YYDEBUG(261, *YYCURSOR); |
4756 | 3484 | ++YYCURSOR; | ||
4757 | 3485 | YYFILL(1); | ||
4758 | 3486 | yych = *YYCURSOR; | ||
4759 | 3487 | if (yych <= '\\') { | ||
4760 | 3488 | if (yych <= 0x00) goto yy262; | ||
4761 | 3489 | if (yych <= '[') goto yy256; | ||
4762 | 3490 | goto yy263; | ||
4763 | 3491 | } else { | ||
4764 | 3492 | if (yych != '{') goto yy256; | ||
4765 | 3493 | } | ||
4766 | 3494 | yy262: | ||
4767 | 3495 | YYDEBUG(262, *YYCURSOR); | ||
4768 | 3488 | YYCURSOR = YYMARKER; | 3496 | YYCURSOR = YYMARKER; |
4769 | 3489 | if (yyaccept <= 3) { | 3497 | if (yyaccept <= 3) { |
4770 | 3490 | if (yyaccept <= 1) { | 3498 | if (yyaccept <= 1) { |
4771 | 3491 | if (yyaccept <= 0) { | 3499 | if (yyaccept <= 0) { |
4773 | 3492 | goto yy229; | 3500 | goto yy230; |
4774 | 3493 | } else { | 3501 | } else { |
4776 | 3494 | goto yy231; | 3502 | goto yy232; |
4777 | 3495 | } | 3503 | } |
4778 | 3496 | } else { | 3504 | } else { |
4779 | 3497 | if (yyaccept <= 2) { | 3505 | if (yyaccept <= 2) { |
4781 | 3498 | goto yy227; | 3506 | goto yy228; |
4782 | 3499 | } else { | 3507 | } else { |
4784 | 3500 | goto yy244; | 3508 | goto yy245; |
4785 | 3501 | } | 3509 | } |
4786 | 3502 | } | 3510 | } |
4787 | 3503 | } else { | 3511 | } else { |
4788 | 3504 | if (yyaccept <= 5) { | 3512 | if (yyaccept <= 5) { |
4789 | 3505 | if (yyaccept <= 4) { | 3513 | if (yyaccept <= 4) { |
4791 | 3506 | goto yy249; | 3514 | goto yy250; |
4792 | 3507 | } else { | 3515 | } else { |
4794 | 3508 | goto yy266; | 3516 | goto yy267; |
4795 | 3509 | } | 3517 | } |
4796 | 3510 | } else { | 3518 | } else { |
4798 | 3511 | goto yy273; | 3519 | goto yy274; |
4799 | 3512 | } | 3520 | } |
4800 | 3513 | } | 3521 | } |
4801 | 3514 | yy262: | ||
4802 | 3515 | YYDEBUG(262, *YYCURSOR); | ||
4803 | 3516 | ++YYCURSOR; | ||
4804 | 3517 | YYFILL(1); | ||
4805 | 3518 | yych = *YYCURSOR; | ||
4806 | 3519 | if (yybm[0+yych] & 8) { | ||
4807 | 3520 | goto yy263; | ||
4808 | 3521 | } | ||
4809 | 3522 | goto yy255; | ||
4810 | 3523 | yy263: | 3522 | yy263: |
4811 | 3524 | YYDEBUG(263, *YYCURSOR); | 3523 | YYDEBUG(263, *YYCURSOR); |
4812 | 3525 | ++YYCURSOR; | 3524 | ++YYCURSOR; |
4813 | 3526 | YYFILL(1); | 3525 | YYFILL(1); |
4814 | 3527 | yych = *YYCURSOR; | 3526 | yych = *YYCURSOR; |
4815 | 3527 | if (yybm[0+yych] & 8) { | ||
4816 | 3528 | goto yy264; | ||
4817 | 3529 | } | ||
4818 | 3530 | goto yy256; | ||
4819 | 3531 | yy264: | ||
4820 | 3528 | YYDEBUG(264, *YYCURSOR); | 3532 | YYDEBUG(264, *YYCURSOR); |
4828 | 3529 | if (yybm[0+yych] & 8) { | 3533 | ++YYCURSOR; |
4829 | 3530 | goto yy263; | 3534 | YYFILL(1); |
4830 | 3531 | } | 3535 | yych = *YYCURSOR; |
4824 | 3532 | if (yych <= 0x00) goto yy229; | ||
4825 | 3533 | if (yych == '\\') goto yy262; | ||
4826 | 3534 | goto yy255; | ||
4827 | 3535 | yy265: | ||
4831 | 3536 | YYDEBUG(265, *YYCURSOR); | 3536 | YYDEBUG(265, *YYCURSOR); |
4832 | 3537 | if (yybm[0+yych] & 8) { | ||
4833 | 3538 | goto yy264; | ||
4834 | 3539 | } | ||
4835 | 3540 | if (yych <= 0x00) goto yy230; | ||
4836 | 3541 | if (yych == '\\') goto yy263; | ||
4837 | 3542 | goto yy256; | ||
4838 | 3543 | yy266: | ||
4839 | 3544 | YYDEBUG(266, *YYCURSOR); | ||
4840 | 3537 | yyaccept = 5; | 3545 | yyaccept = 5; |
4841 | 3538 | yych = *(YYMARKER = ++YYCURSOR); | 3546 | yych = *(YYMARKER = ++YYCURSOR); |
4842 | 3539 | if (yybm[0+yych] & 16) { | 3547 | if (yybm[0+yych] & 16) { |
4844 | 3540 | goto yy267; | 3548 | goto yy268; |
4845 | 3541 | } | 3549 | } |
4846 | 3542 | if (yych <= ';') { | 3550 | if (yych <= ';') { |
4847 | 3543 | if (yych <= ' ') { | 3551 | if (yych <= ' ') { |
4848 | 3544 | if (yych <= '\n') { | 3552 | if (yych <= '\n') { |
4851 | 3545 | if (yych <= 0x00) goto yy266; | 3553 | if (yych <= 0x00) goto yy267; |
4852 | 3546 | if (yych <= '\t') goto yy256; | 3554 | if (yych <= '\t') goto yy257; |
4853 | 3547 | } else { | 3555 | } else { |
4855 | 3548 | if (yych != '\r') goto yy256; | 3556 | if (yych != '\r') goto yy257; |
4856 | 3549 | } | 3557 | } |
4857 | 3550 | } else { | 3558 | } else { |
4858 | 3551 | if (yych <= ')') { | 3559 | if (yych <= ')') { |
4861 | 3552 | if (yych <= '"') goto yy266; | 3560 | if (yych <= '"') goto yy267; |
4862 | 3553 | if (yych <= '%') goto yy256; | 3561 | if (yych <= '%') goto yy257; |
4863 | 3554 | } else { | 3562 | } else { |
4867 | 3555 | if (yych <= '/') goto yy256; | 3563 | if (yych <= '/') goto yy257; |
4868 | 3556 | if (yych <= '9') goto yy257; | 3564 | if (yych <= '9') goto yy258; |
4869 | 3557 | if (yych <= ':') goto yy256; | 3565 | if (yych <= ':') goto yy257; |
4870 | 3558 | } | 3566 | } |
4871 | 3559 | } | 3567 | } |
4872 | 3560 | } else { | 3568 | } else { |
4873 | 3561 | if (yych <= '_') { | 3569 | if (yych <= '_') { |
4874 | 3562 | if (yych <= '@') { | 3570 | if (yych <= '@') { |
4876 | 3563 | if (yych != '=') goto yy256; | 3571 | if (yych != '=') goto yy257; |
4877 | 3564 | } else { | 3572 | } else { |
4881 | 3565 | if (yych <= 'Z') goto yy257; | 3573 | if (yych <= 'Z') goto yy258; |
4882 | 3566 | if (yych <= '^') goto yy256; | 3574 | if (yych <= '^') goto yy257; |
4883 | 3567 | goto yy257; | 3575 | goto yy258; |
4884 | 3568 | } | 3576 | } |
4885 | 3569 | } else { | 3577 | } else { |
4886 | 3570 | if (yych <= '{') { | 3578 | if (yych <= '{') { |
4890 | 3571 | if (yych <= '`') goto yy256; | 3579 | if (yych <= '`') goto yy257; |
4891 | 3572 | if (yych <= 'z') goto yy257; | 3580 | if (yych <= 'z') goto yy258; |
4892 | 3573 | goto yy256; | 3581 | goto yy257; |
4893 | 3574 | } else { | 3582 | } else { |
4896 | 3575 | if (yych == '}') goto yy256; | 3583 | if (yych == '}') goto yy257; |
4897 | 3576 | if (yych >= 0x7F) goto yy256; | 3584 | if (yych >= 0x7F) goto yy257; |
4898 | 3577 | } | 3585 | } |
4899 | 3578 | } | 3586 | } |
4900 | 3579 | } | 3587 | } |
4901 | 3580 | yy266: | ||
4902 | 3581 | YYDEBUG(266, *YYCURSOR); | ||
4903 | 3582 | yyleng = YYCURSOR - SCNG(yy_text); | ||
4904 | 3583 | #line 418 "Zend/zend_ini_scanner.l" | ||
4905 | 3584 | { /* TRUE value (when used outside option value/offset this causes parse error!) */ | ||
4906 | 3585 | RETURN_TOKEN(BOOL_TRUE, "1", 1); | ||
4907 | 3586 | } | ||
4908 | 3587 | #line 3588 "Zend/zend_ini_scanner.c" | ||
4909 | 3588 | yy267: | 3588 | yy267: |
4910 | 3589 | YYDEBUG(267, *YYCURSOR); | 3589 | YYDEBUG(267, *YYCURSOR); |
4914 | 3590 | ++YYCURSOR; | 3590 | yyleng = YYCURSOR - SCNG(yy_text); |
4915 | 3591 | YYFILL(1); | 3591 | #line 418 "Zend/zend_ini_scanner.l" |
4916 | 3592 | yych = *YYCURSOR; | 3592 | { /* TRUE value (when used outside option value/offset this causes parse error!) */ |
4917 | 3593 | RETURN_TOKEN(BOOL_TRUE, "1", 1); | ||
4918 | 3594 | } | ||
4919 | 3595 | #line 3596 "Zend/zend_ini_scanner.c" | ||
4920 | 3596 | yy268: | ||
4921 | 3593 | YYDEBUG(268, *YYCURSOR); | 3597 | YYDEBUG(268, *YYCURSOR); |
4927 | 3594 | if (yybm[0+yych] & 16) { | 3598 | ++YYCURSOR; |
4928 | 3595 | goto yy267; | 3599 | YYFILL(1); |
4929 | 3596 | } | 3600 | yych = *YYCURSOR; |
4925 | 3597 | goto yy266; | ||
4926 | 3598 | yy269: | ||
4930 | 3599 | YYDEBUG(269, *YYCURSOR); | 3601 | YYDEBUG(269, *YYCURSOR); |
4977 | 3600 | yyaccept = 4; | 3602 | if (yybm[0+yych] & 16) { |
4978 | 3601 | yych = *(YYMARKER = ++YYCURSOR); | 3603 | goto yy268; |
4933 | 3602 | if (yych <= '=') { | ||
4934 | 3603 | if (yych <= '"') { | ||
4935 | 3604 | if (yych <= '\n') { | ||
4936 | 3605 | if (yych <= 0x00) goto yy249; | ||
4937 | 3606 | if (yych <= 0x08) goto yy256; | ||
4938 | 3607 | goto yy249; | ||
4939 | 3608 | } else { | ||
4940 | 3609 | if (yych == '\r') goto yy249; | ||
4941 | 3610 | if (yych <= 0x1F) goto yy256; | ||
4942 | 3611 | goto yy249; | ||
4943 | 3612 | } | ||
4944 | 3613 | } else { | ||
4945 | 3614 | if (yych <= '9') { | ||
4946 | 3615 | if (yych <= '%') goto yy256; | ||
4947 | 3616 | if (yych <= ')') goto yy249; | ||
4948 | 3617 | if (yych <= '/') goto yy256; | ||
4949 | 3618 | goto yy257; | ||
4950 | 3619 | } else { | ||
4951 | 3620 | if (yych == ';') goto yy249; | ||
4952 | 3621 | if (yych <= '<') goto yy256; | ||
4953 | 3622 | goto yy249; | ||
4954 | 3623 | } | ||
4955 | 3624 | } | ||
4956 | 3625 | } else { | ||
4957 | 3626 | if (yych <= '`') { | ||
4958 | 3627 | if (yych <= 'U') { | ||
4959 | 3628 | if (yych <= '@') goto yy256; | ||
4960 | 3629 | if (yych <= 'T') goto yy257; | ||
4961 | 3630 | } else { | ||
4962 | 3631 | if (yych <= 'Z') goto yy257; | ||
4963 | 3632 | if (yych == '_') goto yy257; | ||
4964 | 3633 | goto yy256; | ||
4965 | 3634 | } | ||
4966 | 3635 | } else { | ||
4967 | 3636 | if (yych <= '{') { | ||
4968 | 3637 | if (yych == 'u') goto yy270; | ||
4969 | 3638 | if (yych <= 'z') goto yy257; | ||
4970 | 3639 | goto yy256; | ||
4971 | 3640 | } else { | ||
4972 | 3641 | if (yych == '}') goto yy256; | ||
4973 | 3642 | if (yych <= '~') goto yy249; | ||
4974 | 3643 | goto yy256; | ||
4975 | 3644 | } | ||
4976 | 3645 | } | ||
4979 | 3646 | } | 3604 | } |
4980 | 3605 | goto yy267; | ||
4981 | 3647 | yy270: | 3606 | yy270: |
4982 | 3648 | YYDEBUG(270, *YYCURSOR); | 3607 | YYDEBUG(270, *YYCURSOR); |
4983 | 3649 | yyaccept = 4; | 3608 | yyaccept = 4; |
4984 | @@ -3651,46 +3610,45 @@ | |||
4985 | 3651 | if (yych <= '=') { | 3610 | if (yych <= '=') { |
4986 | 3652 | if (yych <= '"') { | 3611 | if (yych <= '"') { |
4987 | 3653 | if (yych <= '\n') { | 3612 | if (yych <= '\n') { |
4991 | 3654 | if (yych <= 0x00) goto yy249; | 3613 | if (yych <= 0x00) goto yy250; |
4992 | 3655 | if (yych <= 0x08) goto yy256; | 3614 | if (yych <= 0x08) goto yy257; |
4993 | 3656 | goto yy249; | 3615 | goto yy250; |
4994 | 3657 | } else { | 3616 | } else { |
4998 | 3658 | if (yych == '\r') goto yy249; | 3617 | if (yych == '\r') goto yy250; |
4999 | 3659 | if (yych <= 0x1F) goto yy256; | 3618 | if (yych <= 0x1F) goto yy257; |
5000 | 3660 | goto yy249; | 3619 | goto yy250; |
The diff has been truncated for viewing.
Thank you for your time and efforts making Ubuntu better! However, we have php5 already merged from Debian.