Version in base suite: 8.4.24-1~deb13u1 Base version: php8.4_8.4.24-1~deb13u1 Target version: php8.4_8.4.26-1~deb13u1 Base file: /srv/ftp-master.debian.org/ftp/pool/main/p/php8.4/php8.4_8.4.24-1~deb13u1.dsc Target file: /srv/ftp-master.debian.org/policy/pool/main/p/php8.4/php8.4_8.4.26-1~deb13u1.dsc .github/CODEOWNERS | 2 .github/matrix.php | 4 .github/scripts/windows/test_task.bat | 5 .github/workflows/test-suite.yml | 12 NEWS | 285 TSRM/TSRM.h | 3 Zend/tests/generators/backtrace_multi_yield_from.phpt | 4 Zend/tests/generators/gh15375.phpt | 89 Zend/tests/generators/gh23301.phpt | 44 Zend/tests/gh18572.phpt | 2 Zend/tests/gh23088.phpt | 40 Zend/tests/gh23232.phpt | 27 Zend/tests/lazy_objects/isLazy_overridden_hooked_prop.phpt | 48 Zend/tests/lazy_objects/skipLazyInitialization_overridden_hooked_prop.phpt | 36 Zend/tests/multibyte/multibyte_encoding_008.phpt | 20 Zend/zend.c | 13 Zend/zend.h | 2 Zend/zend_exceptions.c | 7 Zend/zend_execute_API.c | 4 Zend/zend_generators.c | 26 Zend/zend_hash.c | 7 Zend/zend_language_scanner.c | 17 Zend/zend_language_scanner.l | 17 Zend/zend_virtual_cwd.c | 13 configure |10039 +++++----- configure.ac | 2 debian/changelog | 28 debian/patches/0001-libtool_fixes.patch | 2 debian/patches/0002-debian_quirks.patch | 2 debian/patches/0004-extension_api.patch | 2 debian/patches/0006-Add-support-for-use-of-the-system-timezone-database.patch | 2 debian/patches/0009-session_save_path.patch | 4 debian/patches/0012-php-fpm-sysconfdir.patch | 2 debian/patches/0013-lp564920-fix-big-files.patch | 4 debian/patches/0016-php-5.3.3-macropen.patch | 4 debian/patches/0020-Use-system-timezone.patch | 4 debian/patches/0023-php-5.4.9-fixheader.patch | 2 debian/patches/0025-php-5.6.0-oldpcre.patch | 2 debian/patches/0028-Really-expand-libdir-datadir-into-EXPANDED_LIBDIR-DA.patch | 2 debian/patches/0037-Lower-the-OpenSSL-requirement-to-1.0.1.patch | 12 debian/patches/0038-Override-result-of-AC_PROG_LN_S-to-fix-FTBFS-on-ppc6.patch | 2 debian/patches/0041-Remove-timestamps-from-phar.patch | 8 debian/patches/0046-Add-enable-rtld-deepbind-configure-flag.patch | 4 ext/bcmath/libbcmath/src/zero.c | 4 ext/bcmath/tests/bc_is_zero_for_scale_clamp.phpt | 12 ext/bz2/tests/gh20807.phpt | 6 ext/curl/interface.c | 3 ext/curl/tests/curl_setopt_CURLOPT_PREREQFUNCTION.phpt | 2 ext/date/php_date.c | 20 ext/date/tests/DatePeriod_double_constructor_call.phpt | 14 ext/dom/element.c | 19 ext/dom/namednodemap.c | 6 ext/dom/node.c | 29 ext/dom/php_dom.c | 42 ext/dom/tests/DOMDocument_relaxNGValidate_error2.phpt | 2 ext/dom/tests/dom_namespacenode_clone_xinclude.phpt | 44 ext/dom/tests/gh22447.phpt | 25 ext/dom/tests/gh22825.phpt | 98 ext/dom/tests/gh23116.phpt | 50 ext/dom/tests/gh23120.phpt | 42 ext/dom/tests/gh23331.phpt | 37 ext/dom/tests/gh23331_2.phpt | 34 ext/dom/tests/gh23331_3.phpt | 41 ext/dom/tests/modern/common/Element_setAttributeNS_live_child.phpt | 37 ext/dom/tests/modern/html/serializer/HTMLDocument_serialize_ns_imported_02.phpt | 6 ext/dom/tests/modern/html/serializer/HTMLDocument_serialize_ns_imported_03.phpt | 2 ext/dom/tests/modern/html/serializer/HTMLDocument_serialize_ns_imported_04.phpt | 2 ext/dom/tests/modern/html/serializer/HTMLDocument_serialize_ns_imported_05.phpt | 6 ext/dom/tests/modern/html/serializer/HTMLDocument_serialize_ns_imported_06.phpt | 6 ext/dom/tests/modern/html/serializer/sample.xml | 2 ext/dom/tests/modern/spec/NamedNodeMap_getNamedItemNS.phpt | 25 ext/dom/tests/modern/spec/NamedNodeMap_getNamedItemNS_dtd_default.phpt | 24 ext/dom/tests/modern/spec/gh23117.phpt | 41 ext/filter/filter.c | 9 ext/filter/sanitizing_filters.c | 2 ext/filter/tests/filter_default_parse_str.phpt | 19 ext/filter/tests/filter_sanitize_encoded_0xff.phpt | 12 ext/ftp/php_ftp.c | 17 ext/ftp/tests/cert.pem | 91 ext/ftp/tests/gh20601_set_option.phpt | 26 ext/ftp/tests/gh20601_ssl.phpt | 21 ext/ftp/tests/server.inc | 2 ext/gd/gd.c | 32 ext/gd/tests/bug67248.phpt | 4 ext/gd/tests/gh23457.phpt | 37 ext/gd/tests/imageaffinematrixconcat_error.phpt | 14 ext/gettext/tests/bug53251.phpt | 12 ext/gettext/tests/gettext_bind_textdomain_codeset-retval.phpt | 3 ext/hash/hash.c | 5 ext/hash/php_hash.h | 2 ext/hash/tests/hash_pbkdf2_large_length.phpt | 19 ext/hash/tests/hash_pbkdf2_max_length.phpt | 17 ext/hash/tests/hash_pbkdf2_max_length_raw.phpt | 17 ext/intl/breakiterator/breakiterator_class.cpp | 8 ext/intl/breakiterator/breakiterator_class.h | 2 ext/intl/breakiterator/breakiterator_iterators.cpp | 2 ext/intl/breakiterator/rulebasedbreakiterator_methods.cpp | 12 ext/intl/calendar/calendar_class.cpp | 2 ext/intl/calendar/gregoriancalendar_methods.cpp | 1 ext/intl/common/common_enum.cpp | 3 ext/intl/formatter/formatter_parse.c | 46 ext/intl/grapheme/grapheme_string.c | 4 ext/intl/grapheme/grapheme_util.c | 6 ext/intl/locale/locale_methods.c | 3 ext/intl/tests/breakiter_parts_iterator_current_leak.phpt | 31 ext/intl/tests/calendar_get_debug_info_tz_leak.phpt | 26 ext/intl/tests/gh23094.phpt | 47 ext/intl/tests/grapheme_empty_offset_multibyte.phpt | 36 ext/intl/tests/locale_get_keywords_failure.phpt | 18 ext/intl/tests/locale_parse_trailing_separator.phpt | 45 ext/intl/tests/rbbiter_compiled_rules_lifetime.phpt | 77 ext/json/json_encoder.c | 1 ext/json/tests/json_encode_hooked_property_throwing_getter.phpt | 44 ext/libxml/config.w32 | 10 ext/libxml/php_libxml2.def | 318 ext/libxml/php_libxml2_legacy.def | 1514 + ext/mbstring/mbstring.c | 2 ext/mbstring/php_mbregex.c | 9 ext/mbstring/tests/gh21036.phpt | 21 ext/mbstring/tests/gh22779.phpt | 34 ext/mbstring/tests/mb_ereg_replace_kname_unterminated_nul.phpt | 18 ext/mysqli/tests/fake_server.inc | 633 ext/mysqli/tests/ghsa-r6x9-5r99-36j7-auth-packet-affected-rows-2-bytes.phpt | 32 ext/mysqli/tests/ghsa-r6x9-5r99-36j7-auth-packet-affected-rows-8-bytes.phpt | 32 ext/mysqli/tests/ghsa-r6x9-5r99-36j7-auth-packet-affected-rows-null-length.phpt | 32 ext/mysqli/tests/ghsa-r6x9-5r99-36j7-auth-packet-affected-rows.phpt | 37 ext/mysqli/tests/ghsa-r6x9-5r99-36j7-auth-packet-last-insert-id-no-space.phpt | 37 ext/mysqli/tests/ghsa-r6x9-5r99-36j7-auth-packet-last-insert-id.phpt | 37 ext/mysqli/tests/ghsa-r6x9-5r99-36j7-auth-packet-warning-count.phpt | 37 ext/mysqli/tests/ghsa-r6x9-5r99-36j7-auth-switch-unterminated.phpt | 37 ext/mysqli/tests/ghsa-r6x9-5r99-36j7-cached-sha2-empty.phpt | 45 ext/mysqli/tests/ghsa-r6x9-5r99-36j7-cached-sha2-fast-auth.phpt | 41 ext/mysqli/tests/ghsa-r6x9-5r99-36j7-cached-sha2-len.phpt | 45 ext/mysqli/tests/ghsa-r6x9-5r99-36j7-cached-sha2-switch-unterminated.phpt | 40 ext/mysqli/tests/ghsa-r6x9-5r99-36j7-chg-user-empty.phpt | 43 ext/mysqli/tests/ghsa-r6x9-5r99-36j7-chg-user-len.phpt | 43 ext/mysqli/tests/ghsa-r6x9-5r99-36j7-chg-user-switch-unterminated.phpt | 43 ext/mysqli/tests/ghsa-r6x9-5r99-36j7-eof-warning-count.phpt | 44 ext/mysqli/tests/ghsa-r6x9-5r99-36j7-greet-packet-string.phpt | 37 ext/mysqli/tests/ghsa-r6x9-5r99-36j7-greet-packet.phpt | 37 ext/mysqli/tests/ghsa-r6x9-5r99-36j7-greet-scramble-len.phpt | 37 ext/mysqli/tests/ghsa-r6x9-5r99-36j7-ok-packet-affected-rows.phpt | 42 ext/mysqli/tests/ghsa-r6x9-5r99-36j7-ok-packet-last-insert-id.phpt | 42 ext/mysqli/tests/ghsa-r6x9-5r99-36j7-ok-packet-message-len.phpt | 42 ext/mysqli/tests/ghsa-r6x9-5r99-36j7-ok-packet-warning-count.phpt | 42 ext/mysqli/tests/ghsa-r6x9-5r99-36j7-query-row-eof-short.phpt | 47 ext/mysqli/tests/ghsa-r6x9-5r99-36j7-query-row-field-len-2-bytes.phpt | 49 ext/mysqli/tests/ghsa-r6x9-5r99-36j7-query-row-field-len.phpt | 47 ext/mysqli/tests/ghsa-r6x9-5r99-36j7-query-row-field-null.phpt | 49 ext/mysqli/tests/ghsa-r6x9-5r99-36j7-rset-header-field-len.phpt | 50 ext/mysqli/tests/ghsa-r6x9-5r99-36j7-rset-header-upsert-affected-rows.phpt | 50 ext/mysqli/tests/ghsa-r6x9-5r99-36j7-rset-header-upsert-len.phpt | 48 ext/mysqli/tests/ghsa-r6x9-5r99-36j7-sha256-pk-empty.phpt | 47 ext/mysqli/tests/ghsa-r6x9-5r99-36j7-sha256-pk-len.phpt | 47 ext/mysqli/tests/ghsa-r6x9-5r99-36j7-stmt-response-field-len-faulty.phpt | 38 ext/mysqli/tests/ghsa-r6x9-5r99-36j7-stmt-response-field-len-premature.phpt | 42 ext/mysqli/tests/ghsa-r6x9-5r99-36j7-stmt-response-row-status.phpt | 40 ext/mysqli/tests/ghsa-r6x9-5r99-36j7-stmt-row-short-length-date.phpt | 45 ext/mysqli/tests/ghsa-r6x9-5r99-36j7-stmt-row-short-length-datetime.phpt | 45 ext/mysqli/tests/ghsa-r6x9-5r99-36j7-stmt-row-short-length-time.phpt | 45 ext/mysqlnd/mysqlnd_ps.c | 3 ext/mysqlnd/mysqlnd_ps_codec.c | 48 ext/mysqlnd/mysqlnd_wireprotocol.c | 388 ext/mysqlnd/mysqlnd_wireprotocol.h | 12 ext/odbc/php_odbc.c | 48 ext/odbc/tests/gh_odbc_dsn_immutability.phpt | 20 ext/odbc/tests/odbc_utils.phpt | 14 ext/opcache/ZendAccelerator.c | 4 ext/opcache/ZendAccelerator.h | 3 ext/opcache/jit/zend_jit.c | 31 ext/opcache/jit/zend_jit_ir.c | 81 ext/opcache/jit/zend_jit_trace.c | 7 ext/opcache/shared_alloc_mmap.c | 4 ext/opcache/shared_alloc_posix.c | 3 ext/opcache/tests/jit/gh21710.inc | 15 ext/opcache/tests/jit/gh21710.phpt | 50 ext/opcache/tests/jit/gh22857.phpt | 125 ext/opcache/tests/jit/gh22857_002.phpt | 47 ext/opcache/tests/jit/gh22915.phpt | 75 ext/opcache/zend_accelerator_module.c | 9 ext/opcache/zend_shared_alloc.c | 54 ext/openssl/tests/GHSA-xr7j-rvgx-xq5p.phpt | 67 ext/openssl/tests/alpn_protocols_invalid.phpt | 49 ext/openssl/tests/san_absent_cn_fallback.phpt | 61 ext/openssl/tests/san_no_cn_fallback.phpt | 64 ext/openssl/tests/san_peer_matching.phpt | 2 ext/openssl/tests/san_srv_no_cn_fallback.phpt | 57 ext/openssl/tests/san_uri_no_cn_fallback.phpt | 57 ext/openssl/xp_ssl.c | 41 ext/pcre/php_pcre.c | 11 ext/pcre/tests/gh21134.phpt | 15 ext/pdo/pdo_dbh.c | 9 ext/pdo/pdo_stmt.c | 8 ext/pdo_mysql/tests/persistent_liveness_evict.phpt | 42 ext/pdo_odbc/odbc_stmt.c | 93 ext/pdo_odbc/php_pdo_odbc_int.h | 8 ext/pdo_odbc/tests/bound_param_rebind.phpt | 28 ext/pdo_odbc/tests/gh23444.phpt | 34 ext/pdo_odbc/tests/output_param_leak.phpt | 29 ext/pdo_pgsql/config.m4 | 6 ext/pdo_pgsql/config.w32 | 4 ext/pdo_pgsql/pgsql_statement.c | 74 ext/pdo_pgsql/php_pdo_pgsql_int.h | 1 ext/pdo_pgsql/tests/cursor_scroll_close_failed_before_redeclare.phpt | 44 ext/pdo_pgsql/tests/cursor_scroll_discard_all.phpt | 37 ext/pdo_pgsql/tests/cursor_scroll_failed_redeclare.phpt | 37 ext/pdo_pgsql/tests/cursor_scroll_reexecute_after_rollback.phpt | 40 ext/pdo_pgsql/tests/cursor_scroll_rollback_destroyed.phpt | 34 ext/pdo_pgsql/tests/cursor_scroll_without_declare.phpt | 29 ext/phar/phar.c | 5 ext/phar/phar_internal.h | 5 ext/phar/tar.c | 80 ext/phar/tests/gh23418.phpt | 32 ext/phar/tests/gh23477.phpt | 39 ext/phar/tests/tar/GHSA-j3wh-g957-2m85-longlink.phpt | 50 ext/phar/tests/tar/GHSA-j3wh-g957-2m85-size.phpt | 92 ext/phar/tests/tar/GHSA-j3wh-g957-2m85-typeflag.phpt | 79 ext/phar/util.c | 13 ext/readline/readline_cli.c | 4 ext/readline/tests/readline_cli_completion_class_constant.phpt | 30 ext/reflection/php_reflection.c | 232 ext/reflection/tests/ReflectionClassConstant_double_construct.phpt | 33 ext/reflection/tests/ReflectionClass_getProperty_anonymous_class.phpt | 21 ext/reflection/tests/ReflectionMethod_createFromMethodName_abstract.phpt | 23 ext/reflection/tests/ReflectionMethod_createFromMethodName_anonymous_class.phpt | 20 ext/reflection/tests/ReflectionMethod_double_construct_closure.phpt | 28 ext/reflection/tests/gh22681/ReflectionClass_name.phpt | 32 ext/reflection/tests/gh22681/ReflectionFunctionAbstract_name.phpt | 21 ext/reflection/tests/gh22905/ReflectionClassConstant_construct_class.phpt | 14 ext/reflection/tests/gh22905/ReflectionClassConstant_construct_constant.phpt | 15 ext/reflection/tests/gh22905/ReflectionClass_construct.phpt | 14 ext/reflection/tests/gh22905/ReflectionClass_getMethod.phpt | 16 ext/reflection/tests/gh22905/ReflectionClass_getProperty.phpt | 16 ext/reflection/tests/gh22905/ReflectionClass_getProperty_qualified_base.phpt | 17 ext/reflection/tests/gh22905/ReflectionClass_getProperty_qualified_nobase.phpt | 17 ext/reflection/tests/gh22905/ReflectionClass_getStaticPropertyValue.phpt | 16 ext/reflection/tests/gh22905/ReflectionClass_implementsInterface.phpt | 16 ext/reflection/tests/gh22905/ReflectionClass_isSubclassOf.phpt | 16 ext/reflection/tests/gh22905/ReflectionClass_setStaticPropertyValue.phpt | 16 ext/reflection/tests/gh22905/ReflectionConstant_construct.phpt | 14 ext/reflection/tests/gh22905/ReflectionEnum_getCase.phpt | 16 ext/reflection/tests/gh22905/ReflectionExtension_construct.phpt | 14 ext/reflection/tests/gh22905/ReflectionFunction_construct.phpt | 14 ext/reflection/tests/gh22905/ReflectionMethod_construct_class.phpt | 14 ext/reflection/tests/gh22905/ReflectionMethod_construct_method.phpt | 15 ext/reflection/tests/gh22905/ReflectionMethod_create_method.phpt | 15 ext/reflection/tests/gh22905/ReflectionParameter_construct_class.phpt | 14 ext/reflection/tests/gh22905/ReflectionParameter_construct_method.phpt | 15 ext/reflection/tests/gh22905/ReflectionParameter_construct_string.phpt | 14 ext/reflection/tests/gh22905/ReflectionProperty_construct_class.phpt | 14 ext/reflection/tests/gh22905/ReflectionProperty_construct_property.phpt | 15 ext/reflection/tests/gh22905/ReflectionProperty_setRawValueWithoutLazyInitialization.phpt | 16 ext/reflection/tests/gh22905/ReflectionProperty_skipLazyInitialization.phpt | 16 ext/reflection/tests/gh22905/ReflectionZendExtension_construct.phpt | 14 ext/reflection/tests/gh22905/Reflection_getAttributes.phpt | 16 ext/session/mod_mm.c | 2 ext/session/mod_user_class.c | 6 ext/session/session.c | 13 ext/session/tests/session_start_cookie_header_rejected.phpt | 28 ext/session/tests/user_session_module/gh23043.phpt | 35 ext/session/tests/user_session_module/session_create_id_create_sid_throws.phpt | 49 ext/simplexml/simplexml.c | 50 ext/simplexml/tests/addChild_ns_filter_returned_element.phpt | 56 ext/simplexml/tests/attributes_dimension_write.phpt | 30 ext/simplexml/tests/bug_sxe_compare_uninitialized.phpt | 28 ext/simplexml/tests/sxe_int_offset_no_alias.phpt | 94 ext/snmp/snmp.c | 3 ext/snmp/tests/bug64124.phpt | 1 ext/snmp/tests/bug64159.phpt | 1 ext/snmp/tests/generic_timeout_error.phpt | 1 ext/snmp/tests/gh23453.phpt | 17 ext/snmp/tests/ipv6.phpt | 1 ext/snmp/tests/snmp-object-errno-errstr.phpt | 1 ext/snmp/tests/snmp-object.phpt | 1 ext/snmp/tests/snmp2_get.phpt | 1 ext/snmp/tests/snmp2_getnext.phpt | 1 ext/snmp/tests/snmp2_real_walk.phpt | 1 ext/snmp/tests/snmp2_set-nomib.phpt | 1 ext/snmp/tests/snmp2_set.phpt | 1 ext/snmp/tests/snmp2_walk.phpt | 1 ext/snmp/tests/snmp3-error.phpt | 1 ext/snmp/tests/snmp3.phpt | 1 ext/snmp/tests/snmp_getvalue.phpt | 2 ext/snmp/tests/snmpget.phpt | 1 ext/snmp/tests/snmpgetnext.phpt | 1 ext/snmp/tests/snmprealwalk.phpt | 1 ext/snmp/tests/snmpset-nomib.phpt | 1 ext/snmp/tests/snmpset.phpt | 1 ext/snmp/tests/snmpwalk.phpt | 1 ext/soap/php_encoding.c | 7 ext/soap/php_http.c | 33 ext/soap/php_schema.c | 15 ext/soap/php_sdl.c | 4 ext/soap/php_sdl.h | 1 ext/soap/php_soap.h | 3 ext/soap/php_xml.c | 102 ext/soap/soap.c | 7 ext/soap/tests/GHSA-rgrp-mwpx-f6rm-href-chain.phpt | 47 ext/soap/tests/GHSA-rgrp-mwpx-f6rm-href-cycle.phpt | 43 ext/soap/tests/GHSA-rgrp-mwpx-f6rm.phpt | 89 ext/soap/tests/bugs/GHSA-cj93-vc83-wgqv.phpt | 155 ext/soap/tests/gh23447.phpt | 28 ext/soap/tests/headerfault_cache.phpt | 45 ext/soap/tests/headerfault_cache.wsdl | 47 ext/soap/tests/http_status_line_no_code.phpt | 33 ext/soap/tests/schema-selfref-attrgroup.phpt | 44 ext/soap/tests/schema-selfref-group.phpt | 46 ext/sockets/conversions.c | 1 ext/sockets/multicast.c | 4 ext/sockets/sockets.c | 8 ext/spl/spl_observer.c | 6 ext/sqlite3/sqlite3.c | 4 ext/sqlite3/tests/sqlite3_close_blob_stream.phpt | 22 ext/standard/array.c | 69 ext/standard/filters.c | 19 ext/standard/fsock.c | 2 ext/standard/ftp_fopen_wrapper.c | 4 ext/standard/http_fopen_wrapper.c | 113 ext/standard/math.c | 4 ext/standard/php_array.h | 1 ext/standard/string.c | 36 ext/standard/tests/array/array_merge_recursive_object_leak.phpt | 55 ext/standard/tests/array/count_recursive_stack_limit.phpt | 32 ext/standard/tests/array/gh23111.phpt | 27 ext/standard/tests/array/gh23113.phpt | 27 ext/standard/tests/array/gh23115.phpt | 41 ext/standard/tests/array/gh23576.phpt | 58 ext/standard/tests/file/file_get_contents_variation7-win32.phpt | 18 ext/standard/tests/file/ghsa-9f67-6fw4-hpfp-win32.phpt | 86 ext/standard/tests/file/touch_variation6-win32.phpt | 130 ext/standard/tests/filters/bucket_data_unset.phpt | 27 ext/standard/tests/filters/bug54350.phpt | 2 ext/standard/tests/filters/dechunk_size_overflow.phpt | 38 ext/standard/tests/filters/gh15836.phpt | 34 ext/standard/tests/filters/ghsa-88hq-2827-7pg6.phpt | 27 ext/standard/tests/filters/stream_filter_remove_compact_read_buffer.phpt | 31 ext/standard/tests/general_functions/var_dump_stack_limit.phpt | 40 ext/standard/tests/http/bug61548.phpt | 2 ext/standard/tests/http/ghsa-fpwc-w8rq-cr92.phpt | 159 ext/standard/tests/http/http_empty_location_redirect.phpt | 36 ext/standard/tests/http/http_single_char_location_redirect.phpt | 39 ext/standard/tests/mail/bug80751.phpt | 2 ext/standard/tests/math/gh22410.phpt | 14 ext/standard/tests/network/fsockopen_timeout_out_of_range.phpt | 19 ext/standard/tests/streams/ftp_dirstream_oob.phpt | 33 ext/standard/tests/streams/gh14780.phpt | 8 ext/standard/tests/streams/opendir-002.phpt | 2 ext/standard/tests/streams/opendir-004.phpt | 2 ext/standard/tests/strings/gh23204.phpt | 109 ext/standard/user_filters.c | 10 ext/standard/var.c | 18 ext/sysvshm/sysvshm.c | 25 ext/sysvshm/tests/shm_attach_existing_segment_size.phpt | 36 ext/sysvshm/tests/shm_attach_existing_segment_too_small.phpt | 25 ext/sysvshm/tests/shm_attach_failed_attach.phpt | 34 ext/xsl/tests/importStylesheet_clone_retained_document.phpt | 47 ext/xsl/tests/importStylesheet_clone_retained_node.phpt | 34 ext/xsl/xsltprocessor.c | 6 ext/zip/php_zip.c | 312 ext/zip/php_zip.h | 36 ext/zip/tests/addGlob_default_options.phpt | 79 ext/zip/tests/addPattern_default_options.phpt | 79 ext/zip/tests/gh17787.phpt | 80 ext/zip/tests/gh23276.phpt | 95 ext/zip/tests/gh23276_cancel_callback.phpt | 49 ext/zip/tests/gh23276_close_with_open_stream.phpt | 47 ext/zip/tests/gh23276_progress_callback.phpt | 50 ext/zip/tests/oo_addfromstring_reopen_memory.phpt | 26 ext/zip/tests/oo_extract_crc.phpt | 44 ext/zip/tests/oo_get_from_crc_empty.phpt | 52 ext/zip/tests/oo_get_from_length.phpt | 46 ext/zip/tests/oo_getnameindex_large_index.phpt | 44 ext/zip/tests/stream_fstat_unreadable_archive.phpt | 38 ext/zip/zip_stream.c | 17 main/fastcgi.c | 2 main/php_config.h.in | 8 main/php_odbc_utils.c | 7 main/php_version.h | 6 main/streams/filter.c | 4 run-tests.php | 7 sapi/cli/php_cli_server.c | 14 sapi/cli/tests/gh23425.phpt | 40 sapi/fpm/fpm/fpm_unix.c | 85 sapi/fpm/fpm/fpm_worker_pool.h | 9 sapi/fpm/tests/gh19320-id-overflow.phpt | 54 sapi/fpm/tests/gh23288-opcache-interned-strings-buffer-pool.phpt | 50 sapi/fpm/tests/ghsa-62xp-839h-2637-ipv6-allowed-clients.phpt | 52 sapi/fpm/tests/ghsa-62xp-839h-2637-v4mapped-allowed-clients.phpt | 52 sapi/fuzzer/Makefile.frag | 20 sapi/litespeed/lsapi_main.c | 2 win32/ioutil.c | 162 win32/ioutil.h | 12 392 files changed, 18317 insertions(+), 5903 deletions(-) dpkg-source: warning: cannot verify inline signature for /srv/release.debian.org/tmp/tmplhqig758/php8.4_8.4.24-1~deb13u1.dsc: no acceptable signature found dpkg-source: warning: cannot verify inline signature for /srv/release.debian.org/tmp/tmplhqig758/php8.4_8.4.26-1~deb13u1.dsc: no acceptable signature found diff -Nru php8.4-8.4.24/.github/CODEOWNERS php8.4-8.4.26/.github/CODEOWNERS --- php8.4-8.4.24/.github/CODEOWNERS 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/.github/CODEOWNERS 2026-09-22 15:00:02.000000000 +0000 @@ -46,7 +46,7 @@ /ext/phar @LamentXU123 /ext/random @TimWolla @zeriyoshi /ext/reflection @DanielEScherzer -/ext/session @Girgias +/ext/session @Girgias @jorgsowa /ext/simplexml @devnexen /ext/soap @devnexen /ext/sockets @devnexen diff -Nru php8.4-8.4.24/.github/matrix.php php8.4-8.4.26/.github/matrix.php --- php8.4-8.4.24/.github/matrix.php 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/.github/matrix.php 2026-09-22 15:00:02.000000000 +0000 @@ -73,7 +73,7 @@ && ($all_jobs || !$no_jobs || $test_benchmarking) // push trigger is restricted to official repository. && ($repository === 'php/php-src' || $trigger === 'pull_request')) { - $jobs['BENCHMARKING']['config']['integrated_opcache'] = version_compare($php_version, '8.5', '>='); + $jobs['BENCHMARKING'] = true; } if ($all_jobs || $test_community) { $jobs['COMMUNITY']['matrix'] = version_compare($php_version, '8.4', '>=') @@ -187,7 +187,9 @@ foreach ($branches as &$branch) { $php_version = $branch['version'][0] . '.' . $branch['version'][1]; $branch['jobs'] = select_jobs($repository, $trigger, $nightly, $labels, $php_version, $branch['ref'], $all_variations); + $branch['config']['default_run_test_jobs'] = version_compare($php_version, '8.6', '>=') ? '' : '-j2'; $branch['config']['ubuntu_version'] = version_compare($php_version, '8.5', '>=') ? '24.04' : '22.04'; + $branch['config']['integrated_opcache'] = version_compare($php_version, '8.5', '>='); } echo "All variations:"; diff -Nru php8.4-8.4.24/.github/scripts/windows/test_task.bat php8.4-8.4.26/.github/scripts/windows/test_task.bat --- php8.4-8.4.24/.github/scripts/windows/test_task.bat 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/.github/scripts/windows/test_task.bat 2026-09-22 15:00:02.000000000 +0000 @@ -117,8 +117,9 @@ if "%THREAD_SAFE%" equ "1" set PHP_BUILD_DIR=%PHP_BUILD_DIR%_TS rem prepare for mail -curl -sLo hMailServer.exe https://www.hmailserver.com/download_file/?downloadid=271 -hMailServer.exe /verysilent +curl -sLo hMailServer.zip https://downloads.php.net/~windows/php-sdk/deps/vs18/x64/hmailserver-5.7.0-vs18-x64.zip +unzip -q hMailServer.zip -d hMailServer +hMailServer\bin\hMailServer.exe /verysilent cd %APPVEYOR_BUILD_FOLDER% %PHP_BUILD_DIR%\php.exe -dextension_dir=%PHP_BUILD_DIR% -dextension=com_dotnet .github\setup_hmailserver.php diff -Nru php8.4-8.4.24/.github/workflows/test-suite.yml php8.4-8.4.26/.github/workflows/test-suite.yml --- php8.4-8.4.24/.github/workflows/test-suite.yml 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/.github/workflows/test-suite.yml 2026-09-22 15:00:02.000000000 +0000 @@ -472,6 +472,7 @@ mysql -uroot -proot -e "SET GLOBAL local_infile = true" - name: Enable Opcache run: | + ${{ !fromJson(inputs.branch).config.integrated_opcache && 'echo zend_extension=opcache.so >> /etc/php.d/opcache.ini' || '' }} echo memory_limit=-1 >> /etc/php.d/opcache.ini echo opcache.enable_cli=1 >> /etc/php.d/opcache.ini echo opcache.enable=1 >> /etc/php.d/opcache.ini @@ -573,6 +574,10 @@ php -r '$c = file_get_contents("src/Symfony/Component/HtmlSanitizer/Tests/HtmlSanitizerCustomTest.php"); $c = str_replace("public function testSanitizeDeepNestedString()", "#[\\PHPUnit\\Framework\\Attributes\\Group('"'"'skip'"'"')]\n public function testSanitizeDeepNestedString()", $c); file_put_contents("src/Symfony/Component/HtmlSanitizer/Tests/HtmlSanitizerCustomTest.php", $c);' # Buggy FFI test in Symfony, see https://github.com/symfony/symfony/issues/47668 php -r '$c = file_get_contents("src/Symfony/Component/VarDumper/Tests/Caster/FFICasterTest.php"); $c = str_replace("public function testCastNonTrailingCharPointer()", "#[\\PHPUnit\\Framework\\Attributes\\Group('"'"'skip'"'"')]\n public function testCastNonTrailingCharPointer()", $c); file_put_contents("src/Symfony/Component/VarDumper/Tests/Caster/FFICasterTest.php", $c);' + # Causes massive amounts of system calls with USE_ZEND_ALLOC=0, exceeding the timeout + if [ -e 'src/Symfony/Component/Console/Tests/Helper/FileInputHelperTest.php' ]; then + php -r '$c = file_get_contents("src/Symfony/Component/Console/Tests/Helper/FileInputHelperTest.php"); $c = str_replace("public function testReadWithPasteDetectionAbortsBeyondMaxBytes()", "#[\\PHPUnit\\Framework\\Attributes\\Group('"'"'skip'"'"')]\n public function testReadWithPasteDetectionAbortsBeyondMaxBytes()", $c); file_put_contents("src/Symfony/Component/Console/Tests/Helper/FileInputHelperTest.php", $c);' + fi export SYMFONY_DEPRECATIONS_HELPER=max[total]=999 X=0 for component in $(find src/Symfony -mindepth 2 -type f -name phpunit.xml.dist -printf '%h\n'); do @@ -848,12 +853,12 @@ PHP_BUILD_CACHE_BASE_DIR: C:\build-cache PHP_BUILD_OBJ_DIR: C:\obj PHP_BUILD_CACHE_SDK_DIR: C:\build-cache\sdk - PHP_BUILD_SDK_BRANCH: php-sdk-2.7.1 + PHP_BUILD_SDK_BRANCH: php-sdk-2.8.2 PHP_BUILD_CRT: ${{ fromJson(inputs.branch).jobs.WINDOWS.config.vs_crt_version }} PLATFORM: ${{ matrix.x64 && 'x64' || 'x86' }} THREAD_SAFE: "${{ matrix.zts && '1' || '0' }}" INTRINSICS: "${{ matrix.zts && 'AVX2' || '' }}" - PARALLEL: -j2 + PARALLEL: ${{ matrix.asan && '-j2' || fromJson(inputs.branch).config.default_run_test_jobs }} OPCACHE: "${{ matrix.opcache && '1' || '0' }}" ASAN: "${{ matrix.asan && '1' || '0' }}" CLANG_TOOLSET: "${{ matrix.clang && '1' || '0' }}" @@ -915,6 +920,7 @@ with: ref: ${{ fromJson(inputs.branch).ref }} fetch-depth: 0 + filter: blob:none # ASLR can cause a lot of noise due to missed sse opportunities for memcpy # and other operations, so we disable it during benchmarking. - name: Disable ASLR @@ -961,7 +967,7 @@ sudo mkdir -p /etc/php.d sudo chmod 777 /etc/php.d echo mysqli.default_socket=/var/run/mysqld/mysqld.sock > /etc/php.d/mysqli.ini - ${{ !fromJson(inputs.branch).jobs.BENCHMARKING.config.integrated_opcache && 'echo zend_extension=opcache.so >> /etc/php.d/opcache.ini' || '' }} + ${{ !fromJson(inputs.branch).config.integrated_opcache && 'echo zend_extension=opcache.so >> /etc/php.d/opcache.ini' || '' }} echo opcache.enable=1 >> /etc/php.d/opcache.ini echo opcache.enable_cli=1 >> /etc/php.d/opcache.ini - name: Setup diff -Nru php8.4-8.4.24/NEWS php8.4-8.4.26/NEWS --- php8.4-8.4.24/NEWS 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/NEWS 2026-09-22 15:00:02.000000000 +0000 @@ -1,5 +1,288 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| +24 Sep 2026, PHP 8.4.26 + +- BCMath: + . Fixed out-of-bounds read in bc_is_zero_for_scale() when scale exceeds + n_scale. (Ilia Alshanetsky) + +- Core: + . Fixed out-of-bounds reads during automatic UTF-16/32 encoding detection. + (Yudai Takada) + . Fixed bug GH-15375 (Nested "yield from" skips items after a valid() or + next() call on the inner generator). (iliaal) + . Fixed bug GH-23232 (lone namespace separator asks the autoloader for an + empty class name). (spawnia) + . Fixed bug GH-23301 (Nested "yield from" yields a value twice when the + middle generator delegates again). (Lazizbek Ergashev) + +- CLI: + . Fixed bug GH-23425 (sapi_cli_server_send_headers() does not check the + return value of php_cli_server_client_send_through()). (Lazizbek Ergashev) + +- DOM: + . Fixed NamedNodeMap::getNamedItemNS() with an empty URI not matching + the null namespace in spec-following mode. (Ilia Alshanetsky) + . Fixed a use-after-free when cloning a DOMNameSpaceNode after + DOMDocument::xinclude(). (iliaal) + . Fixed bug GH-23331 (UAF when node_list_unlink() skips attribute children + that still have a live wrapper). (iliaal) + . Fixed a use-after-free when Dom\Element::setAttributeNS() replaces the + value of an attribute whose child still has a live wrapper. (iliaal) + +- GD: + . Fixed imageaffinematrixget() and imageaffinematrixconcat() reporting the + wrong argument in error messages. (Weilin Du) + . Fixed bug GH-23457 (imagebmp() is extremely slow when writing to a file). + (Lazizbek Ergashev) + +- FPM: + . Fixed bug GH-19320 (FPM UID and GID overflow). (Pratik Bhujel) + . Fixed GHSA-62xp-839h-2637 (IPv6 ACL bypass in FastCGI listen.allowed_clients + due to partial address comparison). (CVE-2026-91768) (Alexandre Daubois) + +- Hash: + . Fixed a buffer overflow in hash_pbkdf2() with a large output length. + (Lazizbek Ergashev) + +- Intl: + . Fixed grapheme_strpos() and grapheme_strrpos() with an empty needle + returning UTF-16 offsets instead of grapheme offsets. (Ilia Alshanetsky) + . Fixed a memory leak when dumping IntlCalendar instances. (Ilia Alshanetsky) + . Fixed a memory leak when iterating IntlBreakIterator::getPartsIterator() + results. (iliaal) + . Fixed a double-free when IntlGregorianCalendar construction fails after + the ICU constructor adopts the TimeZone. (iliaal) + . Fixed bug GH-23094 (NumberFormatter parsing offsets use UTF-16 positions + for UTF-8 strings). (ColumbusLabs) + . Fixed Locale::parseLocale() reading past a trailing '-' or '_'. + (iliaal, Xuyang Zhang) + . Fixed grapheme_str_split() treating UBRK_DONE as a byte index. (iliaal) + . Fixed a leak in Locale::getKeywords() when a keyword value cannot be + read. (iliaal) + . Fixed a use-after-free when IntlRuleBasedBreakIterator is constructed + from compiled rules. (iliaal) + +- MBString: + . Fixed mb_ereg_replace() emitting a NUL or out-of-bounds bytes in the + replacement when a \k backref has no closing delimiter. + (Ilia Alshanetsky) + +- MySQLnd: + . Fixed GHSA-r6x9-5r99-36j7 (Various packet overreads in mysqlnd wire + protocol). (CVE-2025-1218) (Jakub Zelenka, Nora Dossche) + +- ODBC: + . Fixed odbc_field_len(), odbc_field_scale() and odbc_field_type() + returning uninitialized memory when SQLColAttribute fails. + (Ilia Alshanetsky) + +- Opcache: + . Fixed a crash when the huge page SHM remap discarded mappings outside the + reserved address range. (Piotr Hałas) + . Fixed opcache.protect_memory race under ZTS. (realFlowControl) + . Fixed bug GH-23288 (Crash on restart when opcache.interned_strings_buffer + is overridden in an individual FPM pool). (David Carlier) + . Fixed a tracing JIT crash when compiling a side trace for a method of a + class that could not be stored in the inheritance cache. (GH-21710) + (Arnaud, iliaal) + +- OpenSSL: + . Fixed GHSA-vvx9-73fr-5jjx (TLS hostname verification falls back to CN after + SAN mismatch). (CVE-2026-91769) (Jakub Zelenka) + . Fixed GHSA-xr7j-rvgx-xq5p (Heap buffer overflow in + php_openssl_matches_wildcard_name() on crafted server certificate wildcard + CN). (CVE-2026-91767) (Jakub Zelenka) + +- PDO: + . Fixed a leak when a persistent connection failed a liveness check + with no other live PDO handle. (iliaal) + +- PDO_ODBC: + . Fixed bug GH-23444 (ODBC_ATTR_ASSUME_UTF8 corrupts Unicode data outside + Windows). (Calvin Buckley, Lazizbek Ergashev) + +- PDO_PGSQL: + . Fixed PDO::CURSOR_SCROLL statements closing a cursor that does not exist. + (KentarouTakeda) + +- PDO Sqlite: + . Fixed bug GH-20214 (PDO::FETCH_DEFAULT unexpected behavior with + PDOStatement::setFetchMode). (SakiTakamachi) + +- Phar: + . Fixed bug GH-23418 (Use-after-free when looking up mounted directories). + (Weilin Du) + . Fixed bug GH-23477 (Memory leak on duplicate native Phar manifest entries). + (Weilin Du) + . Fixed GHSA-j3wh-g957-2m85 (Integer overflow in phar_tar_number() allowing + TAR archive entry injection). (CVE-2026-6103) (Jakub Zelenka) + +- SNMP: + . Fixed bug GH-23453 (SNMP::setSecurity() frees a non-malloced address with a + context engine ID longer than 32 bytes). (Lazizbek Ergashev) + +- SOAP: + . Fixed bug GH-23447 (Segfault when a class passed to SoapServer::setClass() + fails to initialize). (Lazizbek Ergashev) + . Fixed WSDL cache corruption when a soap:header defines headerfaults. + (Ilia Alshanetsky) + . Fixed stack overflow when parsing a WSDL with self-referential schema + groups or attributeGroups. (Ilia Alshanetsky) + . Fixed GHSA-rgrp-mwpx-f6rm (Unbounded recursion in server-side + cleanup_xml_node()). (CVE-2026-91765) (Alexandre Daubois) + . Fixed GHSA-cj93-vc83-wgqv (Integer overflow to buffer overflow in SOAP HTTP + parsing). (CVE-2025-14181) (Nora Dossche, Jakub Zelenka) + +- Standard: + . Fixed a segfault when a stream filter callback unsets StreamBucket::$data + before re-attaching the bucket. (iliaal) + . Fixed GHSA-7875-c8px-7q5f (Out-of-bounds read in the HTTP stream wrapper + when following a redirect with an empty Location header). (CVE-2026-93682) + (Ilia Alshanetsky, Jordi Kroon) + . Fixed a memory leak in array_merge_recursive() when the recursive merge of + an object converted to an array fails. (David Carlier) + . Fixed read buffer compaction in php_stream_filter_flush(). (crystarm) + . Fixed bug GH-22410 (Incorrect float behavior with large numbers). + (arshidkv12) + . Fixed GH-23338 (fsockopen()/pfsockopen() ValueError reported wrong + argument number for $timeout). (lacatoire) + . Fixed bug GH-23576 (Next index for array returned from array_keys() is + wrong). (Lazizbek Ergashev) + . Fixed GHSA-88hq-2827-7pg6 (Out-of-bounds read in convert.* stream filters + when line-break-chars contains NUL). (CVE-2026-92842) (geeknik) + . Fixed GHSA-fpwc-w8rq-cr92 (Cross-origin credential leak in HTTP stream + wrapper redirects). (CVE-2026-91766) (Alexandre Daubois, Jakub Zelenka) + +- SimpleXML: + . Fixed writing to a dimension of the object returned by attributes() not + creating the attribute. (Ilia Alshanetsky) + . Fixed child elements of the element returned by + SimpleXMLElement::addChild() not being accessible by property name when + namespaces are involved. (Ilia Alshanetsky) + +- Windows: + . Fixed GHSA-9f67-6fw4-hpfp (Reserved device names are not rejected before + file and stream I/O). (CVE-2026-17545) (Shivam Mathur, Jakub Zelenka) + +- Zip: + . Fixed bug GH-23276 (ZipArchive subclass storing its own stream cannot be + garbage collected). (Weilin Du, ndossche) + . Fixed ZipArchive::extractTo() and ZipArchive::getFrom*() reporting success + on corrupted entries. (David Carlier) + . Fixed ZipArchive::getNameIndex() truncating the entry index to int. + (David Carlier) + . Fixed fstat() on a zip:// stream reporting success when the archive cannot + be opened. (David Carlier) + +- SAPI: + . Fixed fuzzer targets failing to build in isolation. (Mrmaxmeier) + . Fixed returns uninitialized value on LiteSpeed lsapi SAPI (Go Kudo) + +27 Aug 2026, PHP 8.4.25 + +- Core: + . Fixed bug GH-23088 (Stack overflow when comparing deeply nested arrays). + (Lazizbek Ergashev) + +- Date: + . Fixed leak on double DatePeriod::__construct() call. (ilutov) + +- DOM: + . Fixed bug GH-23116 (Stack overflow when normalizing a deeply nested + DOMDocument). (Lazizbek Ergashev) + . Fixed bug GH-23117 (Stack overflow when normalizing a deeply nested + Dom\XMLDocument). (Lazizbek Ergashev) + . Fixed bug GH-22825 (DOMElement::setAttribute() fails silently when the DTD + declares a default value for the attribute). (iliaal) + . Fixed bug GH-22447 (UAF at dom_objects_free_storage when setting an + attribute node that collides by local name with a namespaced + attribute). (David Carlier) + . Fixed bug GH-23120 (Stack overflow when comparing deeply nested DOM nodes + with DOMNode::isEqualNode()). (Weilin Du) + +- LibXML: + . Fixed bug GH-22752 (Build failure with libxml 2.15). (David Carlier) + +- MBString: + . Fixed bug GH-22779 (mb_strrpos() returns the wrong position for a negative + offset in a non-UTF-8 encoding). (Eyüp Can Akman) + . Fixed bug GH-21036 (mb_ereg_search_getregs() crashes after mb_eregi() + invalidates the regex cache). (Matthias Goergens) + +- Opcache: + . Fixed bug GH-22857 (Function JIT emits wrong code for FETCH_OBJ_FUNC_ARG on a + property hook getter, losing register-held variables). (Zhao Hao) + +- OpenSSL: + . Fix missing error check on invalid alpn protocols. (ndossche) + +- Opcache: + . Fixed bug GH-22916 (Preserve parent regs in zend_jit_deoptimizer_start()). + (Arnaud) + +- PCRE: + . Fixed bug GH-21134 (Crash with \C + UTF-8). Using \C in UTF-8 patterns is + now forbidden. (Arnaud) + +- Reflection: + . Fixed bug GH-22905 (Reflection exception messages truncate on null bytes). + (DanielEScherzer) + . Fixed ReflectionProperty::isLazy() and skipLazyInitialization() using the + parent slot when a child class hooks an inherited property. (iliaal) + . Fixed segfault in ReflectionMethod::createFromMethodName() on an + uninstantiable subclass. (iliaal) + +- Readline: + . Fixed class constant completion in the interactive shell. (Weilin Du) + +- Zip: + . Fixed bug GH-17787 (ZipArchive stream stops reading early when the archive + is freed while the stream is still open). (Eyüp Can Akman) + +- Session: + . Fix corruption in mod_mm. (ndossche) + . Fixed bug GH-23043 (broken session id code can cause zend_mm_heap + corrupted). (ndossche) + +- SimpleXML: + . Fixed integer element offsets that cannot resolve aliasing an existing + element. (iliaal) + . Fixed segfault when comparing uninitialized SimpleXMLElement + instances. (iliaal) + +- Sockets: + . Fixed various memory related issues in ext/sockets. (David Carlier) + +- SQLite: + . Fix leak when trying to close db if blob stream is still open. (ndossche) + +- Standard: + . Fixed bug GH-23111 (Stack overflow in array_walk_recursive() with deeply + nested arrays). (Lazizbek Ergashev) + . Fixed bug GH-23113 (Stack overflow in array_replace_recursive() with deeply + nested arrays). (Lazizbek Ergashev) + . Fixed bug GH-23115 (Stack overflow in compact() with deeply nested + arrays). (Lazizbek Ergashev) + . Fixed stack overflow in count() with COUNT_RECURSIVE and deeply nested + arrays. (Lazizbek Ergashev) + +- Streams: + . Fixed bug GH-15836 (Use-after-free when a user stream filter accesses + $this->stream during the close flush). (iliaal) + +- Sysvshm: + . Fixed out-of-bounds write when shm_attach() opens an existing segment with + a size larger than the segment actually is. (David Carlier) + +- XSL: + . Fixed use-after-free when a DOMDocument subclass __clone() retains the + stylesheet copy made by XSLTProcessor::importStylesheet(). (iliaal) + +- Zip: + . Fixed ZipArchive::addGlob() and ZipArchive::addPattern() ignoring their + default options when no options array is given. (David Carlier) + 30 Jul 2026, PHP 8.4.24 - BCMath: @@ -2518,7 +2801,7 @@ to that of fputcsv() and fgetcsv(). (Girgias) . php_uname() now throws ValueErrors on invalid inputs. (Girgias) . The "allowed_classes" option for unserialize() now throws TypeErrors and - ValueErrors if it is not an array of class names. (Girgias) + ValueErrors if it is not an array of class names. (Girgias) . Implemented GH-15685 (improve proc_open error reporting on Windows). (cmb) . Add support for backed enums in http_build_query(). (ilutov) . Fixed bug GH-15982 (Assertion failure with array_find when references are diff -Nru php8.4-8.4.24/TSRM/TSRM.h php8.4-8.4.26/TSRM/TSRM.h --- php8.4-8.4.24/TSRM/TSRM.h 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/TSRM/TSRM.h 2026-09-22 15:00:02.000000000 +0000 @@ -152,7 +152,8 @@ # define __has_attribute(x) 0 #endif -#if !__has_attribute(tls_model) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__MUSL__) || defined(__HAIKU__) +#if !__has_attribute(tls_model) || defined(__FreeBSD__) || defined(__NetBSD__) \ + || defined(__MUSL__) || defined(__HAIKU__) || defined(_AIX) # define TSRM_TLS_MODEL_ATTR # define TSRM_TLS_MODEL_DEFAULT #elif __PIC__ diff -Nru php8.4-8.4.24/Zend/tests/generators/backtrace_multi_yield_from.phpt php8.4-8.4.26/Zend/tests/generators/backtrace_multi_yield_from.phpt --- php8.4-8.4.24/Zend/tests/generators/backtrace_multi_yield_from.phpt 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/Zend/tests/generators/backtrace_multi_yield_from.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -25,8 +25,8 @@ ?> --EXPECTF-- int(1) -int(1) #0 %s(10): gen() #1 [internal function]: from(Object(Generator)) -#2 %s(19): Generator->next() +#2 %s(17): Generator->next() int(2) +NULL diff -Nru php8.4-8.4.24/Zend/tests/generators/gh15375.phpt php8.4-8.4.26/Zend/tests/generators/gh15375.phpt --- php8.4-8.4.24/Zend/tests/generators/gh15375.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/Zend/tests/generators/gh15375.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,89 @@ +--TEST-- +GH-15375 (Nested "yield from" skips items after valid()/next() on the inner generator) +--FILE-- +valid()) { + yield from $iterator; + } + } +} + +function withNext() { + foreach (arrayProvider() as $array) { + $iterator = iterateValues($array); + $iterator->next(); + yield from $iterator; + } +} + +function outer(Generator $inner) { + yield from $inner; +} + +echo "valid():\n"; +foreach (outer(withValid()) as $s) { + echo $s, "\n"; +} + +echo "next():\n"; +foreach (outer(withNext()) as $s) { + echo $s, "\n"; +} + +// Reading a pre-primed generator through two nested "yield from" levels primes +// the whole chain but advances nothing. A later next() on a middle level then +// advances the shared generator, like any other next() would. +echo "shared primed:\n"; +function counter() { + yield 1; + yield 2; +} +$gen1 = counter(); +$gen1->valid(); +$gen2 = outer($gen1); +$gen3 = outer($gen2); +var_dump($gen3->current()); +$gen2->next(); +var_dump($gen2->current()); +$gen2->next(); +var_dump($gen2->current()); + +?> +--EXPECT-- +valid(): +one +two +three +four +five +six +seven +eight +nine +next(): +two +three +five +six +eight +nine +shared primed: +int(1) +int(2) +NULL diff -Nru php8.4-8.4.24/Zend/tests/generators/gh23301.phpt php8.4-8.4.26/Zend/tests/generators/gh23301.phpt --- php8.4-8.4.24/Zend/tests/generators/gh23301.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/Zend/tests/generators/gh23301.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,44 @@ +--TEST-- +GH-23301 (Nested "yield from" yields a value twice when the middle generator delegates again) +--FILE-- +current()); +$middle->next(); +var_dump($middle->current()); + +?> +--EXPECT-- +A +B +C +D +string(1) "B" +string(1) "E" diff -Nru php8.4-8.4.24/Zend/tests/gh18572.phpt php8.4-8.4.26/Zend/tests/gh18572.phpt --- php8.4-8.4.24/Zend/tests/gh18572.phpt 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/Zend/tests/gh18572.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -36,4 +36,4 @@ } ?> --EXPECTREGEX-- -(Maximum call stack size reached during object comparison|Nesting level too deep - recursive dependency\?) +(Maximum call stack size reached during (object )?comparison|Nesting level too deep - recursive dependency\?) diff -Nru php8.4-8.4.24/Zend/tests/gh23088.phpt php8.4-8.4.26/Zend/tests/gh23088.phpt --- php8.4-8.4.24/Zend/tests/gh23088.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/Zend/tests/gh23088.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,40 @@ +--TEST-- +GH-23088 (Stack overflow when comparing deeply nested arrays) +--SKIPIF-- + +--INI-- +zend.max_allowed_stack_size=256K +--FILE-- +getMessage(), PHP_EOL; +} + +try { + var_dump($a === $b); +} catch (Error $e) { + echo $e->getMessage(), PHP_EOL; +} + +?> +--EXPECT-- +Maximum call stack size reached during comparison +Maximum call stack size reached during comparison diff -Nru php8.4-8.4.24/Zend/tests/gh23232.phpt php8.4-8.4.26/Zend/tests/gh23232.phpt --- php8.4-8.4.24/Zend/tests/gh23232.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/Zend/tests/gh23232.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,27 @@ +--TEST-- +GH-23232 (lone namespace separator asks the autoloader for an empty class name) +--FILE-- + +--EXPECT-- +is_callable("::a") +bool(false) +is_callable("\::a") +bool(false) +is_callable("\Foo::a") +autoload: 'Foo' +bool(false) +is_callable("Foo::a") +autoload: 'Foo' +bool(false) +bool(false) diff -Nru php8.4-8.4.24/Zend/tests/lazy_objects/isLazy_overridden_hooked_prop.phpt php8.4-8.4.26/Zend/tests/lazy_objects/isLazy_overridden_hooked_prop.phpt --- php8.4-8.4.24/Zend/tests/lazy_objects/isLazy_overridden_hooked_prop.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/Zend/tests/lazy_objects/isLazy_overridden_hooked_prop.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,48 @@ +--TEST-- +Lazy Objects: ReflectionProperty::isLazy() with a hooked override +--FILE-- + 1; } + private $priv = 1; + public static $stat; +} + +class C extends B { + public $plain { get => $this->plain; set => $this->plain = $value; } + public $priv = 2; +} + +$reflector = new ReflectionClass(C::class); + +foreach (['Ghost', 'Proxy'] as $kind) { + printf("# %s:\n", $kind); + + $obj = $kind === 'Ghost' + ? $reflector->newLazyGhost(function ($obj) { }) + : $reflector->newLazyProxy(function ($obj) { return new C(); }); + + foreach (['plain', 'virtual', 'stat'] as $name) { + printf("%s: B scope %d, C scope %d\n", $name, + (new ReflectionProperty(B::class, $name))->isLazy($obj), + (new ReflectionProperty(C::class, $name))->isLazy($obj)); + } + + printf("priv: B scope %d\n", + (new ReflectionProperty(B::class, 'priv'))->isLazy($obj)); +} + +?> +--EXPECT-- +# Ghost: +plain: B scope 1, C scope 1 +virtual: B scope 0, C scope 0 +stat: B scope 0, C scope 0 +priv: B scope 1 +# Proxy: +plain: B scope 1, C scope 1 +virtual: B scope 0, C scope 0 +stat: B scope 0, C scope 0 +priv: B scope 1 diff -Nru php8.4-8.4.24/Zend/tests/lazy_objects/skipLazyInitialization_overridden_hooked_prop.phpt php8.4-8.4.26/Zend/tests/lazy_objects/skipLazyInitialization_overridden_hooked_prop.phpt --- php8.4-8.4.24/Zend/tests/lazy_objects/skipLazyInitialization_overridden_hooked_prop.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/Zend/tests/lazy_objects/skipLazyInitialization_overridden_hooked_prop.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,36 @@ +--TEST-- +Lazy Objects: ReflectionProperty::skipLazyInitialization() with a hooked override +--FILE-- + $this->b; set => $this->b = $value; } +} + +$reflector = new ReflectionClass(C::class); + +foreach (['Ghost', 'Proxy'] as $kind) { + printf("# %s:\n", $kind); + + $obj = $kind === 'Ghost' + ? $reflector->newLazyGhost(function ($obj) { $obj->b = 9; }) + : $reflector->newLazyProxy(function ($obj) { $c = new C(); $c->b = 9; return $c; }); + + (new ReflectionProperty(B::class, 'b'))->skipLazyInitialization($obj); + + printf("is lazy: %d\n", $reflector->isUninitializedLazyObject($obj)); + var_dump($obj->b); +} + +?> +--EXPECT-- +# Ghost: +is lazy: 0 +NULL +# Proxy: +is lazy: 0 +NULL diff -Nru php8.4-8.4.24/Zend/tests/multibyte/multibyte_encoding_008.phpt php8.4-8.4.26/Zend/tests/multibyte/multibyte_encoding_008.phpt --- php8.4-8.4.24/Zend/tests/multibyte/multibyte_encoding_008.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/Zend/tests/multibyte/multibyte_encoding_008.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,20 @@ +--TEST-- +Zend Multibyte does not read past the script during UTF-16 detection +--EXTENSIONS-- +mbstring +--INI-- +zend.multibyte=1 +internal_encoding=UTF-8 +--FILE-- + +--CLEAN-- + +--EXPECT-- +Done diff -Nru php8.4-8.4.24/Zend/zend.c php8.4-8.4.26/Zend/zend.c --- php8.4-8.4.24/Zend/zend.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/Zend/zend.c 2026-09-22 15:00:02.000000000 +0000 @@ -1772,7 +1772,6 @@ ZEND_API ZEND_COLD void zend_throw_error(zend_class_entry *exception_ce, const char *format, ...) /* {{{ */ { va_list va; - char *message = NULL; if (!exception_ce) { exception_ce = zend_ce_error; @@ -1784,16 +1783,20 @@ } va_start(va, format); - zend_vspprintf(&message, 0, format, va); + zend_string *message = zend_vstrpprintf(0, format, va); //TODO: we can't convert compile-time errors to exceptions yet??? if (EG(current_execute_data) && !CG(in_compilation)) { - zend_throw_exception(exception_ce, message, 0); + // %S is used for zend_string pointers by smart str printing, but normally + // is for wide character strings and so compilers complain if this is inline + // Use "%S" so that the message can contain null bytes. + const char *format = "%S"; + zend_throw_exception_ex(exception_ce, 0, format, message); } else { - zend_error_noreturn(E_ERROR, "%s", message); + zend_error_noreturn(E_ERROR, "%s", ZSTR_VAL(message)); } - efree(message); + zend_string_release(message); va_end(va); } /* }}} */ diff -Nru php8.4-8.4.24/Zend/zend.h php8.4-8.4.26/Zend/zend.h --- php8.4-8.4.24/Zend/zend.h 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/Zend/zend.h 2026-09-22 15:00:02.000000000 +0000 @@ -20,7 +20,7 @@ #ifndef ZEND_H #define ZEND_H -#define ZEND_VERSION "4.4.24" +#define ZEND_VERSION "4.4.26" #define ZEND_ENGINE_3 diff -Nru php8.4-8.4.24/Zend/zend_exceptions.c php8.4-8.4.26/Zend/zend_exceptions.c --- php8.4-8.4.24/Zend/zend_exceptions.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/Zend/zend_exceptions.c 2026-09-22 15:00:02.000000000 +0000 @@ -888,14 +888,13 @@ ZEND_API ZEND_COLD zend_object *zend_throw_exception_ex(zend_class_entry *exception_ce, zend_long code, const char *format, ...) /* {{{ */ { va_list arg; - char *message; zend_object *obj; va_start(arg, format); - zend_vspprintf(&message, 0, format, arg); + zend_string *msg_str = zend_vstrpprintf(0, format, arg); va_end(arg); - obj = zend_throw_exception(exception_ce, message, code); - efree(message); + obj = zend_throw_exception_zstr(exception_ce, msg_str, code); + zend_string_release(msg_str); return obj; } /* }}} */ diff -Nru php8.4-8.4.24/Zend/zend_execute_API.c php8.4-8.4.26/Zend/zend_execute_API.c --- php8.4-8.4.24/Zend/zend_execute_API.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/Zend/zend_execute_API.c 2026-09-22 15:00:02.000000000 +0000 @@ -1180,6 +1180,10 @@ } if (ZSTR_VAL(name)[0] == '\\') { + if (ZSTR_LEN(name) == 1) { + /* A lone namespace separator names no class, e.g. is_callable('\::method'). */ + return NULL; + } lc_name = zend_string_alloc(ZSTR_LEN(name) - 1, 0); zend_str_tolower_copy(ZSTR_VAL(lc_name), ZSTR_VAL(name) + 1, ZSTR_LEN(name) - 1); } else { diff -Nru php8.4-8.4.24/Zend/zend_generators.c php8.4-8.4.26/Zend/zend_generators.c --- php8.4-8.4.24/Zend/zend_generators.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/Zend/zend_generators.c 2026-09-22 15:00:02.000000000 +0000 @@ -768,16 +768,20 @@ return; } + zend_generator *delegator = orig_generator; + try_again: if (generator->flags & ZEND_GENERATOR_CURRENTLY_RUNNING) { zend_throw_error(NULL, "Cannot resume an already running generator"); return; } - if (UNEXPECTED((orig_generator->flags & ZEND_GENERATOR_DO_INIT) != 0 && !Z_ISUNDEF(generator->value))) { - /* We must not advance Generator if we yield from a Generator being currently run */ - orig_generator->flags &= ~ZEND_GENERATOR_DO_INIT; - return; + if (UNEXPECTED((delegator->flags & ZEND_GENERATOR_DO_INIT) != 0)) { + delegator->flags &= ~ZEND_GENERATOR_DO_INIT; + if (UNEXPECTED(!Z_ISUNDEF(generator->value))) { + /* We must not advance an already initialized delegate on first resumption */ + return; + } } if (EG(active_fiber)) { @@ -817,7 +821,7 @@ EG(current_execute_data) = original_execute_data; EG(jit_trace_num) = original_jit_trace_num; - orig_generator->flags &= ~(ZEND_GENERATOR_DO_INIT | ZEND_GENERATOR_IN_FIBER); + orig_generator->flags &= ~ZEND_GENERATOR_IN_FIBER; generator->flags &= ~(ZEND_GENERATOR_CURRENTLY_RUNNING | ZEND_GENERATOR_IN_FIBER); return; } @@ -880,18 +884,24 @@ } else { generator = zend_generator_get_current(orig_generator); zend_generator_throw_exception(generator, NULL); - orig_generator->flags &= ~ZEND_GENERATOR_DO_INIT; + delegator = orig_generator; goto try_again; } } /* yield from was used, try another resume. */ - if (UNEXPECTED((generator != orig_generator && !Z_ISUNDEF(generator->retval)) || (generator->execute_data && generator->execute_data->opline->opcode == ZEND_YIELD_FROM))) { + if (UNEXPECTED(generator->execute_data && generator->execute_data->opline->opcode == ZEND_YIELD_FROM)) { + delegator = generator; + generator = zend_generator_get_current(orig_generator); + goto try_again; + } + if (UNEXPECTED(generator != orig_generator && !Z_ISUNDEF(generator->retval))) { + delegator = orig_generator; generator = zend_generator_get_current(orig_generator); goto try_again; } - orig_generator->flags &= ~(ZEND_GENERATOR_DO_INIT | ZEND_GENERATOR_IN_FIBER); + orig_generator->flags &= ~ZEND_GENERATOR_IN_FIBER; } /* }}} */ diff -Nru php8.4-8.4.24/Zend/zend_hash.c php8.4-8.4.26/Zend/zend_hash.c --- php8.4-8.4.24/Zend/zend_hash.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/Zend/zend_hash.c 2026-09-22 15:00:02.000000000 +0000 @@ -3214,6 +3214,13 @@ return 0; } +#ifdef ZEND_CHECK_STACK_LIMIT + if (UNEXPECTED(zend_call_stack_overflowed(EG(stack_limit)))) { + zend_throw_error(NULL, "Maximum call stack size reached during comparison"); + return ZEND_UNCOMPARABLE; + } +#endif + /* It's enough to protect only one of the arrays. * The second one may be referenced from the first and this may cause * false recursion detection. diff -Nru php8.4-8.4.24/Zend/zend_language_scanner.c php8.4-8.4.26/Zend/zend_language_scanner.c --- php8.4-8.4.24/Zend/zend_language_scanner.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/Zend/zend_language_scanner.c 2026-09-22 15:00:02.000000000 +0000 @@ -329,14 +329,13 @@ static const zend_encoding *zend_multibyte_detect_utf_encoding(const unsigned char *script, size_t script_size) { const unsigned char *p; + size_t offset = 0; int wchar_size = 2; int le = 0; /* utf-16 or utf-32? */ - p = script; - assert(p >= script); - while ((size_t)(p-script) < script_size) { - p = memchr(p, 0, script_size-(p-script)-2); + while (offset < script_size && script_size - offset > 2) { + p = memchr(script + offset, 0, script_size - offset - 2); if (!p) { break; } @@ -346,13 +345,13 @@ } /* searching for UTF-32 specific byte orders, so this will do */ - p += 4; + offset = p - script + 4; } /* BE or LE? */ - p = script; - assert(p >= script); - while ((size_t)(p-script) < script_size) { + offset = 0; + while (script_size - offset >= (size_t) wchar_size) { + p = script + offset; if (*p == '\0' && *(p+wchar_size-1) != '\0') { /* BE */ le = 0; @@ -362,7 +361,7 @@ le = 1; break; } - p += wchar_size; + offset += wchar_size; } if (wchar_size == 2) { diff -Nru php8.4-8.4.24/Zend/zend_language_scanner.l php8.4-8.4.26/Zend/zend_language_scanner.l --- php8.4-8.4.24/Zend/zend_language_scanner.l 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/Zend/zend_language_scanner.l 2026-09-22 15:00:02.000000000 +0000 @@ -327,14 +327,13 @@ static const zend_encoding *zend_multibyte_detect_utf_encoding(const unsigned char *script, size_t script_size) { const unsigned char *p; + size_t offset = 0; int wchar_size = 2; int le = 0; /* utf-16 or utf-32? */ - p = script; - assert(p >= script); - while ((size_t)(p-script) < script_size) { - p = memchr(p, 0, script_size-(p-script)-2); + while (offset < script_size && script_size - offset > 2) { + p = memchr(script + offset, 0, script_size - offset - 2); if (!p) { break; } @@ -344,13 +343,13 @@ } /* searching for UTF-32 specific byte orders, so this will do */ - p += 4; + offset = p - script + 4; } /* BE or LE? */ - p = script; - assert(p >= script); - while ((size_t)(p-script) < script_size) { + offset = 0; + while (script_size - offset >= (size_t) wchar_size) { + p = script + offset; if (*p == '\0' && *(p+wchar_size-1) != '\0') { /* BE */ le = 0; @@ -360,7 +359,7 @@ le = 1; break; } - p += wchar_size; + offset += wchar_size; } if (wchar_size == 2) { diff -Nru php8.4-8.4.24/Zend/zend_virtual_cwd.c php8.4-8.4.26/Zend/zend_virtual_cwd.c --- php8.4-8.4.24/Zend/zend_virtual_cwd.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/Zend/zend_virtual_cwd.c 2026-09-22 15:00:02.000000000 +0000 @@ -1028,6 +1028,19 @@ fprintf(stderr,"cwd = %s path = %s\n", state->cwd, path); #endif +#ifdef ZEND_WIN32 + switch (php_win32_ioutil_path_kind_a(path, path_length)) { + case PHP_WIN32_IOUTIL_PATH_RESERVED: + SET_ERRNO_FROM_WIN32_CODE(ERROR_INVALID_NAME); + return 1; + case PHP_WIN32_IOUTIL_PATH_DEVICE: + memcpy(resolved_path, path, path_length + 1); + goto verify; + default: + break; + } +#endif + /* cwd_length can be 0 when getcwd() fails. * This can happen under solaris when a dir does not have read permissions * but *does* have execute permissions */ diff -Nru php8.4-8.4.24/configure php8.4-8.4.26/configure --- php8.4-8.4.24/configure 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/configure 2026-09-22 15:00:02.000000000 +0000 @@ -1,11 +1,11 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.73 for PHP 8.4.24. +# Generated by GNU Autoconf 2.72 for PHP 8.4.26. # # Report bugs to . # # -# Copyright (C) 1992-1996, 1998-2017, 2020-2026 Free Software Foundation, +# Copyright (C) 1992-1996, 1998-2017, 2020-2023 Free Software Foundation, # Inc. # # @@ -22,7 +22,7 @@ emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # contradicts POSIX and common usage. Disable this. + # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case e in #( @@ -109,7 +109,7 @@ as_myself=$0 fi if test ! -f "$as_myself"; then - printf '%s\n' "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi @@ -131,13 +131,10 @@ *x* ) as_opts=-x ;; * ) as_opts= ;; esac -case $# in # (( - 0) exec $CONFIG_SHELL $as_opts "$as_myself" ;; - *) exec $CONFIG_SHELL $as_opts "$as_myself" "$@" ;; -esac +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed 'exec'. -printf '%s\n' "$0: could not re-execute with $CONFIG_SHELL" >&2 +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 exit 255 fi # We don't want this to propagate to other subprocesses. @@ -148,7 +145,7 @@ emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which - # contradicts POSIX and common usage. Disable this. + # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case e in #( @@ -258,25 +255,22 @@ *x* ) as_opts=-x ;; * ) as_opts= ;; esac -case $# in # (( - 0) exec $CONFIG_SHELL $as_opts "$as_myself" ;; - *) exec $CONFIG_SHELL $as_opts "$as_myself" "$@" ;; -esac +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed 'exec'. -printf '%s\n' "$0: could not re-execute with $CONFIG_SHELL" >&2 +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 exit 255 fi if test x$as_have_required = xno then : - printf '%s\n' "$0: This script requires a shell more modern than all" - printf '%s\n' "$0: the shells that I found on your system." + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." if test ${ZSH_VERSION+y} ; then - printf '%s\n' "$0: In particular, zsh $ZSH_VERSION has bugs and should" - printf '%s\n' "$0: be upgraded to zsh 4.3.4 or later." + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." else - printf '%s\n' "$0: Please tell bug-autoconf@gnu.org and + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org and $0: https://github.com/php/php-src/issues about your $0: system, including any error possibly output before this $0: message. Then install a modern shell, or manually run @@ -337,7 +331,7 @@ as_dirs= while :; do case $as_dir in #( - *\'*) as_qdir=`printf '%s\n' "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" @@ -346,7 +340,7 @@ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -printf '%s\n' X"$as_dir" | +printf "%s\n" X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q @@ -429,9 +423,9 @@ as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi - printf '%s\n' "$as_me: error: $2" >&2 + printf "%s\n" "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error @@ -458,7 +452,7 @@ $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || -printf '%s\n' X/"$0" | +printf "%s\n" X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q @@ -504,7 +498,7 @@ s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || - { printf '%s\n' "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } + { printf "%s\n" "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } # If we had to re-execute with $CONFIG_SHELL, we're ensured to have # already done that, so ensure we don't try to do so again and fall @@ -518,6 +512,29 @@ exit } + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in #((((( +-n*) + case `echo 'xy\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; + esac;; +*) + ECHO_N='-n';; +esac + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file @@ -617,10 +634,8 @@ if (d1 < d2) exit 1 if (d1 > d2) exit 2 } - # Beware Solaris 11 /usr/xgp4/bin/awk, which mishandles some - # comparisons of empty strings to integers. For example, - # LC_ALL=C /usr/xpg4/bin/awk "BEGIN {if (-1 < \"\") print \"a\"}" - # prints "a". + # Beware Solaris /usr/xgp4/bin/awk (at least through Solaris 10), + # which mishandles some comparisons of empty strings to integers. if (length(v2)) exit 1 if (length(v1)) exit 2 } @@ -790,7 +805,6 @@ # Initializations. # ac_default_prefix=/usr/local -ac_clean_CONFIG_STATUS= ac_clean_files= ac_config_libobj_dir=. LIBOBJS= @@ -802,8 +816,8 @@ # Identity of this package. PACKAGE_NAME='PHP' PACKAGE_TARNAME='php' -PACKAGE_VERSION='8.4.24' -PACKAGE_STRING='PHP 8.4.24' +PACKAGE_VERSION='8.4.26' +PACKAGE_STRING='PHP 8.4.26' PACKAGE_BUGREPORT='https://github.com/php/php-src/issues' PACKAGE_URL='https://www.php.net' @@ -1008,13 +1022,13 @@ SED EGREP GREP -ECHO_T -ECHO_N -ECHO_C target_alias host_alias build_alias LIBS +ECHO_T +ECHO_N +ECHO_C DEFS mandir localedir @@ -1164,13 +1178,13 @@ enable_opcache_jit with_capstone enable_pcntl +enable_pdo with_pdo_dblib with_pdo_firebird with_pdo_mysql with_pdo_odbc with_pdo_pgsql with_pdo_sqlite -enable_pdo with_pgsql enable_phar enable_posix @@ -1420,7 +1434,7 @@ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: '$ac_useropt'" ac_useropt_orig=$ac_useropt - ac_useropt=`printf '%s\n' "$ac_useropt" | sed 's/[-+.]/_/g'` + ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" @@ -1446,7 +1460,7 @@ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: '$ac_useropt'" ac_useropt_orig=$ac_useropt - ac_useropt=`printf '%s\n' "$ac_useropt" | sed 's/[-+.]/_/g'` + ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" @@ -1659,7 +1673,7 @@ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: '$ac_useropt'" ac_useropt_orig=$ac_useropt - ac_useropt=`printf '%s\n' "$ac_useropt" | sed 's/[-+.]/_/g'` + ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" @@ -1675,7 +1689,7 @@ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: '$ac_useropt'" ac_useropt_orig=$ac_useropt - ac_useropt=`printf '%s\n' "$ac_useropt" | sed 's/[-+.]/_/g'` + ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" @@ -1719,9 +1733,9 @@ *) # FIXME: should be removed in autoconf 3.0. - printf '%s\n' "$as_me: WARNING: you should use --build, --host, --target" >&2 + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && - printf '%s\n' "$as_me: WARNING: invalid host type: $ac_option" >&2 + printf "%s\n" "$as_me: WARNING: invalid host type: $ac_option" >&2 : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" ;; @@ -1729,7 +1743,7 @@ done if test -n "$ac_prev"; then - ac_option=--`printf '%s\n' $ac_prev | sed 's/_/-/g'` + ac_option=--`echo $ac_prev | sed 's/_/-/g'` as_fn_error $? "missing argument to $ac_option" fi @@ -1737,7 +1751,7 @@ case $enable_option_checking in no) ;; fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; - *) printf '%s\n' "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; + *) printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi @@ -1801,7 +1815,7 @@ X"$as_myself" : 'X\(//\)[^/]' \| \ X"$as_myself" : 'X\(//\)$' \| \ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || -printf '%s\n' X"$as_myself" | +printf "%s\n" X"$as_myself" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q @@ -1858,7 +1872,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -'configure' configures PHP 8.4.24 to adapt to many kinds of systems. +'configure' configures PHP 8.4.26 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1930,7 +1944,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of PHP 8.4.24:";; + short | recursive ) echo "Configuration of PHP 8.4.26:";; esac cat <<\_ACEOF @@ -2126,6 +2140,7 @@ --disable-opcache-jit Disable JIT --with-capstone Support opcache JIT disassembly through Capstone --enable-pcntl Enable pcntl support (CLI/CGI only) + --disable-pdo Disable PHP Data Objects support --with-pdo-dblib[=DIR] PDO: DBLIB-DB support. DIR is the FreeTDS home directory --with-pdo-firebird[=DIR] @@ -2154,7 +2169,6 @@ environment variables can be used instead of the DIR argument to customize the libpq paths. --without-pdo-sqlite PDO: sqlite 3 support. - --disable-pdo Disable PHP Data Objects support --with-pgsql[=DIR] Include PostgreSQL support. Optional DIR is the PostgreSQL base install directory or the path to pg_config. Also, the PGSQL_CFLAGS and PGSQL_LIBS @@ -2387,9 +2401,9 @@ case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) - ac_dir_suffix=/`printf '%s\n' "$ac_dir" | sed 's|^\.[\\/]||'` + ac_dir_suffix=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`printf '%s\n' "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + ac_top_builddir_sub=`printf "%s\n" "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; @@ -2426,7 +2440,7 @@ echo && $SHELL "$ac_srcdir/configure" --help=recursive else - printf '%s\n' "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + printf "%s\n" "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done @@ -2435,10 +2449,10 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -PHP configure 8.4.24 -generated by GNU Autoconf 2.73 +PHP configure 8.4.26 +generated by GNU Autoconf 2.72 -Copyright (C) 2026 Free Software Foundation, Inc. +Copyright (C) 2023 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF @@ -2462,7 +2476,7 @@ *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -printf '%s\n' "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>conftest.err ac_status=$? if test -s conftest.err; then @@ -2470,7 +2484,7 @@ cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err @@ -2478,7 +2492,7 @@ then : ac_retval=0 else case e in #( - e) printf '%s\n' "$as_me: failed program was:" >&5 + e) printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 ;; @@ -2501,7 +2515,7 @@ *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -printf '%s\n' "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err ac_status=$? if test -s conftest.err; then @@ -2509,7 +2523,7 @@ cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } > conftest.i && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err @@ -2517,7 +2531,7 @@ then : ac_retval=0 else case e in #( - e) printf '%s\n' "$as_me: failed program was:" >&5 + e) printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 ;; @@ -2535,7 +2549,7 @@ ac_fn_c_check_header_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 printf %s "checking for $2... " >&6; } if eval test \${$3+y} then : @@ -2557,8 +2571,8 @@ esac fi eval ac_res=\$$3 - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf '%s\n' "$ac_res" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_compile @@ -2576,7 +2590,7 @@ *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -printf '%s\n' "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_link") 2>conftest.err ac_status=$? if test -s conftest.err; then @@ -2584,7 +2598,7 @@ cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err @@ -2595,7 +2609,7 @@ then : ac_retval=0 else case e in #( - e) printf '%s\n' "$as_me: failed program was:" >&5 + e) printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 ;; @@ -2617,7 +2631,7 @@ ac_fn_c_check_func () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 printf %s "checking for $2... " >&6; } if eval test \${$3+y} then : @@ -2669,8 +2683,8 @@ esac fi eval ac_res=\$$3 - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf '%s\n' "$ac_res" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_func @@ -2688,26 +2702,26 @@ *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -printf '%s\n' "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -printf '%s\n' "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; } then : ac_retval=0 else case e in #( - e) printf '%s\n' "$as_me: program exited with status $ac_status" >&5 - printf '%s\n' "$as_me: failed program was:" >&5 + e) printf "%s\n" "$as_me: program exited with status $ac_status" >&5 + printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=$ac_status ;; @@ -2732,7 +2746,7 @@ *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -printf '%s\n' "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>conftest.err ac_status=$? if test -s conftest.err; then @@ -2740,7 +2754,7 @@ cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err @@ -2748,7 +2762,7 @@ then : ac_retval=0 else case e in #( - e) printf '%s\n' "$as_me: failed program was:" >&5 + e) printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 ;; @@ -2771,7 +2785,7 @@ *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -printf '%s\n' "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err ac_status=$? if test -s conftest.err; then @@ -2779,7 +2793,7 @@ cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } > conftest.i && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || test ! -s conftest.err @@ -2787,7 +2801,7 @@ then : ac_retval=0 else case e in #( - e) printf '%s\n' "$as_me: failed program was:" >&5 + e) printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 ;; @@ -2806,7 +2820,7 @@ { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack as_decl_name=`echo $2|sed 's/ *(.*//'` - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5 printf %s "checking whether $as_decl_name is declared... " >&6; } if eval test \${$3+y} then : @@ -2846,8 +2860,8 @@ esac fi eval ac_res=\$$3 - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf '%s\n' "$ac_res" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_check_decl @@ -2859,7 +2873,7 @@ ac_fn_c_check_member () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5 printf %s "checking for $2.$3... " >&6; } if eval test \${$4+y} then : @@ -2909,8 +2923,8 @@ esac fi eval ac_res=\$$4 - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf '%s\n' "$ac_res" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_member @@ -2922,7 +2936,7 @@ ac_fn_c_check_type () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 printf %s "checking for $2... " >&6; } if eval test \${$3+y} then : @@ -2968,8 +2982,8 @@ esac fi eval ac_res=\$$3 - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf '%s\n' "$ac_res" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_type @@ -3173,7 +3187,7 @@ do case $ac_arg in *\'*) - ac_arg=`printf '%s\n' "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac as_fn_append ac_configure_args_raw " '$ac_arg'" done @@ -3185,15 +3199,15 @@ ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. ac_unsafe_a="$ac_unsafe_z#~" ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" - ac_configure_args_raw=` printf '%s\n' "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; esac cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by PHP $as_me 8.4.24, which was -generated by GNU Autoconf 2.73. Invocation command line was +It was created by PHP $as_me 8.4.26, which was +generated by GNU Autoconf 2.72. Invocation command line was $ $0$ac_configure_args_raw @@ -3233,7 +3247,7 @@ */) ;; *) as_dir=$as_dir/ ;; esac - printf '%s\n' "PATH: $as_dir" + printf "%s\n" "PATH: $as_dir" done IFS=$as_save_IFS @@ -3268,7 +3282,7 @@ | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) - ac_arg=`printf '%s\n' "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; @@ -3297,22 +3311,31 @@ { ac_configure_args0=; unset ac_configure_args0;} { ac_configure_args1=; unset ac_configure_args1;} -# Dump the cache to stdout. It can be in a pipe (this is a requirement). -ac_cache_dump () -{ - # The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, we kill variables containing newlines. -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log. We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Use '\'' to represent an apostrophe within the trap. +# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. +trap 'exit_status=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## Cache variables. ## +## ---------------- ##" + echo + # The following way of writing the cache mishandles newlines in values, ( - for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do + for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( - *_cv_*) { printf '%s\n' "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -printf '%s\n' "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( @@ -3321,95 +3344,67 @@ esac ;; esac done - (set) 2>&1 | - case $as_nl`(ac_space=' '; set) 2>&1` in #( + case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( *${as_nl}ac_space=\ *) - # 'set' does not quote correctly, so add quotes: double-quote - # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ - "s/'/'\\\\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + "s/'\''/'\''\\\\'\'''\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ;; #( *) - # 'set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) -} - -# Print debugging info to stdout. -ac_dump_debugging_info () -{ - echo - - printf '%s\n' "## ---------------- ## -## Cache variables. ## -## ---------------- ##" - echo - ac_cache_dump - echo + echo - printf '%s\n' "## ----------------- ## + printf "%s\n" "## ----------------- ## ## Output variables. ## ## ----------------- ##" - echo - for ac_var in $ac_subst_vars - do - eval ac_val=\$$ac_var - case $ac_val in - *\'*) ac_val=`printf '%s\n' "$ac_val" | sed "s/'/'\\\\\\\\''/g"`;; - esac - printf '%s\n' "$ac_var='$ac_val'" - done | sort - echo - - if test -n "$ac_subst_files"; then - printf '%s\n' "## ------------------- ## -## File substitutions. ## -## ------------------- ##" echo - for ac_var in $ac_subst_files + for ac_var in $ac_subst_vars do eval ac_val=\$$ac_var case $ac_val in - *\'*) ac_val=`printf '%s\n' "$ac_val" | sed "s/'/'\\\\\\\\''/g"`;; + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac - printf '%s\n' "$ac_var='$ac_val'" + printf "%s\n" "$ac_var='\''$ac_val'\''" done | sort echo - fi - if test -s confdefs.h; then - printf '%s\n' "## ----------- ## + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## ## confdefs.h. ## ## ----------- ##" - echo - cat confdefs.h - echo - fi - test "$ac_signal" != 0 && - printf '%s\n' "$as_me: caught signal $ac_signal" - printf '%s\n' "$as_me: exit $exit_status" -} - -# When interrupted or exit'd, cleanup temporary files, and complete -# config.log. -ac_exit_trap () -{ - exit_status= - # Sanitize IFS. - IFS=" "" $as_nl" - # Save into config.log some information that might help in debugging. - ac_dump_debugging_info >&5 - eval "rm -f $ac_clean_CONFIG_STATUS core *.core core.conftest.*" && + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$as_me: exit $exit_status" + } >&5 + rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status -} - -trap 'ac_exit_trap $?' 0 +' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal done @@ -3418,21 +3413,21 @@ # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h -printf '%s\n' "/* confdefs.h */" > confdefs.h +printf "%s\n" "/* confdefs.h */" > confdefs.h # Predefined preprocessor variables. -printf '%s\n' "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h -printf '%s\n' "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h -printf '%s\n' "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h -printf '%s\n' "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h -printf '%s\n' "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h -printf '%s\n' "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h # Let the site file select an alternate cache file if it wants to. @@ -3454,12 +3449,12 @@ ac_site_file=./$ac_site_file ;; esac if test -f "$ac_site_file" && test -r "$ac_site_file"; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 -printf '%s\n' "$as_me: loading site script $ac_site_file" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" \ - || { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "failed to load site script $ac_site_file See 'config.log' for more details" "$LINENO" 5; } fi @@ -3469,120 +3464,27 @@ # Some versions of bash will fail to source /dev/null (special files # actually), so we avoid doing that. DJGPP emulates it as a regular file. if test /dev/null != "$cache_file" && test -f "$cache_file"; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 -printf '%s\n' "$as_me: loading cache $cache_file" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 -printf '%s\n' "$as_me: creating cache $cache_file" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} >$cache_file fi -# Test code for whether the C compiler supports C23 (global declarations) -ac_c_conftest_c23_globals=' -/* Does the compiler advertise conformance to C17 or earlier? - Although GCC 14 does not do that, even with -std=gnu23, - it is close enough, and defines __STDC_VERSION == 202000L. */ -#if !defined __STDC_VERSION__ || __STDC_VERSION__ <= 201710L -# error "Compiler advertises conformance to C17 or earlier" -#endif - -// Check alignas. -char alignas (double) c23_aligned_as_double; -char alignas (0) c23_no_special_alignment; -extern char c23_aligned_as_int; -char alignas (0) alignas (int) c23_aligned_as_int; - -// Check alignof. -enum -{ - c23_int_alignment = alignof (int), - c23_int_array_alignment = alignof (int[100]), - c23_char_alignment = alignof (char) -}; -static_assert (0 < -alignof (int), "alignof is signed"); - -int function_with_unnamed_parameter (int) { return 0; } - -void c23_noreturn (); - -/* Test parsing of string and char UTF-8 literals (including hex escapes). - The parens pacify GCC 15. */ -bool use_u8 = (!sizeof u8"\xFF") == (!u8'\''x'\''); - -bool check_that_bool_works = true | false | !nullptr; -#if !true -# error "true does not work in #if" -#endif -#if false -#elifdef __STDC_VERSION__ -#else -# error "#elifdef does not work" -#endif - -#ifndef __has_c_attribute -# error "__has_c_attribute not defined" -#endif - -#ifndef __has_include -# error "__has_include not defined" -#endif - -#define LPAREN() ( -#define FORTY_TWO(x) 42 -#define VA_OPT_TEST(r, x, ...) __VA_OPT__ (FORTY_TWO r x)) -static_assert (VA_OPT_TEST (LPAREN (), 0, <:-) == 42); - -static_assert (0b101010 == 42); -static_assert (0B101010 == 42); -static_assert (0xDEAD'\''BEEF == 3'\''735'\''928'\''559); -static_assert (0.500'\''000'\''000 == 0.5); - -enum unsignedish : unsigned int { uione = 1 }; -static_assert (0 < -uione); - -#include -constexpr nullptr_t null_pointer = nullptr; - -static typeof (1 + 1L) two () { return 2; } -static long int three () { return 3; } -' - -# Test code for whether the C compiler supports C23 (body of main). -ac_c_conftest_c23_main=' - { - label_before_declaration: - int arr[10] = {}; - if (arr[0]) - goto label_before_declaration; - if (!arr[0]) - goto label_at_end_of_block; - label_at_end_of_block: - } - ok |= !null_pointer; - ok |= two != three; -' - -# Test code for whether the C compiler supports C23 (complete). -ac_c_conftest_c23_program="${ac_c_conftest_c23_globals} - -int -main (int, char **) -{ - int ok = 0; - ${ac_c_conftest_c23_main} - return ok; -} -" - # Test code for whether the C compiler supports C89 (global declarations) ac_c_conftest_c89_globals=' -/* Do not test the value of __STDC__, because some compilers define it to 0 - or do not define it, while otherwise adequately conforming. */ +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif #include #include @@ -3662,8 +3564,7 @@ // Check varargs macros. These examples are taken from C99 6.10.3.5. // dprintf is used instead of fprintf to avoid needing to declare -// FILE and stderr, and "aND" is used instead of "and" to work around -// GCC bug 40564 which is irrelevant here. +// FILE and stderr. #define debug(...) dprintf (2, __VA_ARGS__) #define showlist(...) puts (#__VA_ARGS__) #define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) @@ -3674,7 +3575,7 @@ int y = 5678; debug ("Flag"); debug ("X = %d\n", x); - showlist (The first, second, aND third items.); + showlist (The first, second, and third items.); report (x>y, "x is %d but y is %d", x, y); } @@ -3762,15 +3663,15 @@ // Check restrict. if (test_restrict ("String literal") == 0) success = true; - const char *restrict newvar = "Another string"; + char *restrict newvar = "Another string"; // Check varargs. success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); test_varargs_macros (); // Check flexible array members. - static struct incomplete_array *volatile incomplete_array_pointer; - struct incomplete_array *ia = incomplete_array_pointer; + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); ia->datasize = 10; for (int i = 0; i < ia->datasize; ++i) ia->data[i] = i * 1.234; @@ -3786,12 +3687,13 @@ ni.number = 58; - // Do not test for VLAs, as some otherwise-conforming compilers lack them. - // C code should instead use __STDC_NO_VLA__; see Autoconf manual. + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; // work around unused variable warnings ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' - || ni.number != 58); + || dynamic_array[ni.number - 1] != 543); ' # Test code for whether the C compiler supports C11 (global declarations) @@ -3911,6 +3813,222 @@ as_fn_append ac_header_c_list " unistd.h unistd_h HAVE_UNISTD_H" as_fn_append ac_header_c_list " wchar.h wchar_h HAVE_WCHAR_H" as_fn_append ac_header_c_list " minix/config.h minix_config_h HAVE_MINIX_CONFIG_H" +# Test code for whether the C++ compiler supports C++98 (global declarations) +ac_cxx_conftest_cxx98_globals=' +// Does the compiler advertise C++98 conformance? +#if !defined __cplusplus || __cplusplus < 199711L +# error "Compiler does not advertise C++98 conformance" +#endif + +// These inclusions are to reject old compilers that +// lack the unsuffixed header files. +#include +#include + +// and are *not* freestanding headers in C++98. +extern void assert (int); +namespace std { + extern int strcmp (const char *, const char *); +} + +// Namespaces, exceptions, and templates were all added after "C++ 2.0". +using std::exception; +using std::strcmp; + +namespace { + +void test_exception_syntax() +{ + try { + throw "test"; + } catch (const char *s) { + // Extra parentheses suppress a warning when building autoconf itself, + // due to lint rules shared with more typical C programs. + assert (!(strcmp) (s, "test")); + } +} + +template struct test_template +{ + T const val; + explicit test_template(T t) : val(t) {} + template T add(U u) { return static_cast(u) + val; } +}; + +} // anonymous namespace +' + +# Test code for whether the C++ compiler supports C++98 (body of main) +ac_cxx_conftest_cxx98_main=' + assert (argc); + assert (! argv[0]); +{ + test_exception_syntax (); + test_template tt (2.0); + assert (tt.add (4) == 6.0); + assert (true && !false); +} +' + +# Test code for whether the C++ compiler supports C++11 (global declarations) +ac_cxx_conftest_cxx11_globals=' +// Does the compiler advertise C++ 2011 conformance? +#if !defined __cplusplus || __cplusplus < 201103L +# error "Compiler does not advertise C++11 conformance" +#endif + +namespace cxx11test +{ + constexpr int get_val() { return 20; } + + struct testinit + { + int i; + double d; + }; + + class delegate + { + public: + delegate(int n) : n(n) {} + delegate(): delegate(2354) {} + + virtual int getval() { return this->n; }; + protected: + int n; + }; + + class overridden : public delegate + { + public: + overridden(int n): delegate(n) {} + virtual int getval() override final { return this->n * 2; } + }; + + class nocopy + { + public: + nocopy(int i): i(i) {} + nocopy() = default; + nocopy(const nocopy&) = delete; + nocopy & operator=(const nocopy&) = delete; + private: + int i; + }; + + // for testing lambda expressions + template Ret eval(Fn f, Ret v) + { + return f(v); + } + + // for testing variadic templates and trailing return types + template auto sum(V first) -> V + { + return first; + } + template auto sum(V first, Args... rest) -> V + { + return first + sum(rest...); + } +} +' + +# Test code for whether the C++ compiler supports C++11 (body of main) +ac_cxx_conftest_cxx11_main=' +{ + // Test auto and decltype + auto a1 = 6538; + auto a2 = 48573953.4; + auto a3 = "String literal"; + + int total = 0; + for (auto i = a3; *i; ++i) { total += *i; } + + decltype(a2) a4 = 34895.034; +} +{ + // Test constexpr + short sa[cxx11test::get_val()] = { 0 }; +} +{ + // Test initializer lists + cxx11test::testinit il = { 4323, 435234.23544 }; +} +{ + // Test range-based for + int array[] = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3, + 14, 19, 17, 8, 6, 20, 16, 2, 11, 1}; + for (auto &x : array) { x += 23; } +} +{ + // Test lambda expressions + using cxx11test::eval; + assert (eval ([](int x) { return x*2; }, 21) == 42); + double d = 2.0; + assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); + assert (d == 5.0); + assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); + assert (d == 5.0); +} +{ + // Test use of variadic templates + using cxx11test::sum; + auto a = sum(1); + auto b = sum(1, 2); + auto c = sum(1.0, 2.0, 3.0); +} +{ + // Test constructor delegation + cxx11test::delegate d1; + cxx11test::delegate d2(); + cxx11test::delegate d3(45); +} +{ + // Test override and final + cxx11test::overridden o1(55464); +} +{ + // Test nullptr + char *c = nullptr; +} +{ + // Test template brackets + test_template<::test_template> v(test_template(12)); +} +{ + // Unicode literals + char const *utf8 = u8"UTF-8 string \u2500"; + char16_t const *utf16 = u"UTF-8 string \u2500"; + char32_t const *utf32 = U"UTF-32 string \u2500"; +} +' + +# Test code for whether the C compiler supports C++11 (complete). +ac_cxx_conftest_cxx11_program="${ac_cxx_conftest_cxx98_globals} +${ac_cxx_conftest_cxx11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + ${ac_cxx_conftest_cxx11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C++98 (complete). +ac_cxx_conftest_cxx98_program="${ac_cxx_conftest_cxx98_globals} +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + return ok; +} +" + # Auxiliary files required by this configure script. ac_aux_files="config.guess config.sub" @@ -3925,7 +4043,7 @@ # $ac_aux_dir_candidates and give up. ac_missing_aux_files="" ac_first_candidate=: -printf '%s\n' "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_found=false for as_dir in $ac_aux_dir_candidates @@ -3938,7 +4056,7 @@ esac as_found=: - printf '%s\n' "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 ac_aux_dir_found=yes ac_install_sh= for ac_aux in $ac_aux_files @@ -3949,13 +4067,13 @@ if test x"$ac_aux" = x"install-sh" then if test -f "${as_dir}install-sh"; then - printf '%s\n' "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 ac_install_sh="${as_dir}install-sh -c" elif test -f "${as_dir}install.sh"; then - printf '%s\n' "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 ac_install_sh="${as_dir}install.sh -c" elif test -f "${as_dir}shtool"; then - printf '%s\n' "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 ac_install_sh="${as_dir}shtool install -c" else ac_aux_dir_found=no @@ -3967,7 +4085,7 @@ fi else if test -f "${as_dir}${ac_aux}"; then - printf '%s\n' "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 else ac_aux_dir_found=no if $ac_first_candidate; then @@ -4020,44 +4138,38 @@ eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: '$ac_var' was set to '$ac_old_val' in the previous run" >&5 -printf '%s\n' "$as_me: error: '$ac_var' was set to '$ac_old_val' in the previous run" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: '$ac_var' was set to '$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: '$ac_var' was set to '$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: '$ac_var' was not set in the previous run" >&5 -printf '%s\n' "$as_me: error: '$ac_var' was not set in the previous run" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: '$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$as_me: error: '$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then # differences in whitespace do not lead to failure. - ac_old_val_w= - for ac_val in x $ac_old_val; do - ac_old_val_w="$ac_old_val_w $ac_val" - done - ac_new_val_w= - for ac_val in x $ac_new_val; do - ac_new_val_w="$ac_new_val_w $ac_val" - done + ac_old_val_w=`echo x $ac_old_val` + ac_new_val_w=`echo x $ac_new_val` if test "$ac_old_val_w" != "$ac_new_val_w"; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: '$ac_var' has changed since the previous run:" >&5 -printf '%s\n' "$as_me: error: '$ac_var' has changed since the previous run:" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: '$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: '$ac_var' has changed since the previous run:" >&2;} ac_cache_corrupted=: else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in '$ac_var' since the previous run:" >&5 -printf '%s\n' "$as_me: warning: ignoring whitespace changes in '$ac_var' since the previous run:" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in '$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in '$ac_var' since the previous run:" >&2;} eval $ac_var=\$ac_old_val fi - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: former value: '$ac_old_val'" >&5 -printf '%s\n' "$as_me: former value: '$ac_old_val'" >&2;} - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: current value: '$ac_new_val'" >&5 -printf '%s\n' "$as_me: current value: '$ac_new_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: '$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: '$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: '$ac_new_val'" >&5 +printf "%s\n" "$as_me: current value: '$ac_new_val'" >&2;} fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in - *\'*) ac_arg=$ac_var=`printf '%s\n' "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *\'*) ac_arg=$ac_var=`printf "%s\n" "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in @@ -4067,10 +4179,10 @@ fi done if $ac_cache_corrupted; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 -printf '%s\n' "$as_me: error: changes in the environment can compromise the build" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} as_fn_error $? "run '${MAKE-make} distclean' and/or 'rm $cache_file' and start over" "$LINENO" 5 fi @@ -4078,23 +4190,6 @@ ## Main body of script. ## ## -------------------- ## - -# Determine whether it's possible to make 'echo' print without a newline. -# These variables are no longer used directly by Autoconf, but are AC_SUBSTed -# for compatibility with existing Makefiles. -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in #((((( --n*) - case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; - esac;; -*) - ECHO_N='-n';; -esac - ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -4108,7 +4203,7 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 printf %s "checking for grep that handles long lines and -e... " >&6; } if test ${ac_cv_path_GREP+y} then : @@ -4145,7 +4240,7 @@ cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" - printf '%s\n' 'GREP' >> "conftest.nl" + printf "%s\n" 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val @@ -4174,12 +4269,12 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 -printf '%s\n' "$ac_cv_path_GREP" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +printf "%s\n" "$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 printf %s "checking for egrep... " >&6; } if test ${ac_cv_path_EGREP+y} then : @@ -4219,7 +4314,7 @@ cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" - printf '%s\n' 'EGREP' >> "conftest.nl" + printf "%s\n" 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val @@ -4249,14 +4344,14 @@ fi ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 -printf '%s\n' "$ac_cv_path_EGREP" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +printf "%s\n" "$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" EGREP_TRADITIONAL=$EGREP ac_cv_path_EGREP_TRADITIONAL=$EGREP -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 printf %s "checking for a sed that does not truncate output... " >&6; } if test ${ac_cv_path_SED+y} then : @@ -4299,7 +4394,7 @@ cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" - printf '%s\n' '' >> "conftest.nl" + printf "%s\n" '' >> "conftest.nl" "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val @@ -4328,8 +4423,8 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 -printf '%s\n' "$ac_cv_path_SED" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 +printf "%s\n" "$ac_cv_path_SED" >&6; } SED="$ac_cv_path_SED" rm -f conftest.sed @@ -4387,7 +4482,7 @@ else break fi - printf '%s\n' "$CURRENT_ARG \\" >>config.nice + printf "%s\n" "$CURRENT_ARG \\" >>config.nice CONFIGURE_OPTIONS="$CONFIGURE_OPTIONS $CURRENT_ARG" done echo '"$@"' >> config.nice @@ -4404,7 +4499,7 @@ $SHELL "${ac_aux_dir}config.sub" sun4 >/dev/null 2>&1 || as_fn_error $? "cannot run $SHELL ${ac_aux_dir}config.sub" "$LINENO" 5 -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 printf %s "checking build system type... " >&6; } if test ${ac_cv_build+y} then : @@ -4420,8 +4515,8 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 -printf '%s\n' "$ac_cv_build" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; *) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; @@ -4437,10 +4532,10 @@ # except with old shells: build_os=$* IFS=$ac_save_IFS -case $build_os in *\ *) build_os=`printf '%s\n' "$build_os" | sed 's/ /-/g'`;; esac +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 printf %s "checking host system type... " >&6; } if test ${ac_cv_host+y} then : @@ -4455,8 +4550,8 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 -printf '%s\n' "$ac_cv_host" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; *) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; @@ -4472,10 +4567,10 @@ # except with old shells: host_os=$* IFS=$ac_save_IFS -case $host_os in *\ *) host_os=`printf '%s\n' "$host_os" | sed 's/ /-/g'`;; esac +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 printf %s "checking target system type... " >&6; } if test ${ac_cv_target+y} then : @@ -4490,8 +4585,8 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 -printf '%s\n' "$ac_cv_target" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 +printf "%s\n" "$ac_cv_target" >&6; } case $ac_cv_target in *-*-*) ;; *) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; @@ -4507,7 +4602,7 @@ # except with old shells: target_os=$* IFS=$ac_save_IFS -case $target_os in *\ *) target_os=`printf '%s\n' "$target_os" | sed 's/ /-/g'`;; esac +case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac # The aliases save the names the user supplied, while $host etc. @@ -4533,7 +4628,7 @@ ac_IFS=$IFS; IFS="." -set $(echo 8.4.24 | "${SED}" 's/\([0-9\.]*\)\(.*\)/\1\.\2/') +set $(echo 8.4.26 | "${SED}" 's/\([0-9\.]*\)\(.*\)/\1\.\2/') IFS=$ac_IFS PHP_MAJOR_VERSION=$1 PHP_MINOR_VERSION=$2 @@ -4593,7 +4688,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_AWK+y} then : @@ -4615,7 +4710,7 @@ for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_AWK="$ac_prog" - printf '%s\n' "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -4627,11 +4722,11 @@ fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 -printf '%s\n' "$AWK" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 +printf "%s\n" "$AWK" >&6; } else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -4641,26 +4736,26 @@ case $AWK in #( *mawk) : - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: WARNING: mawk is known to have problems on some systems. You should install GNU awk" >&5 -printf '%s\n' "$as_me: WARNING: mawk is known to have problems on some systems. You should install GNU awk" >&2;} ;; #( + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: mawk is known to have problems on some systems. You should install GNU awk" >&5 +printf "%s\n" "$as_me: WARNING: mawk is known to have problems on some systems. You should install GNU awk" >&2;} ;; #( *gawk) : ;; #( bork) : as_fn_error $? "Could not find awk; Install GNU awk" "$LINENO" 5 ;; #( *) : - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking if $AWK is broken" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $AWK is broken" >&5 printf %s "checking if $AWK is broken... " >&6; } if ! $AWK 'function foo() {}' >/dev/null 2>&1 then : - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } as_fn_error $? "You should install GNU awk" "$LINENO" 5 else case e in #( - e) { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } ;; + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } ;; esac fi ;; @@ -4691,7 +4786,7 @@ if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_path_PKG_CONFIG+y} then : @@ -4714,7 +4809,7 @@ for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_path_PKG_CONFIG="$as_dir$ac_word$ac_exec_ext" - printf '%s\n' "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -4727,11 +4822,11 @@ fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG if test -n "$PKG_CONFIG"; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 -printf '%s\n' "$PKG_CONFIG" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +printf "%s\n" "$PKG_CONFIG" >&6; } else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -4740,7 +4835,7 @@ ac_pt_PKG_CONFIG=$PKG_CONFIG # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_path_ac_pt_PKG_CONFIG+y} then : @@ -4763,7 +4858,7 @@ for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_path_ac_pt_PKG_CONFIG="$as_dir$ac_word$ac_exec_ext" - printf '%s\n' "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -4776,11 +4871,11 @@ fi ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG if test -n "$ac_pt_PKG_CONFIG"; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 -printf '%s\n' "$ac_pt_PKG_CONFIG" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 +printf "%s\n" "$ac_pt_PKG_CONFIG" >&6; } else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi if test "x$ac_pt_PKG_CONFIG" = x; then @@ -4788,8 +4883,8 @@ else case $cross_compiling:$ac_tool_warned in yes:) -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -printf '%s\n' "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac PKG_CONFIG=$ac_pt_PKG_CONFIG @@ -4801,14 +4896,14 @@ fi if test -n "$PKG_CONFIG"; then _pkg_min_version=0.9.0 - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 printf %s "checking pkg-config is at least version $_pkg_min_version... " >&6; } if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } PKG_CONFIG="" fi fi @@ -4821,9 +4916,6 @@ - - - ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -4834,7 +4926,7 @@ do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_CC+y} then : @@ -4855,7 +4947,7 @@ for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - printf '%s\n' "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -4867,11 +4959,11 @@ fi CC=$ac_cv_prog_CC if test -n "$CC"; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -printf '%s\n' "$CC" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -4884,7 +4976,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_CC+y} then : @@ -4905,7 +4997,7 @@ for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" - printf '%s\n' "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -4917,11 +5009,11 @@ fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -printf '%s\n' "$ac_ct_CC" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -4933,8 +5025,8 @@ else case $cross_compiling:$ac_tool_warned in yes:) -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -printf '%s\n' "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC @@ -4942,13 +5034,13 @@ fi -test -z "$CC" && { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "no acceptable C compiler found in \$PATH See 'config.log' for more details" "$LINENO" 5; } # Provide some information about the compiler. -printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 +printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion -version; do @@ -4958,7 +5050,7 @@ *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -printf '%s\n' "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then @@ -4968,7 +5060,7 @@ cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done @@ -4988,9 +5080,9 @@ # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 printf %s "checking whether the C compiler works... " >&6; } -ac_link_default=`printf '%s\n' "$ac_link" | sed 's/ -o *conftest[^ ]*//'` +ac_link_default=`printf "%s\n" "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # The possible output files: ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" @@ -5011,10 +5103,10 @@ *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -printf '%s\n' "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_link_default") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } then : # Autoconf-2.13 could set the ac_cv_exeext variable to 'no'. @@ -5055,29 +5147,29 @@ fi if test -z "$ac_file" then : - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } -printf '%s\n' "$as_me: failed program was:" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -{ { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error 77 "C compiler cannot create executables See 'config.log' for more details" "$LINENO" 5; } else case e in #( - e) { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } ;; + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 printf %s "checking for C compiler default output file name... " >&6; } -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 -printf '%s\n' "$ac_file" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$ac_file" >&6; } ac_exeext=$ac_cv_exeext rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 printf %s "checking for suffix of executables... " >&6; } if { { ac_try="$ac_link" case "(($ac_try" in @@ -5085,10 +5177,10 @@ *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -printf '%s\n' "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } then : # If both 'conftest.exe' and 'conftest' are 'present' (well, observable) @@ -5105,15 +5197,15 @@ esac done else case e in #( - e) { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + e) { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of executables: cannot compile and link See 'config.log' for more details" "$LINENO" 5; } ;; esac fi rm -f conftest conftest$ac_cv_exeext -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 -printf '%s\n' "$ac_cv_exeext" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext @@ -5136,7 +5228,7 @@ ac_clean_files="$ac_clean_files conftest.out" # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 printf %s "checking whether we are cross compiling... " >&6; } if test "$cross_compiling" != yes; then { { ac_try="$ac_link" @@ -5145,10 +5237,10 @@ *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -printf '%s\n' "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if { ac_try='./conftest$ac_cv_exeext' { { case "(($ac_try" in @@ -5156,31 +5248,31 @@ *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -printf '%s\n' "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error 77 "cannot run C compiled programs. If you meant to cross compile, use '--host'. See 'config.log' for more details" "$LINENO" 5; } fi fi fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 -printf '%s\n' "$cross_compiling" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } rm -f conftest.$ac_ext conftest$ac_cv_exeext \ conftest.o conftest.obj conftest.out ac_clean_files=$ac_clean_files_save -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 printf %s "checking for suffix of object files... " >&6; } if test ${ac_cv_objext+y} then : @@ -5204,10 +5296,10 @@ *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -printf '%s\n' "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } then : for ac_file in conftest.o conftest.obj conftest.*; do @@ -5219,11 +5311,11 @@ esac done else case e in #( - e) printf '%s\n' "$as_me: failed program was:" >&5 + e) printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -{ { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of object files: cannot compile See 'config.log' for more details" "$LINENO" 5; } ;; esac @@ -5231,11 +5323,11 @@ rm -f conftest.$ac_cv_objext conftest.$ac_ext ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 -printf '%s\n' "$ac_cv_objext" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 printf %s "checking whether the compiler supports GNU C... " >&6; } if test ${ac_cv_c_compiler_gnu+y} then : @@ -5267,8 +5359,8 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 -printf '%s\n' "$ac_cv_c_compiler_gnu" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } ac_compiler_gnu=$ac_cv_c_compiler_gnu if test $ac_compiler_gnu = yes; then @@ -5278,7 +5370,7 @@ fi ac_test_CFLAGS=${CFLAGS+y} ac_save_CFLAGS=$CFLAGS -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 printf %s "checking whether $CC accepts -g... " >&6; } if test ${ac_cv_prog_cc_g+y} then : @@ -5346,8 +5438,8 @@ ac_c_werror_flag=$ac_save_c_werror_flag ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 -printf '%s\n' "$ac_cv_prog_cc_g" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } if test $ac_test_CFLAGS; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then @@ -5366,56 +5458,7 @@ ac_prog_cc_stdc=no if test x$ac_prog_cc_stdc = xno then : - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C23 features" >&5 -printf %s "checking for $CC option to enable C23 features... " >&6; } -if test ${ac_cv_prog_cc_c23+y} -then : - printf %s "(cached) " >&6 -else case e in #( - e) ac_cv_prog_cc_c23=no -ac_save_CC=$CC -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_c_conftest_c23_program -_ACEOF -for ac_arg in '' -std=gnu23 -do - CC="$ac_save_CC $ac_arg" - if ac_fn_c_try_compile "$LINENO" -then : - ac_cv_prog_cc_c23=$ac_arg -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam - test "x$ac_cv_prog_cc_c23" != "xno" && break -done -rm -f conftest.$ac_ext -CC=$ac_save_CC ;; -esac -fi - -if test "x$ac_cv_prog_cc_c23" = xno -then : - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -printf '%s\n' "unsupported" >&6; } -else case e in #( - e) if test "x$ac_cv_prog_cc_c23" = x -then : - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -printf '%s\n' "none needed" >&6; } -else case e in #( - e) { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c23" >&5 -printf '%s\n' "$ac_cv_prog_cc_c23" >&6; } - CC="$CC $ac_cv_prog_cc_c23" ;; -esac -fi - ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c23 - ac_prog_cc_stdc=c23 ;; -esac -fi -fi -if test x$ac_prog_cc_stdc = xno -then : - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 printf %s "checking for $CC option to enable C11 features... " >&6; } if test ${ac_cv_prog_cc_c11+y} then : @@ -5427,7 +5470,7 @@ /* end confdefs.h. */ $ac_c_conftest_c11_program _ACEOF -for ac_arg in '' -std=gnu11 -std:c11 +for ac_arg in '' -std=gnu11 do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO" @@ -5444,16 +5487,16 @@ if test "x$ac_cv_prog_cc_c11" = xno then : - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -printf '%s\n' "unsupported" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } else case e in #( e) if test "x$ac_cv_prog_cc_c11" = x then : - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -printf '%s\n' "none needed" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } else case e in #( - e) { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 -printf '%s\n' "$ac_cv_prog_cc_c11" >&6; } + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } CC="$CC $ac_cv_prog_cc_c11" ;; esac fi @@ -5464,7 +5507,7 @@ fi if test x$ac_prog_cc_stdc = xno then : - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 printf %s "checking for $CC option to enable C99 features... " >&6; } if test ${ac_cv_prog_cc_c99+y} then : @@ -5493,16 +5536,16 @@ if test "x$ac_cv_prog_cc_c99" = xno then : - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -printf '%s\n' "unsupported" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } else case e in #( e) if test "x$ac_cv_prog_cc_c99" = x then : - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -printf '%s\n' "none needed" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } else case e in #( - e) { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 -printf '%s\n' "$ac_cv_prog_cc_c99" >&6; } + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } CC="$CC $ac_cv_prog_cc_c99" ;; esac fi @@ -5513,7 +5556,7 @@ fi if test x$ac_prog_cc_stdc = xno then : - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 printf %s "checking for $CC option to enable C89 features... " >&6; } if test ${ac_cv_prog_cc_c89+y} then : @@ -5542,16 +5585,16 @@ if test "x$ac_cv_prog_cc_c89" = xno then : - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -printf '%s\n' "unsupported" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } else case e in #( e) if test "x$ac_cv_prog_cc_c89" = x then : - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -printf '%s\n' "none needed" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } else case e in #( - e) { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 -printf '%s\n' "$ac_cv_prog_cc_c89" >&6; } + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } CC="$CC $ac_cv_prog_cc_c89" ;; esac fi @@ -5573,7 +5616,7 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 printf %s "checking how to run the C preprocessor... " >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then @@ -5644,8 +5687,8 @@ else ac_cv_prog_CPP=$CPP fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 -printf '%s\n' "$CPP" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 +printf "%s\n" "$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do @@ -5693,8 +5736,8 @@ then : else case e in #( - e) { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + e) { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "C preprocessor \"$CPP\" fails sanity check See 'config.log' for more details" "$LINENO" 5; } ;; esac @@ -5707,7 +5750,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for egrep -e" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep -e" >&5 printf %s "checking for egrep -e... " >&6; } if test ${ac_cv_path_EGREP_TRADITIONAL+y} then : @@ -5744,7 +5787,7 @@ cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" - printf '%s\n' 'EGREP_TRADITIONAL' >> "conftest.nl" + printf "%s\n" 'EGREP_TRADITIONAL' >> "conftest.nl" "$ac_path_EGREP_TRADITIONAL" -E 'EGR(EP|AC)_TRADITIONAL$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val @@ -5806,7 +5849,7 @@ cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" - printf '%s\n' 'EGREP_TRADITIONAL' >> "conftest.nl" + printf "%s\n" 'EGREP_TRADITIONAL' >> "conftest.nl" "$ac_path_EGREP_TRADITIONAL" 'EGR(EP|AC)_TRADITIONAL$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val @@ -5837,13 +5880,13 @@ fi ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP_TRADITIONAL" >&5 -printf '%s\n' "$ac_cv_path_EGREP_TRADITIONAL" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP_TRADITIONAL" >&5 +printf "%s\n" "$ac_cv_path_EGREP_TRADITIONAL" >&6; } EGREP_TRADITIONAL=$ac_cv_path_EGREP_TRADITIONAL ICC="no" - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for icc" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for icc" >&5 printf %s "checking for icc... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -5853,13 +5896,13 @@ $EGREP_TRADITIONAL "^__INTEL_COMPILER" >/dev/null 2>&1 then : ICC="no" - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } else case e in #( e) ICC="yes" GCC="no" - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } ;; esac fi @@ -5868,7 +5911,7 @@ SUNCC="no" - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for suncc" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suncc" >&5 printf %s "checking for suncc... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -5878,15 +5921,15 @@ $EGREP_TRADITIONAL "^__SUNPRO_C" >/dev/null 2>&1 then : SUNCC="no" - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } else case e in #( e) SUNCC="yes" GCC="no" test -n "$auto_cflags" && CFLAGS="-O -xs -xstrconst -zlazyload" GCC="" - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } ;; esac fi @@ -5900,7 +5943,7 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 printf %s "checking how to run the C preprocessor... " >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then @@ -5971,8 +6014,8 @@ else ac_cv_prog_CPP=$CPP fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 -printf '%s\n' "$CPP" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 +printf "%s\n" "$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do @@ -6020,8 +6063,8 @@ then : else case e in #( - e) { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + e) { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "C preprocessor \"$CPP\" fails sanity check See 'config.log' for more details" "$LINENO" 5; } ;; esac @@ -6039,7 +6082,7 @@ if test $ac_cache; then ac_fn_c_check_header_compile "$LINENO" $ac_header ac_cv_header_$ac_cache "$ac_includes_default" if eval test \"x\$ac_cv_header_$ac_cache\" = xyes; then - printf '%s\n' "#define $ac_item 1" >> confdefs.h + printf "%s\n" "#define $ac_item 1" >> confdefs.h fi ac_header= ac_cache= elif test $ac_header; then @@ -6059,7 +6102,7 @@ if test $ac_cv_header_stdlib_h = yes && test $ac_cv_header_string_h = yes then : -printf '%s\n' "#define STDC_HEADERS 1" >>confdefs.h +printf "%s\n" "#define STDC_HEADERS 1" >>confdefs.h fi @@ -6068,7 +6111,7 @@ - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5 printf %s "checking whether it is safe to define __EXTENSIONS__... " >&6; } if test ${ac_cv_safe_to_define___extensions__+y} then : @@ -6097,10 +6140,10 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5 -printf '%s\n' "$ac_cv_safe_to_define___extensions__" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5 +printf "%s\n" "$ac_cv_safe_to_define___extensions__" >&6; } - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether _XOPEN_SOURCE should be defined" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether _XOPEN_SOURCE should be defined" >&5 printf %s "checking whether _XOPEN_SOURCE should be defined... " >&6; } if test ${ac_cv_should_define__xopen_source+y} then : @@ -6151,51 +6194,49 @@ fi ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_should_define__xopen_source" >&5 -printf '%s\n' "$ac_cv_should_define__xopen_source" >&6; } - - printf '%s\n' "#define _ALL_SOURCE 1" >>confdefs.h +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_should_define__xopen_source" >&5 +printf "%s\n" "$ac_cv_should_define__xopen_source" >&6; } - printf '%s\n' "#define _COSMO_SOURCE 1" >>confdefs.h + printf "%s\n" "#define _ALL_SOURCE 1" >>confdefs.h - printf '%s\n' "#define _DARWIN_C_SOURCE 1" >>confdefs.h + printf "%s\n" "#define _DARWIN_C_SOURCE 1" >>confdefs.h - printf '%s\n' "#define _GNU_SOURCE 1" >>confdefs.h + printf "%s\n" "#define _GNU_SOURCE 1" >>confdefs.h - printf '%s\n' "#define _HPUX_ALT_XOPEN_SOCKET_API 1" >>confdefs.h + printf "%s\n" "#define _HPUX_ALT_XOPEN_SOCKET_API 1" >>confdefs.h - printf '%s\n' "#define _NETBSD_SOURCE 1" >>confdefs.h + printf "%s\n" "#define _NETBSD_SOURCE 1" >>confdefs.h - printf '%s\n' "#define _OPENBSD_SOURCE 1" >>confdefs.h + printf "%s\n" "#define _OPENBSD_SOURCE 1" >>confdefs.h - printf '%s\n' "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h + printf "%s\n" "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h - printf '%s\n' "#define __STDC_WANT_IEC_60559_ATTRIBS_EXT__ 1" >>confdefs.h + printf "%s\n" "#define __STDC_WANT_IEC_60559_ATTRIBS_EXT__ 1" >>confdefs.h - printf '%s\n' "#define __STDC_WANT_IEC_60559_BFP_EXT__ 1" >>confdefs.h + printf "%s\n" "#define __STDC_WANT_IEC_60559_BFP_EXT__ 1" >>confdefs.h - printf '%s\n' "#define __STDC_WANT_IEC_60559_DFP_EXT__ 1" >>confdefs.h + printf "%s\n" "#define __STDC_WANT_IEC_60559_DFP_EXT__ 1" >>confdefs.h - printf '%s\n' "#define __STDC_WANT_IEC_60559_EXT__ 1" >>confdefs.h + printf "%s\n" "#define __STDC_WANT_IEC_60559_EXT__ 1" >>confdefs.h - printf '%s\n' "#define __STDC_WANT_IEC_60559_FUNCS_EXT__ 1" >>confdefs.h + printf "%s\n" "#define __STDC_WANT_IEC_60559_FUNCS_EXT__ 1" >>confdefs.h - printf '%s\n' "#define __STDC_WANT_IEC_60559_TYPES_EXT__ 1" >>confdefs.h + printf "%s\n" "#define __STDC_WANT_IEC_60559_TYPES_EXT__ 1" >>confdefs.h - printf '%s\n' "#define __STDC_WANT_LIB_EXT2__ 1" >>confdefs.h + printf "%s\n" "#define __STDC_WANT_LIB_EXT2__ 1" >>confdefs.h - printf '%s\n' "#define __STDC_WANT_MATH_SPEC_FUNCS__ 1" >>confdefs.h + printf "%s\n" "#define __STDC_WANT_MATH_SPEC_FUNCS__ 1" >>confdefs.h - printf '%s\n' "#define _TANDEM_SOURCE 1" >>confdefs.h + printf "%s\n" "#define _TANDEM_SOURCE 1" >>confdefs.h if test $ac_cv_header_minix_config_h = yes then : MINIX=yes - printf '%s\n' "#define _MINIX 1" >>confdefs.h + printf "%s\n" "#define _MINIX 1" >>confdefs.h - printf '%s\n' "#define _POSIX_SOURCE 1" >>confdefs.h + printf "%s\n" "#define _POSIX_SOURCE 1" >>confdefs.h - printf '%s\n' "#define _POSIX_1_SOURCE 2" >>confdefs.h + printf "%s\n" "#define _POSIX_1_SOURCE 2" >>confdefs.h else case e in #( e) MINIX= ;; @@ -6203,24 +6244,24 @@ fi if test $ac_cv_safe_to_define___extensions__ = yes then : - printf '%s\n' "#define __EXTENSIONS__ 1" >>confdefs.h + printf "%s\n" "#define __EXTENSIONS__ 1" >>confdefs.h fi if test $ac_cv_should_define__xopen_source = yes then : - printf '%s\n' "#define _XOPEN_SOURCE 500" >>confdefs.h + printf "%s\n" "#define _XOPEN_SOURCE 500" >>confdefs.h fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 printf %s "checking whether ln -s works... " >&6; } LN_S=$as_ln_s if test "$LN_S" = "ln -s"; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 -printf '%s\n' "no, using $LN_S" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 +printf "%s\n" "no, using $LN_S" >&6; } fi @@ -6230,7 +6271,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_BUILD_CC+y} then : @@ -6251,7 +6292,7 @@ for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_BUILD_CC="$ac_prog" - printf '%s\n' "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -6263,11 +6304,11 @@ fi BUILD_CC=$ac_cv_prog_BUILD_CC if test -n "$BUILD_CC"; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $BUILD_CC" >&5 -printf '%s\n' "$BUILD_CC" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $BUILD_CC" >&5 +printf "%s\n" "$BUILD_CC" >&6; } else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -6275,10 +6316,10 @@ done test -n "$BUILD_CC" || BUILD_CC="none" - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for native build C compiler" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for native build C compiler" >&5 printf %s "checking for native build C compiler... " >&6; } - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $BUILD_CC" >&5 -printf '%s\n' "$BUILD_CC" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $BUILD_CC" >&5 +printf "%s\n" "$BUILD_CC" >&6; } else case e in #( e) BUILD_CC=$CC ;; esac @@ -6287,7 +6328,7 @@ php_with_libdir=lib -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for system library directory" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for system library directory" >&5 printf %s "checking for system library directory... " >&6; } # Check whether --with-libdir was given. @@ -6304,8 +6345,8 @@ ext_output=$PHP_LIBDIR -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -6313,7 +6354,7 @@ php_enable_rpath=yes -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to enable runpaths" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable runpaths" >&5 printf %s "checking whether to enable runpaths... " >&6; } # Check whether --enable-rpath was given. if test ${enable_rpath+y} @@ -6329,14 +6370,14 @@ ext_output=$PHP_RPATH -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking if compiler supports -Wl,-rpath," >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if compiler supports -Wl,-rpath," >&5 printf %s "checking if compiler supports -Wl,-rpath,... " >&6; } if test ${php_cv_cc_rpath+y} then : @@ -6369,13 +6410,13 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_cc_rpath" >&5 -printf '%s\n' "$php_cv_cc_rpath" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_cc_rpath" >&5 +printf "%s\n" "$php_cv_cc_rpath" >&6; } if test "x$php_cv_cc_rpath" = xyes then : ld_runpath_switch=-Wl,-rpath, else case e in #( - e) { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking if compiler supports -R" >&5 + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if compiler supports -R" >&5 printf %s "checking if compiler supports -R... " >&6; } if test ${php_cv_cc_dashr+y} then : @@ -6408,8 +6449,8 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_cc_dashr" >&5 -printf '%s\n' "$php_cv_cc_dashr" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_cc_dashr" >&5 +printf "%s\n" "$php_cv_cc_dashr" >&6; } if test "x$php_cv_cc_dashr" = xyes then : ld_runpath_switch=-R @@ -6429,7 +6470,7 @@ # Extract the first word of "bison", so it can be a program name with args. set dummy bison; ac_word=$2 -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_YACC+y} then : @@ -6450,7 +6491,7 @@ for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_YACC="bison" - printf '%s\n' "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -6462,11 +6503,11 @@ fi YACC=$ac_cv_prog_YACC if test -n "$YACC"; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $YACC" >&5 -printf '%s\n' "$YACC" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $YACC" >&5 +printf "%s\n" "$YACC" >&6; } else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -6475,7 +6516,7 @@ php_bison_excluded_versions='none' if test -n "$YACC"; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for bison version" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for bison version" >&5 printf %s "checking for bison version... " >&6; } php_bison_version=$($YACC --version 2> /dev/null | grep 'GNU Bison' | cut -d ' ' -f 4 | tr -d a-z) @@ -6518,11 +6559,11 @@ PHP_VAR_SUBST="$PHP_VAR_SUBST YFLAGS" - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_bison_version (ok)" >&5 -printf '%s\n' "$php_bison_version (ok)" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_bison_version (ok)" >&5 +printf "%s\n" "$php_bison_version (ok)" >&6; } else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_bison_version" >&5 -printf '%s\n' "$php_bison_version" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_bison_version" >&5 +printf "%s\n" "$php_bison_version" >&6; } fi fi @@ -6544,7 +6585,7 @@ # Extract the first word of "re2c", so it can be a program name with args. set dummy re2c; ac_word=$2 -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_RE2C+y} then : @@ -6565,7 +6606,7 @@ for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_RE2C="re2c" - printf '%s\n' "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -6577,11 +6618,11 @@ fi RE2C=$ac_cv_prog_RE2C if test -n "$RE2C"; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $RE2C" >&5 -printf '%s\n' "$RE2C" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RE2C" >&5 +printf "%s\n" "$RE2C" >&6; } else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -6592,7 +6633,7 @@ else case e in #( e) - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for re2c version" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for re2c version" >&5 printf %s "checking for re2c version... " >&6; } php_re2c_version=$($RE2C --version | cut -d ' ' -f 2 2>/dev/null) @@ -6614,11 +6655,11 @@ if test "x$php_re2c_check" = xinvalid then : - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_re2c_version (too old)" >&5 -printf '%s\n' "$php_re2c_version (too old)" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_re2c_version (too old)" >&5 +printf "%s\n" "$php_re2c_version (too old)" >&6; } else case e in #( - e) { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_re2c_version (ok)" >&5 -printf '%s\n' "$php_re2c_version (ok)" >&6; } ;; + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_re2c_version (ok)" >&5 +printf "%s\n" "$php_re2c_version (ok)" >&6; } ;; esac fi ;; @@ -6652,7 +6693,7 @@ php_required_version=7.4 # Extract the first word of "php", so it can be a program name with args. set dummy php; ac_word=$2 -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_PHP+y} then : @@ -6673,7 +6714,7 @@ for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_PHP="php" - printf '%s\n' "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -6685,11 +6726,11 @@ fi PHP=$ac_cv_prog_PHP if test -n "$PHP"; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $PHP" >&5 -printf '%s\n' "$PHP" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PHP" >&5 +printf "%s\n" "$PHP" >&6; } else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -6698,7 +6739,7 @@ else case e in #( e) -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for php version" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for php version" >&5 printf %s "checking for php version... " >&6; } php_version=$($PHP -v | head -n1 | cut -d ' ' -f 2) as_arg_v1=$php_version @@ -6716,11 +6757,11 @@ esac if ${PHP:+false} : then : - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_version (too old, install $php_required_version or later)" >&5 -printf '%s\n' "$php_version (too old, install $php_required_version or later)" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_version (too old, install $php_required_version or later)" >&5 +printf "%s\n" "$php_version (too old, install $php_required_version or later)" >&6; } else case e in #( - e) { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_version (ok)" >&5 -printf '%s\n' "$php_version (ok)" >&6; } ;; + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_version (ok)" >&5 +printf "%s\n" "$php_version (ok)" >&6; } ;; esac fi ;; @@ -6734,7 +6775,7 @@ php_enable_re2c_cgoto=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to enable computed goto extension with re2c" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable computed goto extension with re2c" >&5 printf %s "checking whether to enable computed goto extension with re2c... " >&6; } # Check whether --enable-re2c-cgoto was given. if test ${enable_re2c_cgoto+y} @@ -6750,8 +6791,8 @@ ext_output=$PHP_RE2C_CGOTO -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -6760,7 +6801,7 @@ then : else case e in #( - e) { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether re2c -g works" >&5 + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether re2c -g works" >&5 printf %s "checking whether re2c -g works... " >&6; } if test ${php_cv_have_re2c_cgoto+y} then : @@ -6790,8 +6831,8 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_have_re2c_cgoto" >&5 -printf '%s\n' "$php_cv_have_re2c_cgoto" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_have_re2c_cgoto" >&5 +printf "%s\n" "$php_cv_have_re2c_cgoto" >&6; } if test "x$php_cv_have_re2c_cgoto" = xyes then : as_fn_append RE2C_FLAGS " -g" @@ -6816,7 +6857,7 @@ ;; esac -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether the C compiler accepts -ffp-contract=off" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler accepts -ffp-contract=off" >&5 printf %s "checking whether the C compiler accepts -ffp-contract=off... " >&6; } if test ${ax_cv_check_cflags___ffp_contract_off+y} then : @@ -6847,8 +6888,8 @@ CFLAGS=$ax_check_save_flags ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___ffp_contract_off" >&5 -printf '%s\n' "$ax_cv_check_cflags___ffp_contract_off" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___ffp_contract_off" >&5 +printf "%s\n" "$ax_cv_check_cflags___ffp_contract_off" >&6; } if test "x$ax_cv_check_cflags___ffp_contract_off" = xyes then : CFLAGS="$CFLAGS -ffp-contract=off" @@ -6858,7 +6899,7 @@ fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether the C compiler accepts -fvisibility=hidden" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler accepts -fvisibility=hidden" >&5 printf %s "checking whether the C compiler accepts -fvisibility=hidden... " >&6; } if test ${ax_cv_check_cflags___fvisibility_hidden+y} then : @@ -6889,8 +6930,8 @@ CFLAGS=$ax_check_save_flags ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fvisibility_hidden" >&5 -printf '%s\n' "$ax_cv_check_cflags___fvisibility_hidden" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fvisibility_hidden" >&5 +printf "%s\n" "$ax_cv_check_cflags___fvisibility_hidden" >&6; } if test "x$ax_cv_check_cflags___fvisibility_hidden" = xyes then : CFLAGS="$CFLAGS -fvisibility=hidden" @@ -6911,43 +6952,43 @@ ;; esac -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to force non-PIC code in shared modules" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to force non-PIC code in shared modules" >&5 printf %s "checking whether to force non-PIC code in shared modules... " >&6; } case $host_alias in i?86-*-linux*|i?86-*-freebsd*) if test "${with_pic+set}" != "set" || test "$with_pic" = "no"; then with_pic=no - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi ;; *) - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } ;; esac -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether we are using musl libc" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are using musl libc" >&5 printf %s "checking whether we are using musl libc... " >&6; } if command -v ldd >/dev/null && ldd --version 2>&1 | grep ^musl >/dev/null 2>&1 then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } -printf '%s\n' "#define __MUSL__ 1" >>confdefs.h +printf "%s\n" "#define __MUSL__ 1" >>confdefs.h else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi as_fn_append CPPFLAGS " -D_GNU_SOURCE" -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for pthreads_cflags" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pthreads_cflags" >&5 printf %s "checking for pthreads_cflags... " >&6; } if test ${ac_cv_pthreads_cflags+y} then : @@ -7002,10 +7043,10 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_pthreads_cflags" >&5 -printf '%s\n' "$ac_cv_pthreads_cflags" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_pthreads_cflags" >&5 +printf "%s\n" "$ac_cv_pthreads_cflags" >&6; } -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for pthreads_lib" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pthreads_lib" >&5 printf %s "checking for pthreads_lib... " >&6; } if test ${ac_cv_pthreads_lib+y} then : @@ -7060,8 +7101,8 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_pthreads_lib" >&5 -printf '%s\n' "$ac_cv_pthreads_lib" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_pthreads_lib" >&5 +printf "%s\n" "$ac_cv_pthreads_lib" >&6; } if test "x$ac_cv_pthreads_cflags" != "x" || test "x$ac_cv_pthreads_lib" != "x"; then pthreads_working="yes" @@ -7137,10 +7178,10 @@ SAPI_LIBTOOL=libphp.la - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: " >&5 -printf '%s\n' "" >&6; } - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: ${T_MD}Configuring SAPI modules${T_ME}" >&5 -printf '%s\n' "${T_MD}Configuring SAPI modules${T_ME}" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 +printf "%s\n" "" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${T_MD}Configuring SAPI modules${T_ME}" >&5 +printf "%s\n" "${T_MD}Configuring SAPI modules${T_ME}" >&6; } @@ -7153,7 +7194,7 @@ php_with_apxs2=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to build Apache 2 handler module support via DSO through APXS" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build Apache 2 handler module support via DSO through APXS" >&5 printf %s "checking whether to build Apache 2 handler module support via DSO through APXS... " >&6; } # Check whether --with-apxs2 was given. @@ -7170,8 +7211,8 @@ ext_output=$PHP_APXS2 -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -7207,24 +7248,24 @@ $APXS -q CFLAGS >/dev/null 2>&1 if test "$?" != "0"; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: " >&5 -printf '%s\n' "" >&6; } - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: " >&5 -printf '%s\n' "" >&6; } - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: Sorry, I cannot run apxs. Possible reasons follow:" >&5 -printf '%s\n' "Sorry, I cannot run apxs. Possible reasons follow:" >&6; } - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: " >&5 -printf '%s\n' "" >&6; } - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: 1. Perl is not installed" >&5 -printf '%s\n' "1. Perl is not installed" >&6; } - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: 2. apxs was not found. Try to pass the path using --with-apxs2=/path/to/apxs" >&5 -printf '%s\n' "2. apxs was not found. Try to pass the path using --with-apxs2=/path/to/apxs" >&6; } - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: 3. Apache was not built using --enable-so (the apxs usage page is displayed)" >&5 -printf '%s\n' "3. Apache was not built using --enable-so (the apxs usage page is displayed)" >&6; } - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: " >&5 -printf '%s\n' "" >&6; } - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: The output of $APXS follows:" >&5 -printf '%s\n' "The output of $APXS follows:" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 +printf "%s\n" "" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 +printf "%s\n" "" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Sorry, I cannot run apxs. Possible reasons follow:" >&5 +printf "%s\n" "Sorry, I cannot run apxs. Possible reasons follow:" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 +printf "%s\n" "" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: 1. Perl is not installed" >&5 +printf "%s\n" "1. Perl is not installed" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: 2. apxs was not found. Try to pass the path using --with-apxs2=/path/to/apxs" >&5 +printf "%s\n" "2. apxs was not found. Try to pass the path using --with-apxs2=/path/to/apxs" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: 3. Apache was not built using --enable-so (the apxs usage page is displayed)" >&5 +printf "%s\n" "3. Apache was not built using --enable-so (the apxs usage page is displayed)" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 +printf "%s\n" "" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: The output of $APXS follows:" >&5 +printf "%s\n" "The output of $APXS follows:" >&6; } $APXS -q CFLAGS as_fn_error $? "Aborting" "$LINENO" 5 fi @@ -7546,7 +7587,7 @@ php_enable_cli=yes -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for CLI build" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for CLI build" >&5 printf %s "checking for CLI build... " >&6; } # Check whether --enable-cli was given. if test ${enable_cli+y} @@ -7562,8 +7603,8 @@ ext_output=$PHP_CLI -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -7572,7 +7613,7 @@ ac_fn_c_check_func "$LINENO" "setproctitle" "ac_cv_func_setproctitle" if test "x$ac_cv_func_setproctitle" = xyes then : - printf '%s\n' "#define HAVE_SETPROCTITLE 1" >>confdefs.h + printf "%s\n" "#define HAVE_SETPROCTITLE 1" >>confdefs.h fi @@ -7580,12 +7621,12 @@ ac_fn_c_check_header_compile "$LINENO" "sys/pstat.h" "ac_cv_header_sys_pstat_h" "$ac_includes_default" if test "x$ac_cv_header_sys_pstat_h" = xyes then : - printf '%s\n' "#define HAVE_SYS_PSTAT_H 1" >>confdefs.h + printf "%s\n" "#define HAVE_SYS_PSTAT_H 1" >>confdefs.h fi - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for PS_STRINGS" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for PS_STRINGS" >&5 printf %s "checking for PS_STRINGS... " >&6; } if test ${php_cv_var_PS_STRINGS+y} then : @@ -7619,12 +7660,12 @@ conftest$ac_exeext conftest.$ac_ext ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_var_PS_STRINGS" >&5 -printf '%s\n' "$php_cv_var_PS_STRINGS" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_var_PS_STRINGS" >&5 +printf "%s\n" "$php_cv_var_PS_STRINGS" >&6; } if test "x$php_cv_var_PS_STRINGS" = xyes then : -printf '%s\n' "#define HAVE_PS_STRINGS /**/" >>confdefs.h +printf "%s\n" "#define HAVE_PS_STRINGS /**/" >>confdefs.h fi @@ -7817,7 +7858,7 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for embedded SAPI library support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for embedded SAPI library support" >&5 printf %s "checking for embedded SAPI library support... " >&6; } if test "$PHP_EMBED" != "no"; then @@ -7848,12 +7889,12 @@ if ${PHP_EMBED_TYPE:+false} : then : - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } else case e in #( e) - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $PHP_EMBED_TYPE" >&5 -printf '%s\n' "$PHP_EMBED_TYPE" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PHP_EMBED_TYPE" >&5 +printf "%s\n" "$PHP_EMBED_TYPE" >&6; } PHP_VAR_SUBST="$PHP_VAR_SUBST LIBPHP_CFLAGS" @@ -8075,8 +8116,8 @@ esac fi else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -8085,7 +8126,7 @@ php_enable_fpm=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for FPM build" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for FPM build" >&5 printf %s "checking for FPM build... " >&6; } # Check whether --enable-fpm was given. if test ${enable_fpm+y} @@ -8101,8 +8142,8 @@ ext_output=$PHP_FPM -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -8129,12 +8170,12 @@ ac_fn_c_check_func "$LINENO" "clock_gettime" "ac_cv_func_clock_gettime" if test "x$ac_cv_func_clock_gettime" = xyes then : - printf '%s\n' "#define HAVE_CLOCK_GETTIME 1" >>confdefs.h + printf "%s\n" "#define HAVE_CLOCK_GETTIME 1" >>confdefs.h else case e in #( e) LIBS_save=$LIBS - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for library containing clock_gettime" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing clock_gettime" >&5 printf %s "checking for library containing clock_gettime... " >&6; } if test ${ac_cv_search_clock_gettime+y} then : @@ -8192,15 +8233,15 @@ LIBS=$ac_func_search_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_clock_gettime" >&5 -printf '%s\n' "$ac_cv_search_clock_gettime" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_clock_gettime" >&5 +printf "%s\n" "$ac_cv_search_clock_gettime" >&6; } ac_res=$ac_cv_search_clock_gettime if test "$ac_res" != no then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" ac_cv_func_clock_gettime=yes - printf '%s\n' "#define HAVE_CLOCK_GETTIME 1" >>confdefs.h + printf "%s\n" "#define HAVE_CLOCK_GETTIME 1" >>confdefs.h if test "x$ac_cv_search_clock_gettime" = x"none required" then : @@ -8221,7 +8262,7 @@ if test "x$ac_cv_func_clock_gettime" = xno then : - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for clock_get_time" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for clock_get_time" >&5 printf %s "checking for clock_get_time... " >&6; } if test ${php_cv_func_clock_get_time+y} then : @@ -8270,17 +8311,17 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_func_clock_get_time" >&5 -printf '%s\n' "$php_cv_func_clock_get_time" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_func_clock_get_time" >&5 +printf "%s\n" "$php_cv_func_clock_get_time" >&6; } if test "x$php_cv_func_clock_get_time" = xyes then : -printf '%s\n' "#define HAVE_CLOCK_GET_TIME 1" >>confdefs.h +printf "%s\n" "#define HAVE_CLOCK_GET_TIME 1" >>confdefs.h fi fi - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for ptrace" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ptrace" >&5 printf %s "checking for ptrace... " >&6; } if test ${php_cv_func_ptrace+y} then : @@ -8397,16 +8438,16 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_func_ptrace" >&5 -printf '%s\n' "$php_cv_func_ptrace" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_func_ptrace" >&5 +printf "%s\n" "$php_cv_func_ptrace" >&6; } if test "x$php_cv_func_ptrace" = xyes then : -printf '%s\n' "#define HAVE_PTRACE 1" >>confdefs.h +printf "%s\n" "#define HAVE_PTRACE 1" >>confdefs.h else case e in #( - e) { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for mach_vm_read" >&5 + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mach_vm_read" >&5 printf %s "checking for mach_vm_read... " >&6; } if test ${php_cv_func_mach_vm_read+y} then : @@ -8442,8 +8483,8 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_func_mach_vm_read" >&5 -printf '%s\n' "$php_cv_func_mach_vm_read" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_func_mach_vm_read" >&5 +printf "%s\n" "$php_cv_func_mach_vm_read" >&6; } ;; esac fi @@ -8451,11 +8492,11 @@ if test "x$php_cv_func_mach_vm_read" = xyes then : -printf '%s\n' "#define HAVE_MACH_VM_READ 1" >>confdefs.h +printf "%s\n" "#define HAVE_MACH_VM_READ 1" >>confdefs.h fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for proc mem file" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for proc mem file" >&5 printf %s "checking for proc mem file... " >&6; } if test ${php_cv_file_proc_mem+y} then : @@ -8530,15 +8571,15 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_file_proc_mem" >&5 -printf '%s\n' "$php_cv_file_proc_mem" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_file_proc_mem" >&5 +printf "%s\n" "$php_cv_file_proc_mem" >&6; } if ${php_cv_file_proc_mem:+false} : then : else case e in #( e) -printf '%s\n' "#define PROC_MEM_FILE \"$php_cv_file_proc_mem\"" >>confdefs.h +printf "%s\n" "#define PROC_MEM_FILE \"$php_cv_file_proc_mem\"" >>confdefs.h ;; esac fi @@ -8559,11 +8600,11 @@ if ${fpm_trace_type:+false} : then : - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: WARNING: FPM Trace - ptrace, pread, or mach: could not be found" >&5 -printf '%s\n' "$as_me: WARNING: FPM Trace - ptrace, pread, or mach: could not be found" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: FPM Trace - ptrace, pread, or mach: could not be found" >&5 +printf "%s\n" "$as_me: WARNING: FPM Trace - ptrace, pread, or mach: could not be found" >&2;} fi - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking if compiler supports __sync_bool_compare_and_swap" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if compiler supports __sync_bool_compare_and_swap" >&5 printf %s "checking if compiler supports __sync_bool_compare_and_swap... " >&6; } if test ${php_cv_have___sync_bool_compare_and_swap+y} then : @@ -8595,16 +8636,16 @@ conftest$ac_exeext conftest.$ac_ext ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_have___sync_bool_compare_and_swap" >&5 -printf '%s\n' "$php_cv_have___sync_bool_compare_and_swap" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_have___sync_bool_compare_and_swap" >&5 +printf "%s\n" "$php_cv_have___sync_bool_compare_and_swap" >&6; } if test "x$php_cv_have___sync_bool_compare_and_swap" = xyes then : -printf '%s\n' "#define HAVE_BUILTIN_ATOMIC 1" >>confdefs.h +printf "%s\n" "#define HAVE_BUILTIN_ATOMIC 1" >>confdefs.h fi - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for TCP_INFO" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for TCP_INFO" >&5 printf %s "checking for TCP_INFO... " >&6; } if test ${php_cv_have_TCP_INFO+y} then : @@ -8636,16 +8677,16 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_have_TCP_INFO" >&5 -printf '%s\n' "$php_cv_have_TCP_INFO" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_have_TCP_INFO" >&5 +printf "%s\n" "$php_cv_have_TCP_INFO" >&6; } if test "x$php_cv_have_TCP_INFO" = xyes then : -printf '%s\n' "#define HAVE_LQ_TCP_INFO 1" >>confdefs.h +printf "%s\n" "#define HAVE_LQ_TCP_INFO 1" >>confdefs.h fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for TCP_CONNECTION_INFO" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for TCP_CONNECTION_INFO" >&5 printf %s "checking for TCP_CONNECTION_INFO... " >&6; } if test ${php_cv_have_TCP_CONNECTION_INFO+y} then : @@ -8677,16 +8718,16 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_have_TCP_CONNECTION_INFO" >&5 -printf '%s\n' "$php_cv_have_TCP_CONNECTION_INFO" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_have_TCP_CONNECTION_INFO" >&5 +printf "%s\n" "$php_cv_have_TCP_CONNECTION_INFO" >&6; } if test "x$php_cv_have_TCP_CONNECTION_INFO" = xyes then : -printf '%s\n' "#define HAVE_LQ_TCP_CONNECTION_INFO 1" >>confdefs.h +printf "%s\n" "#define HAVE_LQ_TCP_CONNECTION_INFO 1" >>confdefs.h fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for SO_LISTENQLEN" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for SO_LISTENQLEN" >&5 printf %s "checking for SO_LISTENQLEN... " >&6; } if test ${php_cv_have_SO_LISTENQLEN+y} then : @@ -8718,16 +8759,16 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_have_SO_LISTENQLEN" >&5 -printf '%s\n' "$php_cv_have_SO_LISTENQLEN" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_have_SO_LISTENQLEN" >&5 +printf "%s\n" "$php_cv_have_SO_LISTENQLEN" >&6; } if test "x$php_cv_have_SO_LISTENQLEN" = xyes then : -printf '%s\n' "#define HAVE_LQ_SO_LISTENQ 1" >>confdefs.h +printf "%s\n" "#define HAVE_LQ_SO_LISTENQ 1" >>confdefs.h fi - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for kqueue" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for kqueue" >&5 printf %s "checking for kqueue... " >&6; } if test ${php_cv_have_kqueue+y} then : @@ -8763,16 +8804,16 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_have_kqueue" >&5 -printf '%s\n' "$php_cv_have_kqueue" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_have_kqueue" >&5 +printf "%s\n" "$php_cv_have_kqueue" >&6; } if test "x$php_cv_have_kqueue" = xyes then : -printf '%s\n' "#define HAVE_KQUEUE 1" >>confdefs.h +printf "%s\n" "#define HAVE_KQUEUE 1" >>confdefs.h fi - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for epoll" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for epoll" >&5 printf %s "checking for epoll... " >&6; } if test ${php_cv_have_epoll+y} then : @@ -8818,16 +8859,16 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_have_epoll" >&5 -printf '%s\n' "$php_cv_have_epoll" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_have_epoll" >&5 +printf "%s\n" "$php_cv_have_epoll" >&6; } if test "x$php_cv_have_epoll" = xyes then : -printf '%s\n' "#define HAVE_EPOLL 1" >>confdefs.h +printf "%s\n" "#define HAVE_EPOLL 1" >>confdefs.h fi - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for select" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for select" >&5 printf %s "checking for select... " >&6; } if test ${php_cv_have_select+y} then : @@ -8869,12 +8910,12 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_have_select" >&5 -printf '%s\n' "$php_cv_have_select" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_have_select" >&5 +printf "%s\n" "$php_cv_have_select" >&6; } if test "x$php_cv_have_select" = xyes then : -printf '%s\n' "#define HAVE_SELECT 1" >>confdefs.h +printf "%s\n" "#define HAVE_SELECT 1" >>confdefs.h fi @@ -8882,19 +8923,19 @@ ac_fn_c_check_func "$LINENO" "clearenv" "ac_cv_func_clearenv" if test "x$ac_cv_func_clearenv" = xyes then : - printf '%s\n' "#define HAVE_CLEARENV 1" >>confdefs.h + printf "%s\n" "#define HAVE_CLEARENV 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "setproctitle" "ac_cv_func_setproctitle" if test "x$ac_cv_func_setproctitle" = xyes then : - printf '%s\n' "#define HAVE_SETPROCTITLE 1" >>confdefs.h + printf "%s\n" "#define HAVE_SETPROCTITLE 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "setproctitle_fast" "ac_cv_func_setproctitle_fast" if test "x$ac_cv_func_setproctitle_fast" = xyes then : - printf '%s\n' "#define HAVE_SETPROCTITLE_FAST 1" >>confdefs.h + printf "%s\n" "#define HAVE_SETPROCTITLE_FAST 1" >>confdefs.h fi @@ -8905,7 +8946,7 @@ ac_fn_c_check_func "$LINENO" "setpflags" "ac_cv_func_setpflags" if test "x$ac_cv_func_setpflags" = xyes then : - printf '%s\n' "#define HAVE_SETPFLAGS 1" >>confdefs.h + printf "%s\n" "#define HAVE_SETPFLAGS 1" >>confdefs.h fi @@ -8917,7 +8958,7 @@ ac_fn_c_check_func "$LINENO" "times" "ac_cv_func_times" if test "x$ac_cv_func_times" = xyes then : - printf '%s\n' "#define HAVE_TIMES 1" >>confdefs.h + printf "%s\n" "#define HAVE_TIMES 1" >>confdefs.h fi @@ -8929,7 +8970,7 @@ ac_fn_c_check_func "$LINENO" "port_create" "ac_cv_func_port_create" if test "x$ac_cv_func_port_create" = xyes then : - printf '%s\n' "#define HAVE_PORT_CREATE 1" >>confdefs.h + printf "%s\n" "#define HAVE_PORT_CREATE 1" >>confdefs.h fi @@ -8987,7 +9028,7 @@ php_with_fpm_systemd=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to enable systemd integration in PHP-FPM" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable systemd integration in PHP-FPM" >&5 printf %s "checking whether to enable systemd integration in PHP-FPM... " >&6; } # Check whether --with-fpm-systemd was given. @@ -9004,8 +9045,8 @@ ext_output=$PHP_FPM_SYSTEMD -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -9013,7 +9054,7 @@ php_with_fpm_acl=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to use Access Control Lists (ACL) in PHP-FPM" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to use Access Control Lists (ACL) in PHP-FPM" >&5 printf %s "checking whether to use Access Control Lists (ACL) in PHP-FPM... " >&6; } # Check whether --with-fpm-acl was given. @@ -9030,8 +9071,8 @@ ext_output=$PHP_FPM_ACL -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -9039,7 +9080,7 @@ php_with_fpm_apparmor=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to enable AppArmor confinement in PHP-FPM" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable AppArmor confinement in PHP-FPM" >&5 printf %s "checking whether to enable AppArmor confinement in PHP-FPM... " >&6; } # Check whether --with-fpm-apparmor was given. @@ -9056,8 +9097,8 @@ ext_output=$PHP_FPM_APPARMOR -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -9065,7 +9106,7 @@ php_with_fpm_selinux=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to enable SELinux support in PHP-FPM" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable SELinux support in PHP-FPM" >&5 printf %s "checking whether to enable SELinux support in PHP-FPM... " >&6; } # Check whether --with-fpm-selinux was given. @@ -9082,8 +9123,8 @@ ext_output=$PHP_FPM_SELINUX -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -9095,17 +9136,17 @@ e) pkg_failed=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for libsystemd >= 209" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libsystemd >= 209" >&5 printf %s "checking for libsystemd >= 209... " >&6; } if test -n "$SYSTEMD_CFLAGS"; then pkg_cv_SYSTEMD_CFLAGS="$SYSTEMD_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd >= 209\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd >= 209\""; } >&5 ($PKG_CONFIG --exists --print-errors "libsystemd >= 209") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_SYSTEMD_CFLAGS=`$PKG_CONFIG --cflags "libsystemd >= 209" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -9119,10 +9160,10 @@ pkg_cv_SYSTEMD_LIBS="$SYSTEMD_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd >= 209\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd >= 209\""; } >&5 ($PKG_CONFIG --exists --print-errors "libsystemd >= 209") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_SYSTEMD_LIBS=`$PKG_CONFIG --libs "libsystemd >= 209" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -9136,8 +9177,8 @@ if test $pkg_failed = yes; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -9163,10 +9204,10 @@ and SYSTEMD_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -9180,13 +9221,13 @@ else SYSTEMD_CFLAGS=$pkg_cv_SYSTEMD_CFLAGS SYSTEMD_LIBS=$pkg_cv_SYSTEMD_LIBS - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } fi -printf '%s\n' "#define HAVE_SYSTEMD 1" >>confdefs.h +printf "%s\n" "#define HAVE_SYSTEMD 1" >>confdefs.h PHP_FPM_SD_FILES="fpm/fpm_systemd.c" _php_ext_shared_saved=$ext_shared; ext_shared=yes @@ -9354,8 +9395,8 @@ then : else case e in #( - e) { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + e) { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "Required header file not found. See 'config.log' for more details" "$LINENO" 5; } ;; esac @@ -9376,13 +9417,13 @@ ac_fn_c_check_header_compile "$LINENO" "sys/acl.h" "ac_cv_header_sys_acl_h" "$ac_includes_default" if test "x$ac_cv_header_sys_acl_h" = xyes then : - printf '%s\n' "#define HAVE_SYS_ACL_H 1" >>confdefs.h + printf "%s\n" "#define HAVE_SYS_ACL_H 1" >>confdefs.h fi LIBS_save=$LIBS - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for library containing acl_free" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing acl_free" >&5 printf %s "checking for library containing acl_free... " >&6; } if test ${ac_cv_search_acl_free+y} then : @@ -9440,13 +9481,13 @@ LIBS=$ac_func_search_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_acl_free" >&5 -printf '%s\n' "$ac_cv_search_acl_free" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_acl_free" >&5 +printf "%s\n" "$ac_cv_search_acl_free" >&6; } ac_res=$ac_cv_search_acl_free if test "$ac_res" != no then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for ACL user/group permissions support" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ACL user/group permissions support" >&5 printf %s "checking for ACL user/group permissions support... " >&6; } if test ${php_cv_lib_acl_user_group+y} then : @@ -9483,13 +9524,13 @@ conftest$ac_exeext conftest.$ac_ext ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_lib_acl_user_group" >&5 -printf '%s\n' "$php_cv_lib_acl_user_group" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_lib_acl_user_group" >&5 +printf "%s\n" "$php_cv_lib_acl_user_group" >&6; } if test "x$php_cv_lib_acl_user_group" = xyes then : -printf '%s\n' "#define HAVE_FPM_ACL 1" >>confdefs.h +printf "%s\n" "#define HAVE_FPM_ACL 1" >>confdefs.h if test "x$ac_cv_search_acl_free" = x"none required" then : @@ -9515,17 +9556,17 @@ e) pkg_failed=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for libapparmor" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libapparmor" >&5 printf %s "checking for libapparmor... " >&6; } if test -n "$APPARMOR_CFLAGS"; then pkg_cv_APPARMOR_CFLAGS="$APPARMOR_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libapparmor\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libapparmor\""; } >&5 ($PKG_CONFIG --exists --print-errors "libapparmor") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_APPARMOR_CFLAGS=`$PKG_CONFIG --cflags "libapparmor" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -9539,10 +9580,10 @@ pkg_cv_APPARMOR_LIBS="$APPARMOR_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libapparmor\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libapparmor\""; } >&5 ($PKG_CONFIG --exists --print-errors "libapparmor") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_APPARMOR_LIBS=`$PKG_CONFIG --libs "libapparmor" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -9556,8 +9597,8 @@ if test $pkg_failed = yes; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -9572,7 +9613,7 @@ # Put the nasty error message in config.log where it belongs echo "$APPARMOR_PKG_ERRORS" >&5 - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for aa_change_profile in -lapparmor" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for aa_change_profile in -lapparmor" >&5 printf %s "checking for aa_change_profile in -lapparmor... " >&6; } if test ${ac_cv_lib_apparmor_aa_change_profile+y} then : @@ -9613,23 +9654,23 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_apparmor_aa_change_profile" >&5 -printf '%s\n' "$ac_cv_lib_apparmor_aa_change_profile" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_apparmor_aa_change_profile" >&5 +printf "%s\n" "$ac_cv_lib_apparmor_aa_change_profile" >&6; } if test "x$ac_cv_lib_apparmor_aa_change_profile" = xyes then : APPARMOR_LIBS=-lapparmor else case e in #( - e) { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + e) { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "Required libapparmor library not found. See 'config.log' for more details" "$LINENO" 5; } ;; esac fi elif test $pkg_failed = untried; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for aa_change_profile in -lapparmor" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for aa_change_profile in -lapparmor" >&5 printf %s "checking for aa_change_profile in -lapparmor... " >&6; } if test ${ac_cv_lib_apparmor_aa_change_profile+y} then : @@ -9670,14 +9711,14 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_apparmor_aa_change_profile" >&5 -printf '%s\n' "$ac_cv_lib_apparmor_aa_change_profile" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_apparmor_aa_change_profile" >&5 +printf "%s\n" "$ac_cv_lib_apparmor_aa_change_profile" >&6; } if test "x$ac_cv_lib_apparmor_aa_change_profile" = xyes then : APPARMOR_LIBS=-lapparmor else case e in #( - e) { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + e) { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "Required libapparmor library not found. See 'config.log' for more details" "$LINENO" 5; } ;; esac @@ -9686,8 +9727,8 @@ else APPARMOR_CFLAGS=$pkg_cv_APPARMOR_CFLAGS APPARMOR_LIBS=$pkg_cv_APPARMOR_LIBS - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } for ac_i in $APPARMOR_CFLAGS; do case $ac_i in @@ -9851,11 +9892,11 @@ if test "x$ac_cv_header_sys_apparmor_h" = xyes then : -printf '%s\n' "#define HAVE_APPARMOR 1" >>confdefs.h +printf "%s\n" "#define HAVE_APPARMOR 1" >>confdefs.h else case e in #( - e) { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + e) { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "Required header file not found. See 'config.log' for more details" "$LINENO" 5; } ;; esac @@ -9873,17 +9914,17 @@ e) pkg_failed=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for libselinux" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libselinux" >&5 printf %s "checking for libselinux... " >&6; } if test -n "$SELINUX_CFLAGS"; then pkg_cv_SELINUX_CFLAGS="$SELINUX_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libselinux\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libselinux\""; } >&5 ($PKG_CONFIG --exists --print-errors "libselinux") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_SELINUX_CFLAGS=`$PKG_CONFIG --cflags "libselinux" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -9897,10 +9938,10 @@ pkg_cv_SELINUX_LIBS="$SELINUX_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libselinux\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libselinux\""; } >&5 ($PKG_CONFIG --exists --print-errors "libselinux") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_SELINUX_LIBS=`$PKG_CONFIG --libs "libselinux" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -9914,8 +9955,8 @@ if test $pkg_failed = yes; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -9930,7 +9971,7 @@ # Put the nasty error message in config.log where it belongs echo "$SELINUX_PKG_ERRORS" >&5 - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for security_setenforce in -lselinux" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for security_setenforce in -lselinux" >&5 printf %s "checking for security_setenforce in -lselinux... " >&6; } if test ${ac_cv_lib_selinux_security_setenforce+y} then : @@ -9971,23 +10012,23 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_selinux_security_setenforce" >&5 -printf '%s\n' "$ac_cv_lib_selinux_security_setenforce" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_selinux_security_setenforce" >&5 +printf "%s\n" "$ac_cv_lib_selinux_security_setenforce" >&6; } if test "x$ac_cv_lib_selinux_security_setenforce" = xyes then : SELINUX_LIBS=-lselinux else case e in #( - e) { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + e) { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "Required SELinux library not found. See 'config.log' for more details" "$LINENO" 5; } ;; esac fi elif test $pkg_failed = untried; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for security_setenforce in -lselinux" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for security_setenforce in -lselinux" >&5 printf %s "checking for security_setenforce in -lselinux... " >&6; } if test ${ac_cv_lib_selinux_security_setenforce+y} then : @@ -10028,14 +10069,14 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_selinux_security_setenforce" >&5 -printf '%s\n' "$ac_cv_lib_selinux_security_setenforce" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_selinux_security_setenforce" >&5 +printf "%s\n" "$ac_cv_lib_selinux_security_setenforce" >&6; } if test "x$ac_cv_lib_selinux_security_setenforce" = xyes then : SELINUX_LIBS=-lselinux else case e in #( - e) { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + e) { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "Required SELinux library not found. See 'config.log' for more details" "$LINENO" 5; } ;; esac @@ -10044,8 +10085,8 @@ else SELINUX_CFLAGS=$pkg_cv_SELINUX_CFLAGS SELINUX_LIBS=$pkg_cv_SELINUX_LIBS - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } for ac_i in $SELINUX_CFLAGS; do case $ac_i in @@ -10209,11 +10250,11 @@ if test "x$ac_cv_header_selinux_selinux_h" = xyes then : -printf '%s\n' "#define HAVE_SELINUX 1" >>confdefs.h +printf "%s\n" "#define HAVE_SELINUX 1" >>confdefs.h else case e in #( - e) { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + e) { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "Required header file not found. See 'config.log' for more details" "$LINENO" 5; } ;; esac @@ -10425,7 +10466,7 @@ php_enable_fuzzer=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for Clang fuzzer SAPI" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Clang fuzzer SAPI" >&5 printf %s "checking for Clang fuzzer SAPI... " >&6; } # Check whether --enable-fuzzer was given. if test ${enable_fuzzer+y} @@ -10441,8 +10482,8 @@ ext_output=$PHP_FUZZER -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -10457,7 +10498,13 @@ (--enable-fuzzer). Please build fuzzer without ZTS." "$LINENO" 5 fi - ac_ext=cpp + + + + + + +ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' @@ -10471,7 +10518,7 @@ do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_CXX+y} then : @@ -10492,7 +10539,7 @@ for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" - printf '%s\n' "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -10504,11 +10551,11 @@ fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 -printf '%s\n' "$CXX" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 +printf "%s\n" "$CXX" >&6; } else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -10521,7 +10568,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_CXX+y} then : @@ -10542,7 +10589,7 @@ for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CXX="$ac_prog" - printf '%s\n' "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -10554,11 +10601,11 @@ fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 -printf '%s\n' "$ac_ct_CXX" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 +printf "%s\n" "$ac_ct_CXX" >&6; } else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -10570,8 +10617,8 @@ else case $cross_compiling:$ac_tool_warned in yes:) -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -printf '%s\n' "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CXX=$ac_ct_CXX @@ -10581,7 +10628,7 @@ fi fi # Provide some information about the compiler. -printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 +printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do @@ -10591,7 +10638,7 @@ *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -printf '%s\n' "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then @@ -10601,11 +10648,11 @@ cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C++" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C++" >&5 printf %s "checking whether the compiler supports GNU C++... " >&6; } if test ${ac_cv_cxx_compiler_gnu+y} then : @@ -10637,8 +10684,8 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 -printf '%s\n' "$ac_cv_cxx_compiler_gnu" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_cxx_compiler_gnu" >&6; } ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test $ac_compiler_gnu = yes; then @@ -10648,7 +10695,7 @@ fi ac_test_CXXFLAGS=${CXXFLAGS+y} ac_save_CXXFLAGS=$CXXFLAGS -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 printf %s "checking whether $CXX accepts -g... " >&6; } if test ${ac_cv_prog_cxx_g+y} then : @@ -10716,8 +10763,8 @@ ac_cxx_werror_flag=$ac_save_cxx_werror_flag ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 -printf '%s\n' "$ac_cv_prog_cxx_g" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 +printf "%s\n" "$ac_cv_prog_cxx_g" >&6; } if test $ac_test_CXXFLAGS; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then @@ -10733,6 +10780,106 @@ CXXFLAGS= fi fi +ac_prog_cxx_stdcxx=no +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++11 features" >&5 +printf %s "checking for $CXX option to enable C++11 features... " >&6; } +if test ${ac_cv_prog_cxx_cxx11+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) ac_cv_prog_cxx_cxx11=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx11_program +_ACEOF +for ac_arg in '' -std=gnu++11 -std=gnu++0x -std=c++11 -std=c++0x -qlanglvl=extended0x -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx11" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX ;; +esac +fi + +if test "x$ac_cv_prog_cxx_cxx11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else case e in #( + e) if test "x$ac_cv_prog_cxx_cxx11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else case e in #( + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx11" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx11" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx11" ;; +esac +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx11 + ac_prog_cxx_stdcxx=cxx11 ;; +esac +fi +fi +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++98 features" >&5 +printf %s "checking for $CXX option to enable C++98 features... " >&6; } +if test ${ac_cv_prog_cxx_cxx98+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) ac_cv_prog_cxx_cxx98=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx98_program +_ACEOF +for ac_arg in '' -std=gnu++98 -std=c++98 -qlanglvl=extended -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx98=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx98" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX ;; +esac +fi + +if test "x$ac_cv_prog_cxx_cxx98" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else case e in #( + e) if test "x$ac_cv_prog_cxx_cxx98" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else case e in #( + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx98" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx98" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx98" ;; +esac +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx98 + ac_prog_cxx_stdcxx=cxx98 ;; +esac +fi +fi + ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -10744,7 +10891,7 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 printf %s "checking how to run the C++ preprocessor... " >&6; } if test -z "$CXXCPP"; then if test ${ac_cv_prog_CXXCPP+y} @@ -10811,8 +10958,8 @@ else ac_cv_prog_CXXCPP=$CXXCPP fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 -printf '%s\n' "$CXXCPP" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 +printf "%s\n" "$CXXCPP" >&6; } ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do @@ -10860,8 +11007,8 @@ then : else case e in #( - e) { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + e) { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check See 'config.log' for more details" "$LINENO" 5; } ;; esac @@ -10887,7 +11034,7 @@ FUZZING_LIB="-fsanitize=fuzzer" FUZZING_CC=$CC - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether the C compiler accepts -fsanitize=fuzzer-no-link" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler accepts -fsanitize=fuzzer-no-link" >&5 printf %s "checking whether the C compiler accepts -fsanitize=fuzzer-no-link... " >&6; } if test ${ax_cv_check_cflags___fsanitize_fuzzer_no_link+y} then : @@ -10918,8 +11065,8 @@ CFLAGS=$ax_check_save_flags ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fsanitize_fuzzer_no_link" >&5 -printf '%s\n' "$ax_cv_check_cflags___fsanitize_fuzzer_no_link" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fsanitize_fuzzer_no_link" >&5 +printf "%s\n" "$ax_cv_check_cflags___fsanitize_fuzzer_no_link" >&6; } if test "x$ax_cv_check_cflags___fsanitize_fuzzer_no_link" = xyes then : @@ -11527,7 +11674,7 @@ php_enable_litespeed=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for LiteSpeed support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for LiteSpeed support" >&5 printf %s "checking for LiteSpeed support... " >&6; } # Check whether --enable-litespeed was given. if test ${enable_litespeed+y} @@ -11564,8 +11711,8 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -11702,7 +11849,7 @@ php_enable_phpdbg=yes -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for phpdbg support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for phpdbg support" >&5 printf %s "checking for phpdbg support... " >&6; } # Check whether --enable-phpdbg was given. if test ${enable_phpdbg+y} @@ -11739,8 +11886,8 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -11748,7 +11895,7 @@ php_enable_phpdbg_debug=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for phpdbg debug build" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for phpdbg debug build" >&5 printf %s "checking for phpdbg debug build... " >&6; } # Check whether --enable-phpdbg-debug was given. if test ${enable_phpdbg_debug+y} @@ -11764,8 +11911,8 @@ ext_output=$PHP_PHPDBG_DEBUG -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -11773,7 +11920,7 @@ php_enable_phpdbg_readline=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for phpdbg readline support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for phpdbg readline support" >&5 printf %s "checking for phpdbg readline support... " >&6; } # Check whether --enable-phpdbg-readline was given. if test ${enable_phpdbg_readline+y} @@ -11789,14 +11936,14 @@ ext_output=$PHP_PHPDBG_READLINE -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } if test "$PHP_PHPDBG" != "no"; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether termios.h defines TIOCGWINSZ" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether termios.h defines TIOCGWINSZ" >&5 printf %s "checking whether termios.h defines TIOCGWINSZ... " >&6; } if test ${ac_cv_sys_tiocgwinsz_in_termios_h+y} then : @@ -11819,11 +11966,11 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_tiocgwinsz_in_termios_h" >&5 -printf '%s\n' "$ac_cv_sys_tiocgwinsz_in_termios_h" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_tiocgwinsz_in_termios_h" >&5 +printf "%s\n" "$ac_cv_sys_tiocgwinsz_in_termios_h" >&6; } if test $ac_cv_sys_tiocgwinsz_in_termios_h != yes; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether sys/ioctl.h defines TIOCGWINSZ" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether sys/ioctl.h defines TIOCGWINSZ" >&5 printf %s "checking whether sys/ioctl.h defines TIOCGWINSZ... " >&6; } if test ${ac_cv_sys_tiocgwinsz_in_sys_ioctl_h+y} then : @@ -11846,12 +11993,12 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_tiocgwinsz_in_sys_ioctl_h" >&5 -printf '%s\n' "$ac_cv_sys_tiocgwinsz_in_sys_ioctl_h" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_tiocgwinsz_in_sys_ioctl_h" >&5 +printf "%s\n" "$ac_cv_sys_tiocgwinsz_in_sys_ioctl_h" >&6; } if test $ac_cv_sys_tiocgwinsz_in_sys_ioctl_h = yes; then -printf '%s\n' "#define GWINSZ_IN_SYS_IOCTL 1" >>confdefs.h +printf "%s\n" "#define GWINSZ_IN_SYS_IOCTL 1" >>confdefs.h fi fi @@ -11866,29 +12013,29 @@ esac fi - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for phpdbg and readline integration" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for phpdbg and readline integration" >&5 printf %s "checking for phpdbg and readline integration... " >&6; } if test "$PHP_PHPDBG_READLINE" = "yes"; then if test "$PHP_READLINE" != "no" || test "$PHP_LIBEDIT" != "no"; then -printf '%s\n' "#define HAVE_PHPDBG_READLINE 1" >>confdefs.h +printf "%s\n" "#define HAVE_PHPDBG_READLINE 1" >>confdefs.h PHPDBG_EXTRA_LIBS="$PHP_READLINE_LIBS" - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: ok" >&5 -printf '%s\n' "ok" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ok" >&5 +printf "%s\n" "ok" >&6; } else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: readline is not available" >&5 -printf '%s\n' "readline is not available" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: readline is not available" >&5 +printf "%s\n" "readline is not available" >&6; } fi else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: disabled" >&5 -printf '%s\n' "disabled" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: disabled" >&5 +printf "%s\n" "disabled" >&6; } fi - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for $CC options to detect undeclared functions" >&5 -printf %s "checking for $CC options to detect undeclared functions... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC options needed to detect all undeclared functions" >&5 +printf %s "checking for $CC options needed to detect all undeclared functions... " >&6; } if test ${ac_cv_c_undeclared_builtin_options+y} then : printf %s "(cached) " >&6 @@ -11956,12 +12103,12 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_undeclared_builtin_options" >&5 -printf '%s\n' "$ac_cv_c_undeclared_builtin_options" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_undeclared_builtin_options" >&5 +printf "%s\n" "$ac_cv_c_undeclared_builtin_options" >&6; } case $ac_cv_c_undeclared_builtin_options in #( 'cannot detect') : - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "cannot make $CC report undeclared builtins See 'config.log' for more details" "$LINENO" 5; } ;; #( 'none needed') : @@ -11970,76 +12117,33 @@ ac_c_undeclared_builtin_options=$ac_cv_c_undeclared_builtin_options ;; esac -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for $CC options to ignore future-version functions" >&5 -printf %s "checking for $CC options to ignore future-version functions... " >&6; } -if test ${ac_cv_c_future_darwin_options+y} -then : - printf %s "(cached) " >&6 -else case e in #( - e) ac_compile_saved="$ac_compile" - ac_compile="$ac_compile -Werror=unguarded-availability-new" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#if ! (defined __APPLE__ && defined __MACH__) - #error "-Werror=unguarded-availability-new not needed here" - #endif - -int -main (void) -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - ac_cv_c_future_darwin_options='-Werror=unguarded-availability-new' -else case e in #( - e) ac_cv_c_future_darwin_options='none needed' ;; -esac -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext - ac_compile="$ac_compile_saved" - ;; -esac -fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_future_darwin_options" >&5 -printf '%s\n' "$ac_cv_c_future_darwin_options" >&6; } - case $ac_cv_c_future_darwin_options in #( - 'none needed') : - ac_c_future_darwin_options='' ;; #( - *) : - ac_c_future_darwin_options=$ac_cv_c_future_darwin_options ;; -esac - ac_fn_check_decl "$LINENO" "UFFDIO_WRITEPROTECT_MODE_WP" "ac_cv_have_decl_UFFDIO_WRITEPROTECT_MODE_WP" "#include -" "$ac_c_undeclared_builtin_options$ac_c_future_darwin_options" "CFLAGS" +" "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_UFFDIO_WRITEPROTECT_MODE_WP" = xyes then : if test "x$enable_zts" = xyes then : - printf '%s\n' "#define HAVE_USERFAULTFD_WRITEFAULT 1" >>confdefs.h + printf "%s\n" "#define HAVE_USERFAULTFD_WRITEFAULT 1" >>confdefs.h else case e in #( - e) { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking working pthreads" >&5 + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking working pthreads" >&5 printf %s "checking working pthreads... " >&6; } if test "x$pthreads_working" = xyes then : - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_pthreads_cflags -l$ac_cv_pthreads_lib" >&5 -printf '%s\n' "$ac_cv_pthreads_cflags -l$ac_cv_pthreads_lib" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_pthreads_cflags -l$ac_cv_pthreads_lib" >&5 +printf "%s\n" "$ac_cv_pthreads_cflags -l$ac_cv_pthreads_lib" >&6; } as_fn_append PHP_PHPDBG_CFLAGS " $ac_cv_pthreads_cflags" as_fn_append PHPDBG_EXTRA_LIBS " -l$ac_cv_pthreads_lib" - printf '%s\n' "#define HAVE_USERFAULTFD_WRITEFAULT 1" >>confdefs.h + printf "%s\n" "#define HAVE_USERFAULTFD_WRITEFAULT 1" >>confdefs.h else case e in #( e) - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: WARNING: pthreads not available" >&5 -printf '%s\n' "$as_me: WARNING: pthreads not available" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: pthreads not available" >&5 +printf "%s\n" "$as_me: WARNING: pthreads not available" >&2;} ;; esac fi @@ -12200,7 +12304,7 @@ php_enable_cgi=yes -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for CGI build" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for CGI build" >&5 printf %s "checking for CGI build... " >&6; } # Check whether --enable-cgi was given. if test ${enable_cgi+y} @@ -12216,8 +12320,8 @@ ext_output=$PHP_CGI -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -12228,13 +12332,13 @@ if test "x$ac_cv_member_struct_sockaddr_un_sun_len" = xyes then : -printf '%s\n' "#define HAVE_STRUCT_SOCKADDR_UN_SUN_LEN 1" >>confdefs.h +printf "%s\n" "#define HAVE_STRUCT_SOCKADDR_UN_SUN_LEN 1" >>confdefs.h fi - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether cross-process locking is required by accept()" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether cross-process locking is required by accept()" >&5 printf %s "checking whether cross-process locking is required by accept()... " >&6; } if test ${php_cv_have_cross_process_locking+y} then : @@ -12248,12 +12352,12 @@ esac ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_have_cross_process_locking" >&5 -printf '%s\n' "$php_cv_have_cross_process_locking" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_have_cross_process_locking" >&5 +printf "%s\n" "$php_cv_have_cross_process_locking" >&6; } if test "x$php_cv_have_cross_process_locking" = xyes then : -printf '%s\n' "#define USE_LOCKING 1" >>confdefs.h +printf "%s\n" "#define USE_LOCKING 1" >>confdefs.h fi @@ -12404,20 +12508,20 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for chosen SAPI module" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for chosen SAPI module" >&5 printf %s "checking for chosen SAPI module... " >&6; } -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $PHP_SAPI" >&5 -printf '%s\n' "$PHP_SAPI" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PHP_SAPI" >&5 +printf "%s\n" "$PHP_SAPI" >&6; } -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for executable SAPI binaries" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for executable SAPI binaries" >&5 printf %s "checking for executable SAPI binaries... " >&6; } if ${PHP_BINARIES:+false} : then : - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: none" >&5 -printf '%s\n' "none" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none" >&5 +printf "%s\n" "none" >&6; } else case e in #( - e) { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $PHP_BINARIES" >&5 -printf '%s\n' "$PHP_BINARIES" >&6; } ;; + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PHP_BINARIES" >&5 +printf "%s\n" "$PHP_BINARIES" >&6; } ;; esac fi @@ -12461,16 +12565,16 @@ - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: " >&5 -printf '%s\n' "" >&6; } - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: ${T_MD}Running system checks${T_ME}" >&5 -printf '%s\n' "${T_MD}Running system checks${T_ME}" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 +printf "%s\n" "" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${T_MD}Running system checks${T_ME}" >&5 +printf "%s\n" "${T_MD}Running system checks${T_ME}" >&6; } PHP_ALT_PATH=/usr/bin:/usr/sbin:/usr/etc:/etc:/usr/ucblib:/usr/lib # Extract the first word of "sendmail", so it can be a program name with args. set dummy sendmail; ac_word=$2 -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_path_PROG_SENDMAIL+y} then : @@ -12494,7 +12598,7 @@ for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_path_PROG_SENDMAIL="$as_dir$ac_word$ac_exec_ext" - printf '%s\n' "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -12507,22 +12611,22 @@ fi PROG_SENDMAIL=$ac_cv_path_PROG_SENDMAIL if test -n "$PROG_SENDMAIL"; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $PROG_SENDMAIL" >&5 -printf '%s\n' "$PROG_SENDMAIL" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PROG_SENDMAIL" >&5 +printf "%s\n" "$PROG_SENDMAIL" >&6; } else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi if ${PROG_SENDMAIL:+false} : then : PROG_SENDMAIL=/usr/sbin/sendmail -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: default sendmail_path INI directive set to $PROG_SENDMAIL" >&5 -printf '%s\n' "$as_me: default sendmail_path INI directive set to $PROG_SENDMAIL" >&6;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: default sendmail_path INI directive set to $PROG_SENDMAIL" >&5 +printf "%s\n" "$as_me: default sendmail_path INI directive set to $PROG_SENDMAIL" >&6;} fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether system uses EBCDIC" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether system uses EBCDIC" >&5 printf %s "checking whether system uses EBCDIC... " >&6; } if test ${ac_cv_ebcdic+y} then : @@ -12554,18 +12658,18 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_ebcdic" >&5 -printf '%s\n' "$ac_cv_ebcdic" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_ebcdic" >&5 +printf "%s\n" "$ac_cv_ebcdic" >&6; } if test "x$ac_cv_ebcdic" = xyes then : - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "PHP does not support EBCDIC targets. See 'config.log' for more details" "$LINENO" 5; } fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5 printf %s "checking whether byte ordering is bigendian... " >&6; } if test ${ac_cv_c_bigendian_php+y} then : @@ -12605,17 +12709,17 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian_php" >&5 -printf '%s\n' "$ac_cv_c_bigendian_php" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian_php" >&5 +printf "%s\n" "$ac_cv_c_bigendian_php" >&6; } if test "x$ac_cv_c_bigendian_php" = xyes then : -printf '%s\n' "#define WORDS_BIGENDIAN /**/" >>confdefs.h +printf "%s\n" "#define WORDS_BIGENDIAN /**/" >>confdefs.h fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether writing to stdout works" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether writing to stdout works" >&5 printf %s "checking whether writing to stdout works... " >&6; } if test ${php_cv_have_write_stdout+y} then : @@ -12662,12 +12766,12 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_have_write_stdout" >&5 -printf '%s\n' "$php_cv_have_write_stdout" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_have_write_stdout" >&5 +printf "%s\n" "$php_cv_have_write_stdout" >&6; } if test "x$php_cv_have_write_stdout" = xyes then : -printf '%s\n' "#define PHP_WRITE_STDOUT 1" >>confdefs.h +printf "%s\n" "#define PHP_WRITE_STDOUT 1" >>confdefs.h fi @@ -12715,7 +12819,7 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for library containing socket" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing socket" >&5 printf %s "checking for library containing socket... " >&6; } if test ${ac_cv_search_socket+y} then : @@ -12773,8 +12877,8 @@ LIBS=$ac_func_search_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_socket" >&5 -printf '%s\n' "$ac_cv_search_socket" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_socket" >&5 +printf "%s\n" "$ac_cv_search_socket" >&6; } ac_res=$ac_cv_search_socket if test "$ac_res" != no then : @@ -12789,10 +12893,10 @@ ac_fn_c_check_func "$LINENO" "socketpair" "ac_cv_func_socketpair" if test "x$ac_cv_func_socketpair" = xyes then : - printf '%s\n' "#define HAVE_SOCKETPAIR 1" >>confdefs.h + printf "%s\n" "#define HAVE_SOCKETPAIR 1" >>confdefs.h else case e in #( - e) { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for library containing socketpair" >&5 + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing socketpair" >&5 printf %s "checking for library containing socketpair... " >&6; } if test ${ac_cv_search_socketpair+y} then : @@ -12850,13 +12954,13 @@ LIBS=$ac_func_search_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_socketpair" >&5 -printf '%s\n' "$ac_cv_search_socketpair" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_socketpair" >&5 +printf "%s\n" "$ac_cv_search_socketpair" >&6; } ac_res=$ac_cv_search_socketpair if test "$ac_res" != no then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - printf '%s\n' "#define HAVE_SOCKETPAIR 1" >>confdefs.h + printf "%s\n" "#define HAVE_SOCKETPAIR 1" >>confdefs.h fi ;; @@ -12865,7 +12969,7 @@ done -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for library containing gethostbyaddr" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing gethostbyaddr" >&5 printf %s "checking for library containing gethostbyaddr... " >&6; } if test ${ac_cv_search_gethostbyaddr+y} then : @@ -12923,8 +13027,8 @@ LIBS=$ac_func_search_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_gethostbyaddr" >&5 -printf '%s\n' "$ac_cv_search_gethostbyaddr" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_gethostbyaddr" >&5 +printf "%s\n" "$ac_cv_search_gethostbyaddr" >&6; } ac_res=$ac_cv_search_gethostbyaddr if test "$ac_res" != no then : @@ -12933,7 +13037,7 @@ fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5 printf %s "checking for library containing dlopen... " >&6; } if test ${ac_cv_search_dlopen+y} then : @@ -12991,19 +13095,19 @@ LIBS=$ac_func_search_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5 -printf '%s\n' "$ac_cv_search_dlopen" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5 +printf "%s\n" "$ac_cv_search_dlopen" >&6; } ac_res=$ac_cv_search_dlopen if test "$ac_res" != no then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" -printf '%s\n' "#define HAVE_LIBDL 1" >>confdefs.h +printf "%s\n" "#define HAVE_LIBDL 1" >>confdefs.h fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for library containing sin" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing sin" >&5 printf %s "checking for library containing sin... " >&6; } if test ${ac_cv_search_sin+y} then : @@ -13061,8 +13165,8 @@ LIBS=$ac_func_search_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_sin" >&5 -printf '%s\n' "$ac_cv_search_sin" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_sin" >&5 +printf "%s\n" "$ac_cv_search_sin" >&6; } ac_res=$ac_cv_search_sin if test "$ac_res" != no then : @@ -13099,7 +13203,7 @@ case $found in yes) -printf '%s\n' "#define HAVE___ATOMIC_EXCHANGE_1 1" >>confdefs.h +printf "%s\n" "#define HAVE___ATOMIC_EXCHANGE_1 1" >>confdefs.h ac_cv_func___atomic_exchange_1=yes ;; @@ -13109,7 +13213,7 @@ unset ac_cv_lib_atomic___atomic_exchange_1 unset ac_cv_lib_atomic_____atomic_exchange_1 unset found - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for __atomic_exchange_1 in -latomic" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __atomic_exchange_1 in -latomic" >&5 printf %s "checking for __atomic_exchange_1 in -latomic... " >&6; } if test ${ac_cv_lib_atomic___atomic_exchange_1+y} then : @@ -13150,14 +13254,14 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_atomic___atomic_exchange_1" >&5 -printf '%s\n' "$ac_cv_lib_atomic___atomic_exchange_1" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_atomic___atomic_exchange_1" >&5 +printf "%s\n" "$ac_cv_lib_atomic___atomic_exchange_1" >&6; } if test "x$ac_cv_lib_atomic___atomic_exchange_1" = xyes then : found=yes else case e in #( e) - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for ____atomic_exchange_1 in -latomic" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ____atomic_exchange_1 in -latomic" >&5 printf %s "checking for ____atomic_exchange_1 in -latomic... " >&6; } if test ${ac_cv_lib_atomic_____atomic_exchange_1+y} then : @@ -13198,8 +13302,8 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_atomic_____atomic_exchange_1" >&5 -printf '%s\n' "$ac_cv_lib_atomic_____atomic_exchange_1" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_atomic_____atomic_exchange_1" >&5 +printf "%s\n" "$ac_cv_lib_atomic_____atomic_exchange_1" >&6; } if test "x$ac_cv_lib_atomic_____atomic_exchange_1" = xyes then : found=yes @@ -13260,10 +13364,10 @@ -printf '%s\n' "#define HAVE___ATOMIC_EXCHANGE_1 1" >>confdefs.h +printf "%s\n" "#define HAVE___ATOMIC_EXCHANGE_1 1" >>confdefs.h -printf '%s\n' "#define HAVE_LIBATOMIC 1" >>confdefs.h +printf "%s\n" "#define HAVE_LIBATOMIC 1" >>confdefs.h ac_cv_func___atomic_exchange_1=yes else @@ -13279,7 +13383,7 @@ ;; esac -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for library containing Pgrab" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing Pgrab" >&5 printf %s "checking for library containing Pgrab... " >&6; } if test ${ac_cv_search_Pgrab+y} then : @@ -13337,8 +13441,8 @@ LIBS=$ac_func_search_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_Pgrab" >&5 -printf '%s\n' "$ac_cv_search_Pgrab" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_Pgrab" >&5 +printf "%s\n" "$ac_cv_search_Pgrab" >&6; } ac_res=$ac_cv_search_Pgrab if test "$ac_res" != no then : @@ -13347,7 +13451,7 @@ fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for library containing setsockopt" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing setsockopt" >&5 printf %s "checking for library containing setsockopt... " >&6; } if test ${ac_cv_search_setsockopt+y} then : @@ -13405,8 +13509,8 @@ LIBS=$ac_func_search_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_setsockopt" >&5 -printf '%s\n' "$ac_cv_search_setsockopt" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_setsockopt" >&5 +printf "%s\n" "$ac_cv_search_setsockopt" >&6; } ac_res=$ac_cv_search_setsockopt if test "$ac_res" != no then : @@ -13421,10 +13525,10 @@ ac_fn_c_check_func "$LINENO" "openpty" "ac_cv_func_openpty" if test "x$ac_cv_func_openpty" = xyes then : - printf '%s\n' "#define HAVE_OPENPTY 1" >>confdefs.h + printf "%s\n" "#define HAVE_OPENPTY 1" >>confdefs.h else case e in #( - e) { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for library containing openpty" >&5 + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing openpty" >&5 printf %s "checking for library containing openpty... " >&6; } if test ${ac_cv_search_openpty+y} then : @@ -13482,13 +13586,13 @@ LIBS=$ac_func_search_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_openpty" >&5 -printf '%s\n' "$ac_cv_search_openpty" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_openpty" >&5 +printf "%s\n" "$ac_cv_search_openpty" >&6; } ac_res=$ac_cv_search_openpty if test "$ac_res" != no then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - printf '%s\n' "#define HAVE_OPENPTY 1" >>confdefs.h + printf "%s\n" "#define HAVE_OPENPTY 1" >>confdefs.h fi ;; @@ -13517,7 +13621,7 @@ " if test "x$ac_cv_header_dirent_h" = xyes then : - printf '%s\n' "#define HAVE_DIRENT_H 1" >>confdefs.h + printf "%s\n" "#define HAVE_DIRENT_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "sys/param.h" "ac_cv_header_sys_param_h" "#ifdef HAVE_SYS_PARAM_H @@ -13539,7 +13643,7 @@ " if test "x$ac_cv_header_sys_param_h" = xyes then : - printf '%s\n' "#define HAVE_SYS_PARAM_H 1" >>confdefs.h + printf "%s\n" "#define HAVE_SYS_PARAM_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "sys/types.h" "ac_cv_header_sys_types_h" "#ifdef HAVE_SYS_PARAM_H @@ -13561,7 +13665,7 @@ " if test "x$ac_cv_header_sys_types_h" = xyes then : - printf '%s\n' "#define HAVE_SYS_TYPES_H 1" >>confdefs.h + printf "%s\n" "#define HAVE_SYS_TYPES_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "sys/time.h" "ac_cv_header_sys_time_h" "#ifdef HAVE_SYS_PARAM_H @@ -13583,7 +13687,7 @@ " if test "x$ac_cv_header_sys_time_h" = xyes then : - printf '%s\n' "#define HAVE_SYS_TIME_H 1" >>confdefs.h + printf "%s\n" "#define HAVE_SYS_TIME_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "netinet/in.h" "ac_cv_header_netinet_in_h" "#ifdef HAVE_SYS_PARAM_H @@ -13605,7 +13709,7 @@ " if test "x$ac_cv_header_netinet_in_h" = xyes then : - printf '%s\n' "#define HAVE_NETINET_IN_H 1" >>confdefs.h + printf "%s\n" "#define HAVE_NETINET_IN_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "alloca.h" "ac_cv_header_alloca_h" "#ifdef HAVE_SYS_PARAM_H @@ -13627,7 +13731,7 @@ " if test "x$ac_cv_header_alloca_h" = xyes then : - printf '%s\n' "#define HAVE_ALLOCA_H 1" >>confdefs.h + printf "%s\n" "#define HAVE_ALLOCA_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "arpa/inet.h" "ac_cv_header_arpa_inet_h" "#ifdef HAVE_SYS_PARAM_H @@ -13649,7 +13753,7 @@ " if test "x$ac_cv_header_arpa_inet_h" = xyes then : - printf '%s\n' "#define HAVE_ARPA_INET_H 1" >>confdefs.h + printf "%s\n" "#define HAVE_ARPA_INET_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "arpa/nameser.h" "ac_cv_header_arpa_nameser_h" "#ifdef HAVE_SYS_PARAM_H @@ -13671,7 +13775,7 @@ " if test "x$ac_cv_header_arpa_nameser_h" = xyes then : - printf '%s\n' "#define HAVE_ARPA_NAMESER_H 1" >>confdefs.h + printf "%s\n" "#define HAVE_ARPA_NAMESER_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "dns.h" "ac_cv_header_dns_h" "#ifdef HAVE_SYS_PARAM_H @@ -13693,7 +13797,7 @@ " if test "x$ac_cv_header_dns_h" = xyes then : - printf '%s\n' "#define HAVE_DNS_H 1" >>confdefs.h + printf "%s\n" "#define HAVE_DNS_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "fcntl.h" "ac_cv_header_fcntl_h" "#ifdef HAVE_SYS_PARAM_H @@ -13715,7 +13819,7 @@ " if test "x$ac_cv_header_fcntl_h" = xyes then : - printf '%s\n' "#define HAVE_FCNTL_H 1" >>confdefs.h + printf "%s\n" "#define HAVE_FCNTL_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "grp.h" "ac_cv_header_grp_h" "#ifdef HAVE_SYS_PARAM_H @@ -13737,7 +13841,7 @@ " if test "x$ac_cv_header_grp_h" = xyes then : - printf '%s\n' "#define HAVE_GRP_H 1" >>confdefs.h + printf "%s\n" "#define HAVE_GRP_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "ieeefp.h" "ac_cv_header_ieeefp_h" "#ifdef HAVE_SYS_PARAM_H @@ -13759,7 +13863,7 @@ " if test "x$ac_cv_header_ieeefp_h" = xyes then : - printf '%s\n' "#define HAVE_IEEEFP_H 1" >>confdefs.h + printf "%s\n" "#define HAVE_IEEEFP_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "langinfo.h" "ac_cv_header_langinfo_h" "#ifdef HAVE_SYS_PARAM_H @@ -13781,7 +13885,7 @@ " if test "x$ac_cv_header_langinfo_h" = xyes then : - printf '%s\n' "#define HAVE_LANGINFO_H 1" >>confdefs.h + printf "%s\n" "#define HAVE_LANGINFO_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "linux/sock_diag.h" "ac_cv_header_linux_sock_diag_h" "#ifdef HAVE_SYS_PARAM_H @@ -13803,7 +13907,7 @@ " if test "x$ac_cv_header_linux_sock_diag_h" = xyes then : - printf '%s\n' "#define HAVE_LINUX_SOCK_DIAG_H 1" >>confdefs.h + printf "%s\n" "#define HAVE_LINUX_SOCK_DIAG_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "poll.h" "ac_cv_header_poll_h" "#ifdef HAVE_SYS_PARAM_H @@ -13825,7 +13929,7 @@ " if test "x$ac_cv_header_poll_h" = xyes then : - printf '%s\n' "#define HAVE_POLL_H 1" >>confdefs.h + printf "%s\n" "#define HAVE_POLL_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "pty.h" "ac_cv_header_pty_h" "#ifdef HAVE_SYS_PARAM_H @@ -13847,7 +13951,7 @@ " if test "x$ac_cv_header_pty_h" = xyes then : - printf '%s\n' "#define HAVE_PTY_H 1" >>confdefs.h + printf "%s\n" "#define HAVE_PTY_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "pwd.h" "ac_cv_header_pwd_h" "#ifdef HAVE_SYS_PARAM_H @@ -13869,7 +13973,7 @@ " if test "x$ac_cv_header_pwd_h" = xyes then : - printf '%s\n' "#define HAVE_PWD_H 1" >>confdefs.h + printf "%s\n" "#define HAVE_PWD_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "resolv.h" "ac_cv_header_resolv_h" "#ifdef HAVE_SYS_PARAM_H @@ -13891,7 +13995,7 @@ " if test "x$ac_cv_header_resolv_h" = xyes then : - printf '%s\n' "#define HAVE_RESOLV_H 1" >>confdefs.h + printf "%s\n" "#define HAVE_RESOLV_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "strings.h" "ac_cv_header_strings_h" "#ifdef HAVE_SYS_PARAM_H @@ -13913,7 +14017,7 @@ " if test "x$ac_cv_header_strings_h" = xyes then : - printf '%s\n' "#define HAVE_STRINGS_H 1" >>confdefs.h + printf "%s\n" "#define HAVE_STRINGS_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "syslog.h" "ac_cv_header_syslog_h" "#ifdef HAVE_SYS_PARAM_H @@ -13935,7 +14039,7 @@ " if test "x$ac_cv_header_syslog_h" = xyes then : - printf '%s\n' "#define HAVE_SYSLOG_H 1" >>confdefs.h + printf "%s\n" "#define HAVE_SYSLOG_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "sysexits.h" "ac_cv_header_sysexits_h" "#ifdef HAVE_SYS_PARAM_H @@ -13957,7 +14061,7 @@ " if test "x$ac_cv_header_sysexits_h" = xyes then : - printf '%s\n' "#define HAVE_SYSEXITS_H 1" >>confdefs.h + printf "%s\n" "#define HAVE_SYSEXITS_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "sys/ioctl.h" "ac_cv_header_sys_ioctl_h" "#ifdef HAVE_SYS_PARAM_H @@ -13979,7 +14083,7 @@ " if test "x$ac_cv_header_sys_ioctl_h" = xyes then : - printf '%s\n' "#define HAVE_SYS_IOCTL_H 1" >>confdefs.h + printf "%s\n" "#define HAVE_SYS_IOCTL_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "sys/file.h" "ac_cv_header_sys_file_h" "#ifdef HAVE_SYS_PARAM_H @@ -14001,7 +14105,7 @@ " if test "x$ac_cv_header_sys_file_h" = xyes then : - printf '%s\n' "#define HAVE_SYS_FILE_H 1" >>confdefs.h + printf "%s\n" "#define HAVE_SYS_FILE_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "#ifdef HAVE_SYS_PARAM_H @@ -14023,7 +14127,7 @@ " if test "x$ac_cv_header_sys_mman_h" = xyes then : - printf '%s\n' "#define HAVE_SYS_MMAN_H 1" >>confdefs.h + printf "%s\n" "#define HAVE_SYS_MMAN_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "sys/mount.h" "ac_cv_header_sys_mount_h" "#ifdef HAVE_SYS_PARAM_H @@ -14045,7 +14149,7 @@ " if test "x$ac_cv_header_sys_mount_h" = xyes then : - printf '%s\n' "#define HAVE_SYS_MOUNT_H 1" >>confdefs.h + printf "%s\n" "#define HAVE_SYS_MOUNT_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "sys/poll.h" "ac_cv_header_sys_poll_h" "#ifdef HAVE_SYS_PARAM_H @@ -14067,7 +14171,7 @@ " if test "x$ac_cv_header_sys_poll_h" = xyes then : - printf '%s\n' "#define HAVE_SYS_POLL_H 1" >>confdefs.h + printf "%s\n" "#define HAVE_SYS_POLL_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "sys/resource.h" "ac_cv_header_sys_resource_h" "#ifdef HAVE_SYS_PARAM_H @@ -14089,7 +14193,7 @@ " if test "x$ac_cv_header_sys_resource_h" = xyes then : - printf '%s\n' "#define HAVE_SYS_RESOURCE_H 1" >>confdefs.h + printf "%s\n" "#define HAVE_SYS_RESOURCE_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "sys/select.h" "ac_cv_header_sys_select_h" "#ifdef HAVE_SYS_PARAM_H @@ -14111,7 +14215,7 @@ " if test "x$ac_cv_header_sys_select_h" = xyes then : - printf '%s\n' "#define HAVE_SYS_SELECT_H 1" >>confdefs.h + printf "%s\n" "#define HAVE_SYS_SELECT_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "sys/socket.h" "ac_cv_header_sys_socket_h" "#ifdef HAVE_SYS_PARAM_H @@ -14133,7 +14237,7 @@ " if test "x$ac_cv_header_sys_socket_h" = xyes then : - printf '%s\n' "#define HAVE_SYS_SOCKET_H 1" >>confdefs.h + printf "%s\n" "#define HAVE_SYS_SOCKET_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "sys/stat.h" "ac_cv_header_sys_stat_h" "#ifdef HAVE_SYS_PARAM_H @@ -14155,7 +14259,7 @@ " if test "x$ac_cv_header_sys_stat_h" = xyes then : - printf '%s\n' "#define HAVE_SYS_STAT_H 1" >>confdefs.h + printf "%s\n" "#define HAVE_SYS_STAT_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "sys/statfs.h" "ac_cv_header_sys_statfs_h" "#ifdef HAVE_SYS_PARAM_H @@ -14177,7 +14281,7 @@ " if test "x$ac_cv_header_sys_statfs_h" = xyes then : - printf '%s\n' "#define HAVE_SYS_STATFS_H 1" >>confdefs.h + printf "%s\n" "#define HAVE_SYS_STATFS_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "sys/statvfs.h" "ac_cv_header_sys_statvfs_h" "#ifdef HAVE_SYS_PARAM_H @@ -14199,7 +14303,7 @@ " if test "x$ac_cv_header_sys_statvfs_h" = xyes then : - printf '%s\n' "#define HAVE_SYS_STATVFS_H 1" >>confdefs.h + printf "%s\n" "#define HAVE_SYS_STATVFS_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "sys/vfs.h" "ac_cv_header_sys_vfs_h" "#ifdef HAVE_SYS_PARAM_H @@ -14221,7 +14325,7 @@ " if test "x$ac_cv_header_sys_vfs_h" = xyes then : - printf '%s\n' "#define HAVE_SYS_VFS_H 1" >>confdefs.h + printf "%s\n" "#define HAVE_SYS_VFS_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "sys/sysexits.h" "ac_cv_header_sys_sysexits_h" "#ifdef HAVE_SYS_PARAM_H @@ -14243,7 +14347,7 @@ " if test "x$ac_cv_header_sys_sysexits_h" = xyes then : - printf '%s\n' "#define HAVE_SYS_SYSEXITS_H 1" >>confdefs.h + printf "%s\n" "#define HAVE_SYS_SYSEXITS_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "sys/uio.h" "ac_cv_header_sys_uio_h" "#ifdef HAVE_SYS_PARAM_H @@ -14265,7 +14369,7 @@ " if test "x$ac_cv_header_sys_uio_h" = xyes then : - printf '%s\n' "#define HAVE_SYS_UIO_H 1" >>confdefs.h + printf "%s\n" "#define HAVE_SYS_UIO_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "sys/wait.h" "ac_cv_header_sys_wait_h" "#ifdef HAVE_SYS_PARAM_H @@ -14287,7 +14391,7 @@ " if test "x$ac_cv_header_sys_wait_h" = xyes then : - printf '%s\n' "#define HAVE_SYS_WAIT_H 1" >>confdefs.h + printf "%s\n" "#define HAVE_SYS_WAIT_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "sys/loadavg.h" "ac_cv_header_sys_loadavg_h" "#ifdef HAVE_SYS_PARAM_H @@ -14309,7 +14413,7 @@ " if test "x$ac_cv_header_sys_loadavg_h" = xyes then : - printf '%s\n' "#define HAVE_SYS_LOADAVG_H 1" >>confdefs.h + printf "%s\n" "#define HAVE_SYS_LOADAVG_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "unistd.h" "ac_cv_header_unistd_h" "#ifdef HAVE_SYS_PARAM_H @@ -14331,7 +14435,7 @@ " if test "x$ac_cv_header_unistd_h" = xyes then : - printf '%s\n' "#define HAVE_UNISTD_H 1" >>confdefs.h + printf "%s\n" "#define HAVE_UNISTD_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "unix.h" "ac_cv_header_unix_h" "#ifdef HAVE_SYS_PARAM_H @@ -14353,7 +14457,7 @@ " if test "x$ac_cv_header_unix_h" = xyes then : - printf '%s\n' "#define HAVE_UNIX_H 1" >>confdefs.h + printf "%s\n" "#define HAVE_UNIX_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "utime.h" "ac_cv_header_utime_h" "#ifdef HAVE_SYS_PARAM_H @@ -14375,7 +14479,7 @@ " if test "x$ac_cv_header_utime_h" = xyes then : - printf '%s\n' "#define HAVE_UTIME_H 1" >>confdefs.h + printf "%s\n" "#define HAVE_UTIME_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "sys/utsname.h" "ac_cv_header_sys_utsname_h" "#ifdef HAVE_SYS_PARAM_H @@ -14397,7 +14501,7 @@ " if test "x$ac_cv_header_sys_utsname_h" = xyes then : - printf '%s\n' "#define HAVE_SYS_UTSNAME_H 1" >>confdefs.h + printf "%s\n" "#define HAVE_SYS_UTSNAME_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "sys/ipc.h" "ac_cv_header_sys_ipc_h" "#ifdef HAVE_SYS_PARAM_H @@ -14419,7 +14523,7 @@ " if test "x$ac_cv_header_sys_ipc_h" = xyes then : - printf '%s\n' "#define HAVE_SYS_IPC_H 1" >>confdefs.h + printf "%s\n" "#define HAVE_SYS_IPC_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "#ifdef HAVE_SYS_PARAM_H @@ -14441,7 +14545,7 @@ " if test "x$ac_cv_header_dlfcn_h" = xyes then : - printf '%s\n' "#define HAVE_DLFCN_H 1" >>confdefs.h + printf "%s\n" "#define HAVE_DLFCN_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "tmmintrin.h" "ac_cv_header_tmmintrin_h" "#ifdef HAVE_SYS_PARAM_H @@ -14463,7 +14567,7 @@ " if test "x$ac_cv_header_tmmintrin_h" = xyes then : - printf '%s\n' "#define HAVE_TMMINTRIN_H 1" >>confdefs.h + printf "%s\n" "#define HAVE_TMMINTRIN_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "nmmintrin.h" "ac_cv_header_nmmintrin_h" "#ifdef HAVE_SYS_PARAM_H @@ -14485,7 +14589,7 @@ " if test "x$ac_cv_header_nmmintrin_h" = xyes then : - printf '%s\n' "#define HAVE_NMMINTRIN_H 1" >>confdefs.h + printf "%s\n" "#define HAVE_NMMINTRIN_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "wmmintrin.h" "ac_cv_header_wmmintrin_h" "#ifdef HAVE_SYS_PARAM_H @@ -14507,7 +14611,7 @@ " if test "x$ac_cv_header_wmmintrin_h" = xyes then : - printf '%s\n' "#define HAVE_WMMINTRIN_H 1" >>confdefs.h + printf "%s\n" "#define HAVE_WMMINTRIN_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "immintrin.h" "ac_cv_header_immintrin_h" "#ifdef HAVE_SYS_PARAM_H @@ -14529,7 +14633,7 @@ " if test "x$ac_cv_header_immintrin_h" = xyes then : - printf '%s\n' "#define HAVE_IMMINTRIN_H 1" >>confdefs.h + printf "%s\n" "#define HAVE_IMMINTRIN_H 1" >>confdefs.h fi @@ -14541,7 +14645,7 @@ ac_fn_c_check_func "$LINENO" "fopencookie" "ac_cv_func_fopencookie" if test "x$ac_cv_func_fopencookie" = xyes then : - printf '%s\n' "#define HAVE_FOPENCOOKIE 1" >>confdefs.h + printf "%s\n" "#define HAVE_FOPENCOOKIE 1" >>confdefs.h fi @@ -14549,7 +14653,7 @@ if test "x$ac_cv_func_fopencookie" = xyes then : - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether fopencookie seeker uses off64_t" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether fopencookie seeker uses off64_t" >&5 printf %s "checking whether fopencookie seeker uses off64_t... " >&6; } if test ${php_cv_type_cookie_off64_t+y} then : @@ -14610,19 +14714,19 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_type_cookie_off64_t" >&5 -printf '%s\n' "$php_cv_type_cookie_off64_t" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_type_cookie_off64_t" >&5 +printf "%s\n" "$php_cv_type_cookie_off64_t" >&6; } if test "x$php_cv_type_cookie_off64_t" = xyes then : -printf '%s\n' "#define COOKIE_SEEKER_USES_OFF64_T 1" >>confdefs.h +printf "%s\n" "#define COOKIE_SEEKER_USES_OFF64_T 1" >>confdefs.h fi fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for broken getcwd" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for broken getcwd" >&5 printf %s "checking for broken getcwd... " >&6; } if test ${php_cv_func_getcwd_broken+y} then : @@ -14636,18 +14740,18 @@ esac ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_func_getcwd_broken" >&5 -printf '%s\n' "$php_cv_func_getcwd_broken" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_func_getcwd_broken" >&5 +printf "%s\n" "$php_cv_func_getcwd_broken" >&6; } if test "x$php_cv_func_getcwd_broken" = xyes then : -printf '%s\n' "#define HAVE_BROKEN_GETCWD 1" >>confdefs.h +printf "%s\n" "#define HAVE_BROKEN_GETCWD 1" >>confdefs.h fi if test "x$GCC" = xyes then : - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for broken gcc optimize-strlen" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for broken gcc optimize-strlen" >&5 printf %s "checking for broken gcc optimize-strlen... " >&6; } if test ${php_cv_have_broken_gcc_strlen_opt+y} then : @@ -14691,8 +14795,8 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_have_broken_gcc_strlen_opt" >&5 -printf '%s\n' "$php_cv_have_broken_gcc_strlen_opt" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_have_broken_gcc_strlen_opt" >&5 +printf "%s\n" "$php_cv_have_broken_gcc_strlen_opt" >&6; } if test "x$php_cv_have_broken_gcc_strlen_opt" = xyes then : as_fn_append CFLAGS " -fno-optimize-strlen" @@ -14706,7 +14810,7 @@ if test "x$ac_cv_header_sys_mkdev_h" = xyes then : -printf '%s\n' "#define MAJOR_IN_MKDEV 1" >>confdefs.h +printf "%s\n" "#define MAJOR_IN_MKDEV 1" >>confdefs.h fi @@ -14715,7 +14819,7 @@ if test "x$ac_cv_header_sys_sysmacros_h" = xyes then : -printf '%s\n' "#define MAJOR_IN_SYSMACROS 1" >>confdefs.h +printf "%s\n" "#define MAJOR_IN_SYSMACROS 1" >>confdefs.h fi @@ -14723,7 +14827,7 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 printf %s "checking whether struct tm is in sys/time.h or time.h... " >&6; } if test ${ac_cv_struct_tm+y} then : @@ -14754,11 +14858,11 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_struct_tm" >&5 -printf '%s\n' "$ac_cv_struct_tm" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_struct_tm" >&5 +printf "%s\n" "$ac_cv_struct_tm" >&6; } if test $ac_cv_struct_tm = sys/time.h; then -printf '%s\n' "#define TM_IN_SYS_TIME 1" >>confdefs.h +printf "%s\n" "#define TM_IN_SYS_TIME 1" >>confdefs.h fi @@ -14769,18 +14873,18 @@ if test "x$ac_cv_member_struct_tm_tm_zone" = xyes then : -printf '%s\n' "#define HAVE_STRUCT_TM_TM_ZONE 1" >>confdefs.h +printf "%s\n" "#define HAVE_STRUCT_TM_TM_ZONE 1" >>confdefs.h fi if test "$ac_cv_member_struct_tm_tm_zone" = yes; then -printf '%s\n' "#define HAVE_TM_ZONE 1" >>confdefs.h +printf "%s\n" "#define HAVE_TM_ZONE 1" >>confdefs.h else ac_fn_check_decl "$LINENO" "tzname" "ac_cv_have_decl_tzname" "#include -" "$ac_c_undeclared_builtin_options$ac_c_future_darwin_options" "CFLAGS" +" "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_tzname" = xyes then : ac_have_decl=1 @@ -14788,9 +14892,9 @@ e) ac_have_decl=0 ;; esac fi -printf '%s\n' "#define HAVE_DECL_TZNAME $ac_have_decl" >>confdefs.h +printf "%s\n" "#define HAVE_DECL_TZNAME $ac_have_decl" >>confdefs.h - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for tzname" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for tzname" >&5 printf %s "checking for tzname... " >&6; } if test ${ac_cv_var_tzname+y} then : @@ -14822,11 +14926,11 @@ conftest$ac_exeext conftest.$ac_ext ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_var_tzname" >&5 -printf '%s\n' "$ac_cv_var_tzname" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_var_tzname" >&5 +printf "%s\n" "$ac_cv_var_tzname" >&6; } if test $ac_cv_var_tzname = yes; then -printf '%s\n' "#define HAVE_TZNAME 1" >>confdefs.h +printf "%s\n" "#define HAVE_TZNAME 1" >>confdefs.h fi fi @@ -14834,57 +14938,57 @@ ac_fn_check_decl "$LINENO" "localtime_r" "ac_cv_have_decl_localtime_r" "#include -" "$ac_c_undeclared_builtin_options$ac_c_future_darwin_options" "CFLAGS" +" "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_localtime_r" = xyes then : else case e in #( e) -printf '%s\n' "#define MISSING_LOCALTIME_R_DECL 1" >>confdefs.h +printf "%s\n" "#define MISSING_LOCALTIME_R_DECL 1" >>confdefs.h ;; esac fi ac_fn_check_decl "$LINENO" "gmtime_r" "ac_cv_have_decl_gmtime_r" "#include -" "$ac_c_undeclared_builtin_options$ac_c_future_darwin_options" "CFLAGS" +" "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_gmtime_r" = xyes then : else case e in #( e) -printf '%s\n' "#define MISSING_GMTIME_R_DECL 1" >>confdefs.h +printf "%s\n" "#define MISSING_GMTIME_R_DECL 1" >>confdefs.h ;; esac fi ac_fn_check_decl "$LINENO" "asctime_r" "ac_cv_have_decl_asctime_r" "#include -" "$ac_c_undeclared_builtin_options$ac_c_future_darwin_options" "CFLAGS" +" "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_asctime_r" = xyes then : else case e in #( e) -printf '%s\n' "#define MISSING_ASCTIME_R_DECL 1" >>confdefs.h +printf "%s\n" "#define MISSING_ASCTIME_R_DECL 1" >>confdefs.h ;; esac fi ac_fn_check_decl "$LINENO" "ctime_r" "ac_cv_have_decl_ctime_r" "#include -" "$ac_c_undeclared_builtin_options$ac_c_future_darwin_options" "CFLAGS" +" "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_ctime_r" = xyes then : else case e in #( e) -printf '%s\n' "#define MISSING_CTIME_R_DECL 1" >>confdefs.h +printf "%s\n" "#define MISSING_CTIME_R_DECL 1" >>confdefs.h ;; esac fi ac_fn_check_decl "$LINENO" "strtok_r" "ac_cv_have_decl_strtok_r" "#include -" "$ac_c_undeclared_builtin_options$ac_c_future_darwin_options" "CFLAGS" +" "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_strtok_r" = xyes then : else case e in #( e) -printf '%s\n' "#define MISSING_STRTOK_R_DECL 1" >>confdefs.h +printf "%s\n" "#define MISSING_STRTOK_R_DECL 1" >>confdefs.h ;; esac fi @@ -14895,7 +14999,7 @@ if test "x$ac_cv_type_struct_flock" = xyes then : -printf '%s\n' "#define HAVE_STRUCT_FLOCK 1" >>confdefs.h +printf "%s\n" "#define HAVE_STRUCT_FLOCK 1" >>confdefs.h fi @@ -14912,14 +15016,14 @@ if test "x$ac_cv_type_socklen_t" = xyes then : -printf '%s\n' "#define HAVE_SOCKLEN_T 1" >>confdefs.h +printf "%s\n" "#define HAVE_SOCKLEN_T 1" >>confdefs.h fi - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking size of intmax_t" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of intmax_t" >&5 printf %s "checking size of intmax_t... " >&6; } php_cache_value=php_cv_sizeof_intmax_t @@ -14983,20 +15087,20 @@ if eval test "\$$php_cache_value" != "0"; then -printf '%s\n' "#define SIZEOF_INTMAX_T $php_cv_sizeof_intmax_t" >>confdefs.h +printf "%s\n" "#define SIZEOF_INTMAX_T $php_cv_sizeof_intmax_t" >>confdefs.h -printf '%s\n' "#define HAVE_INTMAX_T 1" >>confdefs.h +printf "%s\n" "#define HAVE_INTMAX_T 1" >>confdefs.h fi - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_sizeof_intmax_t" >&5 -printf '%s\n' "$php_cv_sizeof_intmax_t" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_sizeof_intmax_t" >&5 +printf "%s\n" "$php_cv_sizeof_intmax_t" >&6; } - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking size of ssize_t" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of ssize_t" >&5 printf %s "checking size of ssize_t... " >&6; } php_cache_value=php_cv_sizeof_ssize_t @@ -15060,20 +15164,20 @@ if eval test "\$$php_cache_value" != "0"; then -printf '%s\n' "#define SIZEOF_SSIZE_T $php_cv_sizeof_ssize_t" >>confdefs.h +printf "%s\n" "#define SIZEOF_SSIZE_T $php_cv_sizeof_ssize_t" >>confdefs.h -printf '%s\n' "#define HAVE_SSIZE_T 1" >>confdefs.h +printf "%s\n" "#define HAVE_SSIZE_T 1" >>confdefs.h fi - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_sizeof_ssize_t" >&5 -printf '%s\n' "$php_cv_sizeof_ssize_t" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_sizeof_ssize_t" >&5 +printf "%s\n" "$php_cv_sizeof_ssize_t" >&6; } - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking size of ptrdiff_t" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of ptrdiff_t" >&5 printf %s "checking size of ptrdiff_t... " >&6; } php_cache_value=php_cv_sizeof_ptrdiff_t @@ -15137,17 +15241,17 @@ if eval test "\$$php_cache_value" != "0"; then -printf '%s\n' "#define SIZEOF_PTRDIFF_T $php_cv_sizeof_ptrdiff_t" >>confdefs.h +printf "%s\n" "#define SIZEOF_PTRDIFF_T $php_cv_sizeof_ptrdiff_t" >>confdefs.h -printf '%s\n' "#define HAVE_PTRDIFF_T 1" >>confdefs.h +printf "%s\n" "#define HAVE_PTRDIFF_T 1" >>confdefs.h fi - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_sizeof_ptrdiff_t" >&5 -printf '%s\n' "$php_cv_sizeof_ptrdiff_t" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_sizeof_ptrdiff_t" >&5 +printf "%s\n" "$php_cv_sizeof_ptrdiff_t" >&6; } @@ -15155,7 +15259,7 @@ # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like 'int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking size of int" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of int" >&5 printf %s "checking size of int... " >&6; } if test ${ac_cv_sizeof_int+y} then : @@ -15165,25 +15269,32 @@ then : else case e in #( - e) ac_cv_sizeof_int=0 ;; + e) if test "$ac_cv_type_int" = yes; then + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} +as_fn_error 77 "cannot compute sizeof (int) +See 'config.log' for more details" "$LINENO" 5; } + else + ac_cv_sizeof_int=0 + fi ;; esac fi ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int" >&5 -printf '%s\n' "$ac_cv_sizeof_int" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int" >&5 +printf "%s\n" "$ac_cv_sizeof_int" >&6; } -printf '%s\n' "#define SIZEOF_INT $ac_cv_sizeof_int" >>confdefs.h +printf "%s\n" "#define SIZEOF_INT $ac_cv_sizeof_int" >>confdefs.h # The cast to long int works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like 'int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking size of long" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of long" >&5 printf %s "checking size of long... " >&6; } if test ${ac_cv_sizeof_long+y} then : @@ -15193,25 +15304,32 @@ then : else case e in #( - e) ac_cv_sizeof_long=0 ;; + e) if test "$ac_cv_type_long" = yes; then + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} +as_fn_error 77 "cannot compute sizeof (long) +See 'config.log' for more details" "$LINENO" 5; } + else + ac_cv_sizeof_long=0 + fi ;; esac fi ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long" >&5 -printf '%s\n' "$ac_cv_sizeof_long" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long" >&5 +printf "%s\n" "$ac_cv_sizeof_long" >&6; } -printf '%s\n' "#define SIZEOF_LONG $ac_cv_sizeof_long" >>confdefs.h +printf "%s\n" "#define SIZEOF_LONG $ac_cv_sizeof_long" >>confdefs.h # The cast to long int works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like 'int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking size of long long" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of long long" >&5 printf %s "checking size of long long... " >&6; } if test ${ac_cv_sizeof_long_long+y} then : @@ -15221,25 +15339,32 @@ then : else case e in #( - e) ac_cv_sizeof_long_long=0 ;; + e) if test "$ac_cv_type_long_long" = yes; then + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} +as_fn_error 77 "cannot compute sizeof (long long) +See 'config.log' for more details" "$LINENO" 5; } + else + ac_cv_sizeof_long_long=0 + fi ;; esac fi ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_long" >&5 -printf '%s\n' "$ac_cv_sizeof_long_long" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_long" >&5 +printf "%s\n" "$ac_cv_sizeof_long_long" >&6; } -printf '%s\n' "#define SIZEOF_LONG_LONG $ac_cv_sizeof_long_long" >>confdefs.h +printf "%s\n" "#define SIZEOF_LONG_LONG $ac_cv_sizeof_long_long" >>confdefs.h # The cast to long int works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like 'int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking size of size_t" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of size_t" >&5 printf %s "checking size of size_t... " >&6; } if test ${ac_cv_sizeof_size_t+y} then : @@ -15249,25 +15374,32 @@ then : else case e in #( - e) ac_cv_sizeof_size_t=0 ;; + e) if test "$ac_cv_type_size_t" = yes; then + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} +as_fn_error 77 "cannot compute sizeof (size_t) +See 'config.log' for more details" "$LINENO" 5; } + else + ac_cv_sizeof_size_t=0 + fi ;; esac fi ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_size_t" >&5 -printf '%s\n' "$ac_cv_sizeof_size_t" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_size_t" >&5 +printf "%s\n" "$ac_cv_sizeof_size_t" >&6; } -printf '%s\n' "#define SIZEOF_SIZE_T $ac_cv_sizeof_size_t" >>confdefs.h +printf "%s\n" "#define SIZEOF_SIZE_T $ac_cv_sizeof_size_t" >>confdefs.h # The cast to long int works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like 'int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking size of off_t" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of off_t" >&5 printf %s "checking size of off_t... " >&6; } if test ${ac_cv_sizeof_off_t+y} then : @@ -15277,24 +15409,31 @@ then : else case e in #( - e) ac_cv_sizeof_off_t=0 ;; + e) if test "$ac_cv_type_off_t" = yes; then + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} +as_fn_error 77 "cannot compute sizeof (off_t) +See 'config.log' for more details" "$LINENO" 5; } + else + ac_cv_sizeof_off_t=0 + fi ;; esac fi ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_off_t" >&5 -printf '%s\n' "$ac_cv_sizeof_off_t" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_off_t" >&5 +printf "%s\n" "$ac_cv_sizeof_off_t" >&6; } -printf '%s\n' "#define SIZEOF_OFF_T $ac_cv_sizeof_off_t" >>confdefs.h +printf "%s\n" "#define SIZEOF_OFF_T $ac_cv_sizeof_off_t" >>confdefs.h -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for __builtin_clz" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __builtin_clz" >&5 printf %s "checking for __builtin_clz... " >&6; } if test ${php_cv_have___builtin_clz+y} then : @@ -15316,18 +15455,18 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_have___builtin_clz" >&5 -printf '%s\n' "$php_cv_have___builtin_clz" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_have___builtin_clz" >&5 +printf "%s\n" "$php_cv_have___builtin_clz" >&6; } if test "x$php_cv_have___builtin_clz" = xyes then : -printf '%s\n' "#define PHP_HAVE_BUILTIN_CLZ 1" >>confdefs.h +printf "%s\n" "#define PHP_HAVE_BUILTIN_CLZ 1" >>confdefs.h fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for __builtin_clzl" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __builtin_clzl" >&5 printf %s "checking for __builtin_clzl... " >&6; } if test ${php_cv_have___builtin_clzl+y} then : @@ -15349,18 +15488,18 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_have___builtin_clzl" >&5 -printf '%s\n' "$php_cv_have___builtin_clzl" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_have___builtin_clzl" >&5 +printf "%s\n" "$php_cv_have___builtin_clzl" >&6; } if test "x$php_cv_have___builtin_clzl" = xyes then : -printf '%s\n' "#define PHP_HAVE_BUILTIN_CLZL 1" >>confdefs.h +printf "%s\n" "#define PHP_HAVE_BUILTIN_CLZL 1" >>confdefs.h fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for __builtin_clzll" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __builtin_clzll" >&5 printf %s "checking for __builtin_clzll... " >&6; } if test ${php_cv_have___builtin_clzll+y} then : @@ -15382,18 +15521,18 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_have___builtin_clzll" >&5 -printf '%s\n' "$php_cv_have___builtin_clzll" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_have___builtin_clzll" >&5 +printf "%s\n" "$php_cv_have___builtin_clzll" >&6; } if test "x$php_cv_have___builtin_clzll" = xyes then : -printf '%s\n' "#define PHP_HAVE_BUILTIN_CLZLL 1" >>confdefs.h +printf "%s\n" "#define PHP_HAVE_BUILTIN_CLZLL 1" >>confdefs.h fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for __builtin_cpu_init" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __builtin_cpu_init" >&5 printf %s "checking for __builtin_cpu_init... " >&6; } if test ${php_cv_have___builtin_cpu_init+y} then : @@ -15415,18 +15554,18 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_have___builtin_cpu_init" >&5 -printf '%s\n' "$php_cv_have___builtin_cpu_init" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_have___builtin_cpu_init" >&5 +printf "%s\n" "$php_cv_have___builtin_cpu_init" >&6; } if test "x$php_cv_have___builtin_cpu_init" = xyes then : -printf '%s\n' "#define PHP_HAVE_BUILTIN_CPU_INIT 1" >>confdefs.h +printf "%s\n" "#define PHP_HAVE_BUILTIN_CPU_INIT 1" >>confdefs.h fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for __builtin_cpu_supports" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __builtin_cpu_supports" >&5 printf %s "checking for __builtin_cpu_supports... " >&6; } if test ${php_cv_have___builtin_cpu_supports+y} then : @@ -15448,18 +15587,18 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_have___builtin_cpu_supports" >&5 -printf '%s\n' "$php_cv_have___builtin_cpu_supports" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_have___builtin_cpu_supports" >&5 +printf "%s\n" "$php_cv_have___builtin_cpu_supports" >&6; } if test "x$php_cv_have___builtin_cpu_supports" = xyes then : -printf '%s\n' "#define PHP_HAVE_BUILTIN_CPU_SUPPORTS 1" >>confdefs.h +printf "%s\n" "#define PHP_HAVE_BUILTIN_CPU_SUPPORTS 1" >>confdefs.h fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for __builtin_ctzl" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __builtin_ctzl" >&5 printf %s "checking for __builtin_ctzl... " >&6; } if test ${php_cv_have___builtin_ctzl+y} then : @@ -15481,18 +15620,18 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_have___builtin_ctzl" >&5 -printf '%s\n' "$php_cv_have___builtin_ctzl" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_have___builtin_ctzl" >&5 +printf "%s\n" "$php_cv_have___builtin_ctzl" >&6; } if test "x$php_cv_have___builtin_ctzl" = xyes then : -printf '%s\n' "#define PHP_HAVE_BUILTIN_CTZL 1" >>confdefs.h +printf "%s\n" "#define PHP_HAVE_BUILTIN_CTZL 1" >>confdefs.h fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for __builtin_ctzll" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __builtin_ctzll" >&5 printf %s "checking for __builtin_ctzll... " >&6; } if test ${php_cv_have___builtin_ctzll+y} then : @@ -15514,18 +15653,18 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_have___builtin_ctzll" >&5 -printf '%s\n' "$php_cv_have___builtin_ctzll" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_have___builtin_ctzll" >&5 +printf "%s\n" "$php_cv_have___builtin_ctzll" >&6; } if test "x$php_cv_have___builtin_ctzll" = xyes then : -printf '%s\n' "#define PHP_HAVE_BUILTIN_CTZLL 1" >>confdefs.h +printf "%s\n" "#define PHP_HAVE_BUILTIN_CTZLL 1" >>confdefs.h fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for __builtin_expect" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __builtin_expect" >&5 printf %s "checking for __builtin_expect... " >&6; } if test ${php_cv_have___builtin_expect+y} then : @@ -15547,18 +15686,18 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_have___builtin_expect" >&5 -printf '%s\n' "$php_cv_have___builtin_expect" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_have___builtin_expect" >&5 +printf "%s\n" "$php_cv_have___builtin_expect" >&6; } if test "x$php_cv_have___builtin_expect" = xyes then : -printf '%s\n' "#define PHP_HAVE_BUILTIN_EXPECT 1" >>confdefs.h +printf "%s\n" "#define PHP_HAVE_BUILTIN_EXPECT 1" >>confdefs.h fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for __builtin_frame_address" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __builtin_frame_address" >&5 printf %s "checking for __builtin_frame_address... " >&6; } if test ${php_cv_have___builtin_frame_address+y} then : @@ -15580,18 +15719,18 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_have___builtin_frame_address" >&5 -printf '%s\n' "$php_cv_have___builtin_frame_address" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_have___builtin_frame_address" >&5 +printf "%s\n" "$php_cv_have___builtin_frame_address" >&6; } if test "x$php_cv_have___builtin_frame_address" = xyes then : -printf '%s\n' "#define PHP_HAVE_BUILTIN_FRAME_ADDRESS 1" >>confdefs.h +printf "%s\n" "#define PHP_HAVE_BUILTIN_FRAME_ADDRESS 1" >>confdefs.h fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for __builtin_saddl_overflow" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __builtin_saddl_overflow" >&5 printf %s "checking for __builtin_saddl_overflow... " >&6; } if test ${php_cv_have___builtin_saddl_overflow+y} then : @@ -15613,18 +15752,18 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_have___builtin_saddl_overflow" >&5 -printf '%s\n' "$php_cv_have___builtin_saddl_overflow" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_have___builtin_saddl_overflow" >&5 +printf "%s\n" "$php_cv_have___builtin_saddl_overflow" >&6; } if test "x$php_cv_have___builtin_saddl_overflow" = xyes then : -printf '%s\n' "#define PHP_HAVE_BUILTIN_SADDL_OVERFLOW 1" >>confdefs.h +printf "%s\n" "#define PHP_HAVE_BUILTIN_SADDL_OVERFLOW 1" >>confdefs.h fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for __builtin_saddll_overflow" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __builtin_saddll_overflow" >&5 printf %s "checking for __builtin_saddll_overflow... " >&6; } if test ${php_cv_have___builtin_saddll_overflow+y} then : @@ -15646,18 +15785,18 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_have___builtin_saddll_overflow" >&5 -printf '%s\n' "$php_cv_have___builtin_saddll_overflow" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_have___builtin_saddll_overflow" >&5 +printf "%s\n" "$php_cv_have___builtin_saddll_overflow" >&6; } if test "x$php_cv_have___builtin_saddll_overflow" = xyes then : -printf '%s\n' "#define PHP_HAVE_BUILTIN_SADDLL_OVERFLOW 1" >>confdefs.h +printf "%s\n" "#define PHP_HAVE_BUILTIN_SADDLL_OVERFLOW 1" >>confdefs.h fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for __builtin_smull_overflow" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __builtin_smull_overflow" >&5 printf %s "checking for __builtin_smull_overflow... " >&6; } if test ${php_cv_have___builtin_smull_overflow+y} then : @@ -15679,18 +15818,18 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_have___builtin_smull_overflow" >&5 -printf '%s\n' "$php_cv_have___builtin_smull_overflow" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_have___builtin_smull_overflow" >&5 +printf "%s\n" "$php_cv_have___builtin_smull_overflow" >&6; } if test "x$php_cv_have___builtin_smull_overflow" = xyes then : -printf '%s\n' "#define PHP_HAVE_BUILTIN_SMULL_OVERFLOW 1" >>confdefs.h +printf "%s\n" "#define PHP_HAVE_BUILTIN_SMULL_OVERFLOW 1" >>confdefs.h fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for __builtin_smulll_overflow" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __builtin_smulll_overflow" >&5 printf %s "checking for __builtin_smulll_overflow... " >&6; } if test ${php_cv_have___builtin_smulll_overflow+y} then : @@ -15712,18 +15851,18 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_have___builtin_smulll_overflow" >&5 -printf '%s\n' "$php_cv_have___builtin_smulll_overflow" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_have___builtin_smulll_overflow" >&5 +printf "%s\n" "$php_cv_have___builtin_smulll_overflow" >&6; } if test "x$php_cv_have___builtin_smulll_overflow" = xyes then : -printf '%s\n' "#define PHP_HAVE_BUILTIN_SMULLL_OVERFLOW 1" >>confdefs.h +printf "%s\n" "#define PHP_HAVE_BUILTIN_SMULLL_OVERFLOW 1" >>confdefs.h fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for __builtin_ssubl_overflow" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __builtin_ssubl_overflow" >&5 printf %s "checking for __builtin_ssubl_overflow... " >&6; } if test ${php_cv_have___builtin_ssubl_overflow+y} then : @@ -15745,18 +15884,18 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_have___builtin_ssubl_overflow" >&5 -printf '%s\n' "$php_cv_have___builtin_ssubl_overflow" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_have___builtin_ssubl_overflow" >&5 +printf "%s\n" "$php_cv_have___builtin_ssubl_overflow" >&6; } if test "x$php_cv_have___builtin_ssubl_overflow" = xyes then : -printf '%s\n' "#define PHP_HAVE_BUILTIN_SSUBL_OVERFLOW 1" >>confdefs.h +printf "%s\n" "#define PHP_HAVE_BUILTIN_SSUBL_OVERFLOW 1" >>confdefs.h fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for __builtin_ssubll_overflow" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __builtin_ssubll_overflow" >&5 printf %s "checking for __builtin_ssubll_overflow... " >&6; } if test ${php_cv_have___builtin_ssubll_overflow+y} then : @@ -15778,18 +15917,18 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_have___builtin_ssubll_overflow" >&5 -printf '%s\n' "$php_cv_have___builtin_ssubll_overflow" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_have___builtin_ssubll_overflow" >&5 +printf "%s\n" "$php_cv_have___builtin_ssubll_overflow" >&6; } if test "x$php_cv_have___builtin_ssubll_overflow" = xyes then : -printf '%s\n' "#define PHP_HAVE_BUILTIN_SSUBLL_OVERFLOW 1" >>confdefs.h +printf "%s\n" "#define PHP_HAVE_BUILTIN_SSUBLL_OVERFLOW 1" >>confdefs.h fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for __builtin_unreachable" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __builtin_unreachable" >&5 printf %s "checking for __builtin_unreachable... " >&6; } if test ${php_cv_have___builtin_unreachable+y} then : @@ -15811,18 +15950,18 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_have___builtin_unreachable" >&5 -printf '%s\n' "$php_cv_have___builtin_unreachable" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_have___builtin_unreachable" >&5 +printf "%s\n" "$php_cv_have___builtin_unreachable" >&6; } if test "x$php_cv_have___builtin_unreachable" = xyes then : -printf '%s\n' "#define PHP_HAVE_BUILTIN_UNREACHABLE 1" >>confdefs.h +printf "%s\n" "#define PHP_HAVE_BUILTIN_UNREACHABLE 1" >>confdefs.h fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for __builtin_usub_overflow" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __builtin_usub_overflow" >&5 printf %s "checking for __builtin_usub_overflow... " >&6; } if test ${php_cv_have___builtin_usub_overflow+y} then : @@ -15844,18 +15983,18 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_have___builtin_usub_overflow" >&5 -printf '%s\n' "$php_cv_have___builtin_usub_overflow" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_have___builtin_usub_overflow" >&5 +printf "%s\n" "$php_cv_have___builtin_usub_overflow" >&6; } if test "x$php_cv_have___builtin_usub_overflow" = xyes then : -printf '%s\n' "#define PHP_HAVE_BUILTIN_USUB_OVERFLOW 1" >>confdefs.h +printf "%s\n" "#define PHP_HAVE_BUILTIN_USUB_OVERFLOW 1" >>confdefs.h fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether compiler supports AVX-512" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether compiler supports AVX-512" >&5 printf %s "checking whether compiler supports AVX-512... " >&6; } if test ${php_cv_have_avx512+y} then : @@ -15887,16 +16026,16 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_have_avx512" >&5 -printf '%s\n' "$php_cv_have_avx512" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_have_avx512" >&5 +printf "%s\n" "$php_cv_have_avx512" >&6; } if test "x$php_cv_have_avx512" = xyes then : -printf '%s\n' "#define PHP_HAVE_AVX512_SUPPORTS 1" >>confdefs.h +printf "%s\n" "#define PHP_HAVE_AVX512_SUPPORTS 1" >>confdefs.h fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether compiler supports AVX-512 VBMI" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether compiler supports AVX-512 VBMI" >&5 printf %s "checking whether compiler supports AVX-512 VBMI... " >&6; } if test ${php_cv_have_avx512vbmi+y} then : @@ -15928,17 +16067,17 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_have_avx512vbmi" >&5 -printf '%s\n' "$php_cv_have_avx512vbmi" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_have_avx512vbmi" >&5 +printf "%s\n" "$php_cv_have_avx512vbmi" >&6; } if test "x$php_cv_have_avx512vbmi" = xyes then : -printf '%s\n' "#define PHP_HAVE_AVX512_VBMI_SUPPORTS 1" >>confdefs.h +printf "%s\n" "#define PHP_HAVE_AVX512_VBMI_SUPPORTS 1" >>confdefs.h fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports __alignof__" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports __alignof__" >&5 printf %s "checking whether the compiler supports __alignof__... " >&6; } if test ${php_cv_have_alignof+y} then : @@ -15968,12 +16107,12 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_have_alignof" >&5 -printf '%s\n' "$php_cv_have_alignof" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_have_alignof" >&5 +printf "%s\n" "$php_cv_have_alignof" >&6; } if test "x$php_cv_have_alignof" = xyes then : -printf '%s\n' "#define HAVE_ALIGNOF 1" >>confdefs.h +printf "%s\n" "#define HAVE_ALIGNOF 1" >>confdefs.h fi @@ -15982,7 +16121,7 @@ if test "x$ac_cv_member_struct_tm_tm_gmtoff" = xyes then : -printf '%s\n' "#define HAVE_STRUCT_TM_TM_GMTOFF 1" >>confdefs.h +printf "%s\n" "#define HAVE_STRUCT_TM_TM_GMTOFF 1" >>confdefs.h fi @@ -15991,7 +16130,7 @@ if test "x$ac_cv_member_struct_stat_st_blksize" = xyes then : -printf '%s\n' "#define HAVE_STRUCT_STAT_ST_BLKSIZE 1" >>confdefs.h +printf "%s\n" "#define HAVE_STRUCT_STAT_ST_BLKSIZE 1" >>confdefs.h fi @@ -15999,7 +16138,7 @@ if test "x$ac_cv_member_struct_stat_st_rdev" = xyes then : -printf '%s\n' "#define HAVE_STRUCT_STAT_ST_RDEV 1" >>confdefs.h +printf "%s\n" "#define HAVE_STRUCT_STAT_ST_RDEV 1" >>confdefs.h fi @@ -16009,10 +16148,10 @@ if test "x$ac_cv_member_struct_stat_st_blocks" = xyes then : -printf '%s\n' "#define HAVE_STRUCT_STAT_ST_BLOCKS 1" >>confdefs.h +printf "%s\n" "#define HAVE_STRUCT_STAT_ST_BLOCKS 1" >>confdefs.h -printf '%s\n' "#define HAVE_ST_BLOCKS 1" >>confdefs.h +printf "%s\n" "#define HAVE_ST_BLOCKS 1" >>confdefs.h else case e in #( e) case " $LIBOBJS " in @@ -16033,7 +16172,7 @@ else case e in #( e) -printf '%s\n' "#define uid_t int" >>confdefs.h +printf "%s\n" "#define uid_t int" >>confdefs.h ;; esac fi @@ -16044,7 +16183,7 @@ else case e in #( e) -printf '%s\n' "#define gid_t int" >>confdefs.h +printf "%s\n" "#define gid_t int" >>confdefs.h ;; esac fi @@ -16055,7 +16194,7 @@ if test "x$ac_cv_type_struct_sockaddr_storage" = xyes then : -printf '%s\n' "#define HAVE_STRUCT_SOCKADDR_STORAGE 1" >>confdefs.h +printf "%s\n" "#define HAVE_STRUCT_SOCKADDR_STORAGE 1" >>confdefs.h fi @@ -16065,7 +16204,7 @@ if test "x$ac_cv_member_struct_sockaddr_sa_len" = xyes then : -printf '%s\n' "#define HAVE_STRUCT_SOCKADDR_SA_LEN 1" >>confdefs.h +printf "%s\n" "#define HAVE_STRUCT_SOCKADDR_SA_LEN 1" >>confdefs.h fi @@ -16080,7 +16219,7 @@ - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for __attribute__((ifunc))" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __attribute__((ifunc))" >&5 printf %s "checking for __attribute__((ifunc))... " >&6; } if test ${ax_cv_have_func_attribute_ifunc+y} then : @@ -16122,13 +16261,13 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ax_cv_have_func_attribute_ifunc" >&5 -printf '%s\n' "$ax_cv_have_func_attribute_ifunc" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_have_func_attribute_ifunc" >&5 +printf "%s\n" "$ax_cv_have_func_attribute_ifunc" >&6; } if test yes = $ax_cv_have_func_attribute_ifunc then : -printf '%s\n' "#define HAVE_FUNC_ATTRIBUTE_IFUNC 1" >>confdefs.h +printf "%s\n" "#define HAVE_FUNC_ATTRIBUTE_IFUNC 1" >>confdefs.h fi @@ -16137,7 +16276,7 @@ - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for __attribute__((target))" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __attribute__((target))" >&5 printf %s "checking for __attribute__((target))... " >&6; } if test ${ax_cv_have_func_attribute_target+y} then : @@ -16177,13 +16316,13 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ax_cv_have_func_attribute_target" >&5 -printf '%s\n' "$ax_cv_have_func_attribute_target" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_have_func_attribute_target" >&5 +printf "%s\n" "$ax_cv_have_func_attribute_target" >&6; } if test yes = $ax_cv_have_func_attribute_target then : -printf '%s\n' "#define HAVE_FUNC_ATTRIBUTE_TARGET 1" >>confdefs.h +printf "%s\n" "#define HAVE_FUNC_ATTRIBUTE_TARGET 1" >>confdefs.h fi @@ -16194,7 +16333,7 @@ esac -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for variable __attribute__((aligned))" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for variable __attribute__((aligned))" >&5 printf %s "checking for variable __attribute__((aligned))... " >&6; } if test ${php_cv_have_variable_attribute_aligned+y} then : @@ -16228,12 +16367,12 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_have_variable_attribute_aligned" >&5 -printf '%s\n' "$php_cv_have_variable_attribute_aligned" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_have_variable_attribute_aligned" >&5 +printf "%s\n" "$php_cv_have_variable_attribute_aligned" >&6; } if test "x$php_cv_have_variable_attribute_aligned" = xyes then : -printf '%s\n' "#define HAVE_ATTRIBUTE_ALIGNED 1" >>confdefs.h +printf "%s\n" "#define HAVE_ATTRIBUTE_ALIGNED 1" >>confdefs.h fi @@ -16243,355 +16382,355 @@ ac_fn_c_check_func "$LINENO" "alphasort" "ac_cv_func_alphasort" if test "x$ac_cv_func_alphasort" = xyes then : - printf '%s\n' "#define HAVE_ALPHASORT 1" >>confdefs.h + printf "%s\n" "#define HAVE_ALPHASORT 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "asctime_r" "ac_cv_func_asctime_r" if test "x$ac_cv_func_asctime_r" = xyes then : - printf '%s\n' "#define HAVE_ASCTIME_R 1" >>confdefs.h + printf "%s\n" "#define HAVE_ASCTIME_R 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "asprintf" "ac_cv_func_asprintf" if test "x$ac_cv_func_asprintf" = xyes then : - printf '%s\n' "#define HAVE_ASPRINTF 1" >>confdefs.h + printf "%s\n" "#define HAVE_ASPRINTF 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "chroot" "ac_cv_func_chroot" if test "x$ac_cv_func_chroot" = xyes then : - printf '%s\n' "#define HAVE_CHROOT 1" >>confdefs.h + printf "%s\n" "#define HAVE_CHROOT 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "ctime_r" "ac_cv_func_ctime_r" if test "x$ac_cv_func_ctime_r" = xyes then : - printf '%s\n' "#define HAVE_CTIME_R 1" >>confdefs.h + printf "%s\n" "#define HAVE_CTIME_R 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "explicit_memset" "ac_cv_func_explicit_memset" if test "x$ac_cv_func_explicit_memset" = xyes then : - printf '%s\n' "#define HAVE_EXPLICIT_MEMSET 1" >>confdefs.h + printf "%s\n" "#define HAVE_EXPLICIT_MEMSET 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "fdatasync" "ac_cv_func_fdatasync" if test "x$ac_cv_func_fdatasync" = xyes then : - printf '%s\n' "#define HAVE_FDATASYNC 1" >>confdefs.h + printf "%s\n" "#define HAVE_FDATASYNC 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "flock" "ac_cv_func_flock" if test "x$ac_cv_func_flock" = xyes then : - printf '%s\n' "#define HAVE_FLOCK 1" >>confdefs.h + printf "%s\n" "#define HAVE_FLOCK 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "ftok" "ac_cv_func_ftok" if test "x$ac_cv_func_ftok" = xyes then : - printf '%s\n' "#define HAVE_FTOK 1" >>confdefs.h + printf "%s\n" "#define HAVE_FTOK 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "funopen" "ac_cv_func_funopen" if test "x$ac_cv_func_funopen" = xyes then : - printf '%s\n' "#define HAVE_FUNOPEN 1" >>confdefs.h + printf "%s\n" "#define HAVE_FUNOPEN 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "gai_strerror" "ac_cv_func_gai_strerror" if test "x$ac_cv_func_gai_strerror" = xyes then : - printf '%s\n' "#define HAVE_GAI_STRERROR 1" >>confdefs.h + printf "%s\n" "#define HAVE_GAI_STRERROR 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "getcwd" "ac_cv_func_getcwd" if test "x$ac_cv_func_getcwd" = xyes then : - printf '%s\n' "#define HAVE_GETCWD 1" >>confdefs.h + printf "%s\n" "#define HAVE_GETCWD 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "getgrnam_r" "ac_cv_func_getgrnam_r" if test "x$ac_cv_func_getgrnam_r" = xyes then : - printf '%s\n' "#define HAVE_GETGRNAM_R 1" >>confdefs.h + printf "%s\n" "#define HAVE_GETGRNAM_R 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "gethostname" "ac_cv_func_gethostname" if test "x$ac_cv_func_gethostname" = xyes then : - printf '%s\n' "#define HAVE_GETHOSTNAME 1" >>confdefs.h + printf "%s\n" "#define HAVE_GETHOSTNAME 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "getloadavg" "ac_cv_func_getloadavg" if test "x$ac_cv_func_getloadavg" = xyes then : - printf '%s\n' "#define HAVE_GETLOADAVG 1" >>confdefs.h + printf "%s\n" "#define HAVE_GETLOADAVG 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "getlogin" "ac_cv_func_getlogin" if test "x$ac_cv_func_getlogin" = xyes then : - printf '%s\n' "#define HAVE_GETLOGIN 1" >>confdefs.h + printf "%s\n" "#define HAVE_GETLOGIN 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "getprotobyname" "ac_cv_func_getprotobyname" if test "x$ac_cv_func_getprotobyname" = xyes then : - printf '%s\n' "#define HAVE_GETPROTOBYNAME 1" >>confdefs.h + printf "%s\n" "#define HAVE_GETPROTOBYNAME 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "getprotobynumber" "ac_cv_func_getprotobynumber" if test "x$ac_cv_func_getprotobynumber" = xyes then : - printf '%s\n' "#define HAVE_GETPROTOBYNUMBER 1" >>confdefs.h + printf "%s\n" "#define HAVE_GETPROTOBYNUMBER 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "getpwnam_r" "ac_cv_func_getpwnam_r" if test "x$ac_cv_func_getpwnam_r" = xyes then : - printf '%s\n' "#define HAVE_GETPWNAM_R 1" >>confdefs.h + printf "%s\n" "#define HAVE_GETPWNAM_R 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "getpwuid_r" "ac_cv_func_getpwuid_r" if test "x$ac_cv_func_getpwuid_r" = xyes then : - printf '%s\n' "#define HAVE_GETPWUID_R 1" >>confdefs.h + printf "%s\n" "#define HAVE_GETPWUID_R 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "getrusage" "ac_cv_func_getrusage" if test "x$ac_cv_func_getrusage" = xyes then : - printf '%s\n' "#define HAVE_GETRUSAGE 1" >>confdefs.h + printf "%s\n" "#define HAVE_GETRUSAGE 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "getservbyname" "ac_cv_func_getservbyname" if test "x$ac_cv_func_getservbyname" = xyes then : - printf '%s\n' "#define HAVE_GETSERVBYNAME 1" >>confdefs.h + printf "%s\n" "#define HAVE_GETSERVBYNAME 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "getservbyport" "ac_cv_func_getservbyport" if test "x$ac_cv_func_getservbyport" = xyes then : - printf '%s\n' "#define HAVE_GETSERVBYPORT 1" >>confdefs.h + printf "%s\n" "#define HAVE_GETSERVBYPORT 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "gettimeofday" "ac_cv_func_gettimeofday" if test "x$ac_cv_func_gettimeofday" = xyes then : - printf '%s\n' "#define HAVE_GETTIMEOFDAY 1" >>confdefs.h + printf "%s\n" "#define HAVE_GETTIMEOFDAY 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "getwd" "ac_cv_func_getwd" if test "x$ac_cv_func_getwd" = xyes then : - printf '%s\n' "#define HAVE_GETWD 1" >>confdefs.h + printf "%s\n" "#define HAVE_GETWD 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "glob" "ac_cv_func_glob" if test "x$ac_cv_func_glob" = xyes then : - printf '%s\n' "#define HAVE_GLOB 1" >>confdefs.h + printf "%s\n" "#define HAVE_GLOB 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "gmtime_r" "ac_cv_func_gmtime_r" if test "x$ac_cv_func_gmtime_r" = xyes then : - printf '%s\n' "#define HAVE_GMTIME_R 1" >>confdefs.h + printf "%s\n" "#define HAVE_GMTIME_R 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "lchown" "ac_cv_func_lchown" if test "x$ac_cv_func_lchown" = xyes then : - printf '%s\n' "#define HAVE_LCHOWN 1" >>confdefs.h + printf "%s\n" "#define HAVE_LCHOWN 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "localtime_r" "ac_cv_func_localtime_r" if test "x$ac_cv_func_localtime_r" = xyes then : - printf '%s\n' "#define HAVE_LOCALTIME_R 1" >>confdefs.h + printf "%s\n" "#define HAVE_LOCALTIME_R 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "memcntl" "ac_cv_func_memcntl" if test "x$ac_cv_func_memcntl" = xyes then : - printf '%s\n' "#define HAVE_MEMCNTL 1" >>confdefs.h + printf "%s\n" "#define HAVE_MEMCNTL 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "memfd_create" "ac_cv_func_memfd_create" if test "x$ac_cv_func_memfd_create" = xyes then : - printf '%s\n' "#define HAVE_MEMFD_CREATE 1" >>confdefs.h + printf "%s\n" "#define HAVE_MEMFD_CREATE 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "memmem" "ac_cv_func_memmem" if test "x$ac_cv_func_memmem" = xyes then : - printf '%s\n' "#define HAVE_MEMMEM 1" >>confdefs.h + printf "%s\n" "#define HAVE_MEMMEM 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "mempcpy" "ac_cv_func_mempcpy" if test "x$ac_cv_func_mempcpy" = xyes then : - printf '%s\n' "#define HAVE_MEMPCPY 1" >>confdefs.h + printf "%s\n" "#define HAVE_MEMPCPY 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "memrchr" "ac_cv_func_memrchr" if test "x$ac_cv_func_memrchr" = xyes then : - printf '%s\n' "#define HAVE_MEMRCHR 1" >>confdefs.h + printf "%s\n" "#define HAVE_MEMRCHR 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "mkstemp" "ac_cv_func_mkstemp" if test "x$ac_cv_func_mkstemp" = xyes then : - printf '%s\n' "#define HAVE_MKSTEMP 1" >>confdefs.h + printf "%s\n" "#define HAVE_MKSTEMP 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap" if test "x$ac_cv_func_mmap" = xyes then : - printf '%s\n' "#define HAVE_MMAP 1" >>confdefs.h + printf "%s\n" "#define HAVE_MMAP 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "nice" "ac_cv_func_nice" if test "x$ac_cv_func_nice" = xyes then : - printf '%s\n' "#define HAVE_NICE 1" >>confdefs.h + printf "%s\n" "#define HAVE_NICE 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "nl_langinfo" "ac_cv_func_nl_langinfo" if test "x$ac_cv_func_nl_langinfo" = xyes then : - printf '%s\n' "#define HAVE_NL_LANGINFO 1" >>confdefs.h + printf "%s\n" "#define HAVE_NL_LANGINFO 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "poll" "ac_cv_func_poll" if test "x$ac_cv_func_poll" = xyes then : - printf '%s\n' "#define HAVE_POLL 1" >>confdefs.h + printf "%s\n" "#define HAVE_POLL 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "pthread_jit_write_protect_np" "ac_cv_func_pthread_jit_write_protect_np" if test "x$ac_cv_func_pthread_jit_write_protect_np" = xyes then : - printf '%s\n' "#define HAVE_PTHREAD_JIT_WRITE_PROTECT_NP 1" >>confdefs.h + printf "%s\n" "#define HAVE_PTHREAD_JIT_WRITE_PROTECT_NP 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "putenv" "ac_cv_func_putenv" if test "x$ac_cv_func_putenv" = xyes then : - printf '%s\n' "#define HAVE_PUTENV 1" >>confdefs.h + printf "%s\n" "#define HAVE_PUTENV 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "scandir" "ac_cv_func_scandir" if test "x$ac_cv_func_scandir" = xyes then : - printf '%s\n' "#define HAVE_SCANDIR 1" >>confdefs.h + printf "%s\n" "#define HAVE_SCANDIR 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "setenv" "ac_cv_func_setenv" if test "x$ac_cv_func_setenv" = xyes then : - printf '%s\n' "#define HAVE_SETENV 1" >>confdefs.h + printf "%s\n" "#define HAVE_SETENV 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "setitimer" "ac_cv_func_setitimer" if test "x$ac_cv_func_setitimer" = xyes then : - printf '%s\n' "#define HAVE_SETITIMER 1" >>confdefs.h + printf "%s\n" "#define HAVE_SETITIMER 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "shutdown" "ac_cv_func_shutdown" if test "x$ac_cv_func_shutdown" = xyes then : - printf '%s\n' "#define HAVE_SHUTDOWN 1" >>confdefs.h + printf "%s\n" "#define HAVE_SHUTDOWN 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "sigprocmask" "ac_cv_func_sigprocmask" if test "x$ac_cv_func_sigprocmask" = xyes then : - printf '%s\n' "#define HAVE_SIGPROCMASK 1" >>confdefs.h + printf "%s\n" "#define HAVE_SIGPROCMASK 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "statfs" "ac_cv_func_statfs" if test "x$ac_cv_func_statfs" = xyes then : - printf '%s\n' "#define HAVE_STATFS 1" >>confdefs.h + printf "%s\n" "#define HAVE_STATFS 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "statvfs" "ac_cv_func_statvfs" if test "x$ac_cv_func_statvfs" = xyes then : - printf '%s\n' "#define HAVE_STATVFS 1" >>confdefs.h + printf "%s\n" "#define HAVE_STATVFS 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "std_syslog" "ac_cv_func_std_syslog" if test "x$ac_cv_func_std_syslog" = xyes then : - printf '%s\n' "#define HAVE_STD_SYSLOG 1" >>confdefs.h + printf "%s\n" "#define HAVE_STD_SYSLOG 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "strcasecmp" "ac_cv_func_strcasecmp" if test "x$ac_cv_func_strcasecmp" = xyes then : - printf '%s\n' "#define HAVE_STRCASECMP 1" >>confdefs.h + printf "%s\n" "#define HAVE_STRCASECMP 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "strnlen" "ac_cv_func_strnlen" if test "x$ac_cv_func_strnlen" = xyes then : - printf '%s\n' "#define HAVE_STRNLEN 1" >>confdefs.h + printf "%s\n" "#define HAVE_STRNLEN 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "strptime" "ac_cv_func_strptime" if test "x$ac_cv_func_strptime" = xyes then : - printf '%s\n' "#define HAVE_STRPTIME 1" >>confdefs.h + printf "%s\n" "#define HAVE_STRPTIME 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "strtok_r" "ac_cv_func_strtok_r" if test "x$ac_cv_func_strtok_r" = xyes then : - printf '%s\n' "#define HAVE_STRTOK_R 1" >>confdefs.h + printf "%s\n" "#define HAVE_STRTOK_R 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "symlink" "ac_cv_func_symlink" if test "x$ac_cv_func_symlink" = xyes then : - printf '%s\n' "#define HAVE_SYMLINK 1" >>confdefs.h + printf "%s\n" "#define HAVE_SYMLINK 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "tzset" "ac_cv_func_tzset" if test "x$ac_cv_func_tzset" = xyes then : - printf '%s\n' "#define HAVE_TZSET 1" >>confdefs.h + printf "%s\n" "#define HAVE_TZSET 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "unsetenv" "ac_cv_func_unsetenv" if test "x$ac_cv_func_unsetenv" = xyes then : - printf '%s\n' "#define HAVE_UNSETENV 1" >>confdefs.h + printf "%s\n" "#define HAVE_UNSETENV 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "usleep" "ac_cv_func_usleep" if test "x$ac_cv_func_usleep" = xyes then : - printf '%s\n' "#define HAVE_USLEEP 1" >>confdefs.h + printf "%s\n" "#define HAVE_USLEEP 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "utime" "ac_cv_func_utime" if test "x$ac_cv_func_utime" = xyes then : - printf '%s\n' "#define HAVE_UTIME 1" >>confdefs.h + printf "%s\n" "#define HAVE_UTIME 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "vasprintf" "ac_cv_func_vasprintf" if test "x$ac_cv_func_vasprintf" = xyes then : - printf '%s\n' "#define HAVE_VASPRINTF 1" >>confdefs.h + printf "%s\n" "#define HAVE_VASPRINTF 1" >>confdefs.h fi @@ -16601,8 +16740,8 @@ then : else case e in #( - e) { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + e) { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "Required inet_ntop not found. See 'config.log' for more details" "$LINENO" 5; } ;; esac @@ -16613,15 +16752,15 @@ then : else case e in #( - e) { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + e) { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "Required inet_pton not found. See 'config.log' for more details" "$LINENO" 5; } ;; esac fi -ac_fn_check_decl "$LINENO" "strerror_r" "ac_cv_have_decl_strerror_r" "$ac_includes_default" "$ac_c_undeclared_builtin_options$ac_c_future_darwin_options" "CFLAGS" +ac_fn_check_decl "$LINENO" "strerror_r" "ac_cv_have_decl_strerror_r" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_strerror_r" = xyes then : ac_have_decl=1 @@ -16629,7 +16768,7 @@ e) ac_have_decl=0 ;; esac fi -printf '%s\n' "#define HAVE_DECL_STRERROR_R $ac_have_decl" >>confdefs.h +printf "%s\n" "#define HAVE_DECL_STRERROR_R $ac_have_decl" >>confdefs.h if test $ac_cv_have_decl_strerror_r = yes; then @@ -16637,11 +16776,11 @@ # (We used to run AC_CHECK_FUNCS_ONCE for strerror_r, as well # as AC_CHECK_DECLS_ONCE.) -printf '%s\n' "#define HAVE_STRERROR_R 1" >>confdefs.h +printf "%s\n" "#define HAVE_STRERROR_R 1" >>confdefs.h fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether strerror_r returns char *" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether strerror_r returns char *" >&5 printf %s "checking whether strerror_r returns char *... " >&6; } if test ${ac_cv_func_strerror_r_char_p+y} then : @@ -16676,11 +16815,11 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_strerror_r_char_p" >&5 -printf '%s\n' "$ac_cv_func_strerror_r_char_p" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_strerror_r_char_p" >&5 +printf "%s\n" "$ac_cv_func_strerror_r_char_p" >&6; } if test $ac_cv_func_strerror_r_char_p = yes; then -printf '%s\n' "#define STRERROR_R_CHAR_P 1" >>confdefs.h +printf "%s\n" "#define STRERROR_R_CHAR_P 1" >>confdefs.h fi @@ -16691,7 +16830,7 @@ ac_fn_c_check_func "$LINENO" "prctl" "ac_cv_func_prctl" if test "x$ac_cv_func_prctl" = xyes then : - printf '%s\n' "#define HAVE_PRCTL 1" >>confdefs.h + printf "%s\n" "#define HAVE_PRCTL 1" >>confdefs.h fi @@ -16703,7 +16842,7 @@ ac_fn_c_check_func "$LINENO" "procctl" "ac_cv_func_procctl" if test "x$ac_cv_func_procctl" = xyes then : - printf '%s\n' "#define HAVE_PROCCTL 1" >>confdefs.h + printf "%s\n" "#define HAVE_PROCCTL 1" >>confdefs.h fi @@ -16718,7 +16857,7 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking how many arguments gethostbyname_r() takes" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how many arguments gethostbyname_r() takes" >&5 printf %s "checking how many arguments gethostbyname_r() takes... " >&6; } if test ${ac_cv_func_which_gethostbyname_r+y} @@ -16866,44 +17005,44 @@ case "$ac_cv_func_which_gethostbyname_r" in three|five|six) -printf '%s\n' "#define HAVE_GETHOSTBYNAME_R 1" >>confdefs.h +printf "%s\n" "#define HAVE_GETHOSTBYNAME_R 1" >>confdefs.h ;; esac case "$ac_cv_func_which_gethostbyname_r" in three) - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: three" >&5 -printf '%s\n' "three" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: three" >&5 +printf "%s\n" "three" >&6; } -printf '%s\n' "#define HAVE_FUNC_GETHOSTBYNAME_R_3 1" >>confdefs.h +printf "%s\n" "#define HAVE_FUNC_GETHOSTBYNAME_R_3 1" >>confdefs.h ;; five) - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: five" >&5 -printf '%s\n' "five" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: five" >&5 +printf "%s\n" "five" >&6; } -printf '%s\n' "#define HAVE_FUNC_GETHOSTBYNAME_R_5 1" >>confdefs.h +printf "%s\n" "#define HAVE_FUNC_GETHOSTBYNAME_R_5 1" >>confdefs.h ;; six) - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: six" >&5 -printf '%s\n' "six" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: six" >&5 +printf "%s\n" "six" >&6; } -printf '%s\n' "#define HAVE_FUNC_GETHOSTBYNAME_R_6 1" >>confdefs.h +printf "%s\n" "#define HAVE_FUNC_GETHOSTBYNAME_R_6 1" >>confdefs.h ;; no) - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: cannot find function declaration in netdb.h" >&5 -printf '%s\n' "cannot find function declaration in netdb.h" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: cannot find function declaration in netdb.h" >&5 +printf "%s\n" "cannot find function declaration in netdb.h" >&6; } ;; unknown) - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: can't tell" >&5 -printf '%s\n' "can't tell" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: can't tell" >&5 +printf "%s\n" "can't tell" >&6; } ;; *) @@ -16926,10 +17065,10 @@ ac_fn_c_check_func "$LINENO" "nanosleep" "ac_cv_func_nanosleep" if test "x$ac_cv_func_nanosleep" = xyes then : - printf '%s\n' "#define HAVE_NANOSLEEP 1" >>confdefs.h + printf "%s\n" "#define HAVE_NANOSLEEP 1" >>confdefs.h else case e in #( - e) { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for library containing nanosleep" >&5 + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing nanosleep" >&5 printf %s "checking for library containing nanosleep... " >&6; } if test ${ac_cv_search_nanosleep+y} then : @@ -16987,13 +17126,13 @@ LIBS=$ac_func_search_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_nanosleep" >&5 -printf '%s\n' "$ac_cv_search_nanosleep" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_nanosleep" >&5 +printf "%s\n" "$ac_cv_search_nanosleep" >&6; } ac_res=$ac_cv_search_nanosleep if test "$ac_res" != no then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - printf '%s\n' "#define HAVE_NANOSLEEP 1" >>confdefs.h + printf "%s\n" "#define HAVE_NANOSLEEP 1" >>confdefs.h fi ;; @@ -17002,7 +17141,7 @@ done -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for getaddrinfo" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for getaddrinfo" >&5 printf %s "checking for getaddrinfo... " >&6; } if test ${php_cv_func_getaddrinfo+y} then : @@ -17092,16 +17231,16 @@ conftest$ac_exeext conftest.$ac_ext ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_func_getaddrinfo" >&5 -printf '%s\n' "$php_cv_func_getaddrinfo" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_func_getaddrinfo" >&5 +printf "%s\n" "$php_cv_func_getaddrinfo" >&6; } if test "x$php_cv_func_getaddrinfo" = xyes then : -printf '%s\n' "#define HAVE_GETADDRINFO 1" >>confdefs.h +printf "%s\n" "#define HAVE_GETADDRINFO 1" >>confdefs.h fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for copy_file_range" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for copy_file_range" >&5 printf %s "checking for copy_file_range... " >&6; } if test ${php_cv_func_copy_file_range+y} then : @@ -17139,19 +17278,19 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_func_copy_file_range" >&5 -printf '%s\n' "$php_cv_func_copy_file_range" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_func_copy_file_range" >&5 +printf "%s\n" "$php_cv_func_copy_file_range" >&6; } if test "x$php_cv_func_copy_file_range" = xyes then : -printf '%s\n' "#define HAVE_COPY_FILE_RANGE 1" >>confdefs.h +printf "%s\n" "#define HAVE_COPY_FILE_RANGE 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "strlcat" "ac_cv_func_strlcat" if test "x$ac_cv_func_strlcat" = xyes then : - printf '%s\n' "#define HAVE_STRLCAT 1" >>confdefs.h + printf "%s\n" "#define HAVE_STRLCAT 1" >>confdefs.h else case e in #( e) case " $LIBOBJS " in @@ -17165,7 +17304,7 @@ ac_fn_c_check_func "$LINENO" "strlcpy" "ac_cv_func_strlcpy" if test "x$ac_cv_func_strlcpy" = xyes then : - printf '%s\n' "#define HAVE_STRLCPY 1" >>confdefs.h + printf "%s\n" "#define HAVE_STRLCPY 1" >>confdefs.h else case e in #( e) case " $LIBOBJS " in @@ -17179,7 +17318,7 @@ ac_fn_c_check_func "$LINENO" "explicit_bzero" "ac_cv_func_explicit_bzero" if test "x$ac_cv_func_explicit_bzero" = xyes then : - printf '%s\n' "#define HAVE_EXPLICIT_BZERO 1" >>confdefs.h + printf "%s\n" "#define HAVE_EXPLICIT_BZERO 1" >>confdefs.h else case e in #( e) case " $LIBOBJS " in @@ -17193,7 +17332,7 @@ ac_fn_c_check_func "$LINENO" "getopt" "ac_cv_func_getopt" if test "x$ac_cv_func_getopt" = xyes then : - printf '%s\n' "#define HAVE_GETOPT 1" >>confdefs.h + printf "%s\n" "#define HAVE_GETOPT 1" >>confdefs.h else case e in #( e) case " $LIBOBJS " in @@ -17211,14 +17350,14 @@ else case e in #( e) -printf '%s\n' "#define size_t unsigned int" >>confdefs.h +printf "%s\n" "#define size_t unsigned int" >>confdefs.h ;; esac fi # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works # for constant arguments. Useless! -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5 printf %s "checking for working alloca.h... " >&6; } if test ${ac_cv_working_alloca_h+y} then : @@ -17247,15 +17386,15 @@ conftest$ac_exeext conftest.$ac_ext ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5 -printf '%s\n' "$ac_cv_working_alloca_h" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5 +printf "%s\n" "$ac_cv_working_alloca_h" >&6; } if test $ac_cv_working_alloca_h = yes; then -printf '%s\n' "#define HAVE_ALLOCA_H 1" >>confdefs.h +printf "%s\n" "#define HAVE_ALLOCA_H 1" >>confdefs.h fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5 printf %s "checking for alloca... " >&6; } if test ${ac_cv_func_alloca_works+y} then : @@ -17300,12 +17439,12 @@ fi ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5 -printf '%s\n' "$ac_cv_func_alloca_works" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5 +printf "%s\n" "$ac_cv_func_alloca_works" >&6; } if test $ac_cv_func_alloca_works = yes; then -printf '%s\n' "#define HAVE_ALLOCA 1" >>confdefs.h +printf "%s\n" "#define HAVE_ALLOCA 1" >>confdefs.h else # The SVR3 libPW and SVR4 libucb both contain incompatible functions @@ -17315,10 +17454,10 @@ ALLOCA=\${LIBOBJDIR}alloca.$ac_objext -printf '%s\n' "#define C_ALLOCA 1" >>confdefs.h +printf "%s\n" "#define C_ALLOCA 1" >>confdefs.h -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5 printf %s "checking stack direction for C alloca... " >&6; } if test ${ac_cv_c_stack_direction+y} then : @@ -17362,14 +17501,14 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5 -printf '%s\n' "$ac_cv_c_stack_direction" >&6; } -printf '%s\n' "#define STACK_DIRECTION $ac_cv_c_stack_direction" >>confdefs.h +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5 +printf "%s\n" "$ac_cv_c_stack_direction" >&6; } +printf "%s\n" "#define STACK_DIRECTION $ac_cv_c_stack_direction" >>confdefs.h fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for type of reentrant time-related functions" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for type of reentrant time-related functions" >&5 printf %s "checking for type of reentrant time-related functions... " >&6; } if test ${php_cv_time_r_type+y} then : @@ -17443,23 +17582,23 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_time_r_type" >&5 -printf '%s\n' "$php_cv_time_r_type" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_time_r_type" >&5 +printf "%s\n" "$php_cv_time_r_type" >&6; } case $php_cv_time_r_type in #( hpux) : -printf '%s\n' "#define PHP_HPUX_TIME_R 1" >>confdefs.h +printf "%s\n" "#define PHP_HPUX_TIME_R 1" >>confdefs.h ;; #( irix) : -printf '%s\n' "#define PHP_IRIX_TIME_R 1" >>confdefs.h +printf "%s\n" "#define PHP_IRIX_TIME_R 1" >>confdefs.h ;; #( *) : ;; esac -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for aarch64 CRC32 API" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for aarch64 CRC32 API" >&5 printf %s "checking for aarch64 CRC32 API... " >&6; } if test ${php_cv_func___crc32d+y} then : @@ -17499,16 +17638,16 @@ conftest$ac_exeext conftest.$ac_ext ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_func___crc32d" >&5 -printf '%s\n' "$php_cv_func___crc32d" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_func___crc32d" >&5 +printf "%s\n" "$php_cv_func___crc32d" >&6; } if test "x$php_cv_func___crc32d" = xyes then : -printf '%s\n' "#define HAVE_AARCH64_CRC32 1" >>confdefs.h +printf "%s\n" "#define HAVE_AARCH64_CRC32 1" >>confdefs.h fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for asm goto" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for asm goto" >&5 printf %s "checking for asm goto... " >&6; } if test ${php_cv_have__asm_goto+y} then : @@ -17544,19 +17683,19 @@ conftest$ac_exeext conftest.$ac_ext ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_have__asm_goto" >&5 -printf '%s\n' "$php_cv_have__asm_goto" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_have__asm_goto" >&5 +printf "%s\n" "$php_cv_have__asm_goto" >&6; } if test "x$php_cv_have__asm_goto" = xyes then : -printf '%s\n' "#define HAVE_ASM_GOTO 1" >>confdefs.h +printf "%s\n" "#define HAVE_ASM_GOTO 1" >>confdefs.h fi php_with_valgrind=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to enable Valgrind support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable Valgrind support" >&5 printf %s "checking whether to enable Valgrind support... " >&6; } # Check whether --with-valgrind was given. @@ -17573,8 +17712,8 @@ ext_output=$PHP_VALGRIND -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -17586,17 +17725,17 @@ e) pkg_failed=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for valgrind" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for valgrind" >&5 printf %s "checking for valgrind... " >&6; } if test -n "$VALGRIND_CFLAGS"; then pkg_cv_VALGRIND_CFLAGS="$VALGRIND_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"valgrind\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"valgrind\""; } >&5 ($PKG_CONFIG --exists --print-errors "valgrind") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_VALGRIND_CFLAGS=`$PKG_CONFIG --cflags "valgrind" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -17610,10 +17749,10 @@ pkg_cv_VALGRIND_LIBS="$VALGRIND_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"valgrind\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"valgrind\""; } >&5 ($PKG_CONFIG --exists --print-errors "valgrind") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_VALGRIND_LIBS=`$PKG_CONFIG --libs "valgrind" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -17627,8 +17766,8 @@ if test $pkg_failed = yes; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -17654,10 +17793,10 @@ and VALGRIND_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -17671,8 +17810,8 @@ else VALGRIND_CFLAGS=$pkg_cv_VALGRIND_CFLAGS VALGRIND_LIBS=$pkg_cv_VALGRIND_LIBS - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } for ac_i in $VALGRIND_CFLAGS; do case $ac_i in @@ -17717,7 +17856,7 @@ done -printf '%s\n' "#define HAVE_VALGRIND 1" >>confdefs.h +printf "%s\n" "#define HAVE_VALGRIND 1" >>confdefs.h fi save_CFLAGS=$CFLAGS @@ -17725,7 +17864,7 @@ ac_fn_c_check_header_compile "$LINENO" "valgrind/cachegrind.h" "ac_cv_header_valgrind_cachegrind_h" "$ac_includes_default" if test "x$ac_cv_header_valgrind_cachegrind_h" = xyes then : - printf '%s\n' "#define HAVE_VALGRIND_CACHEGRIND_H 1" >>confdefs.h + printf "%s\n" "#define HAVE_VALGRIND_CACHEGRIND_H 1" >>confdefs.h fi @@ -17735,10 +17874,10 @@ fi - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: " >&5 -printf '%s\n' "" >&6; } - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: ${T_MD}General settings${T_ME}" >&5 -printf '%s\n' "${T_MD}General settings${T_ME}" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 +printf "%s\n" "" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${T_MD}General settings${T_ME}" >&5 +printf "%s\n" "${T_MD}General settings${T_ME}" >&6; } # Check whether --enable- was given. @@ -17751,7 +17890,7 @@ php_enable_gcov=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to include gcov symbols" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to include gcov symbols" >&5 printf %s "checking whether to include gcov symbols... " >&6; } # Check whether --enable-gcov was given. if test ${enable_gcov+y} @@ -17767,8 +17906,8 @@ ext_output=$PHP_GCOV -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -17797,7 +17936,7 @@ fi -printf '%s\n' "#define HAVE_GCOV 1" >>confdefs.h +printf "%s\n" "#define HAVE_GCOV 1" >>confdefs.h src=$abs_srcdir/build/Makefile.gcov ac_srcdir=$abs_srcdir @@ -17819,7 +17958,7 @@ php_enable_debug=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to include debugging symbols" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to include debugging symbols" >&5 printf %s "checking whether to include debugging symbols... " >&6; } # Check whether --enable-debug was given. if test ${enable_debug+y} @@ -17835,8 +17974,8 @@ ext_output=$PHP_DEBUG -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -17876,7 +18015,7 @@ php_enable_debug_assertions=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to enable debug assertions in release mode" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable debug assertions in release mode" >&5 printf %s "checking whether to enable debug assertions in release mode... " >&6; } # Check whether --enable-debug-assertions was given. if test ${enable_debug_assertions+y} @@ -17892,8 +18031,8 @@ ext_output=$PHP_DEBUG_ASSERTIONS -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -17931,25 +18070,25 @@ then : else case e in #( - e) { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + e) { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "Unable to verify system support for POSIX Threads, which are required for PHP thread safety (ZTS) build. See 'config.log' for more details" "$LINENO" 5; } ;; esac fi - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for POSIX threads" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for POSIX threads" >&5 printf %s "checking for POSIX threads... " >&6; } - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } fi php_enable_rtld_now=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to dlopen extensions with RTLD_NOW instead of RTLD_LAZY" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to dlopen extensions with RTLD_NOW instead of RTLD_LAZY" >&5 printf %s "checking whether to dlopen extensions with RTLD_NOW instead of RTLD_LAZY... " >&6; } # Check whether --enable-rtld-now was given. if test ${enable_rtld_now+y} @@ -17965,8 +18104,8 @@ ext_output=$PHP_RTLD_NOW -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -17974,14 +18113,14 @@ if test "x$PHP_RTLD_NOW" = xyes then : -printf '%s\n' "#define PHP_USE_RTLD_NOW 1" >>confdefs.h +printf "%s\n" "#define PHP_USE_RTLD_NOW 1" >>confdefs.h fi php_with_layout=PHP -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking layout of installed files" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking layout of installed files" >&5 printf %s "checking layout of installed files... " >&6; } # Check whether --with-layout was given. @@ -17998,8 +18137,8 @@ ext_output=$PHP_LAYOUT -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -18014,7 +18153,7 @@ php_with_config_file_path=DEFAULT -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking path to configuration file" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking path to configuration file" >&5 printf %s "checking path to configuration file... " >&6; } # Check whether --with-config-file-path was given. @@ -18031,8 +18170,8 @@ ext_output=$PHP_CONFIG_FILE_PATH -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -18047,7 +18186,7 @@ esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking where to scan for configuration files" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking where to scan for configuration files" >&5 printf %s "checking where to scan for configuration files... " >&6; } php_with_config_file_scan_dir=DEFAULT @@ -18077,13 +18216,13 @@ then : PHP_CONFIG_FILE_SCAN_DIR= fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $PHP_CONFIG_FILE_SCAN_DIR" >&5 -printf '%s\n' "$PHP_CONFIG_FILE_SCAN_DIR" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PHP_CONFIG_FILE_SCAN_DIR" >&5 +printf "%s\n" "$PHP_CONFIG_FILE_SCAN_DIR" >&6; } php_enable_sigchild=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to enable PHP's own SIGCHLD handler" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable PHP's own SIGCHLD handler" >&5 printf %s "checking whether to enable PHP's own SIGCHLD handler... " >&6; } # Check whether --enable-sigchild was given. if test ${enable_sigchild+y} @@ -18099,8 +18238,8 @@ ext_output=$PHP_SIGCHILD -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -18108,10 +18247,10 @@ if test "x$PHP_SIGCHILD" = xyes then : - printf '%s\n' "#define PHP_SIGCHILD 1" >>confdefs.h + printf "%s\n" "#define PHP_SIGCHILD 1" >>confdefs.h else case e in #( - e) printf '%s\n' "#define PHP_SIGCHILD 0" >>confdefs.h + e) printf "%s\n" "#define PHP_SIGCHILD 0" >>confdefs.h ;; esac fi @@ -18119,7 +18258,7 @@ php_enable_libgcc=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to explicitly link against libgcc" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to explicitly link against libgcc" >&5 printf %s "checking whether to explicitly link against libgcc... " >&6; } # Check whether --enable-libgcc was given. if test ${enable_libgcc+y} @@ -18135,8 +18274,8 @@ ext_output=$PHP_LIBGCC -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -18206,7 +18345,7 @@ php_enable_short_tags=yes -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to enable short tags by default" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable short tags by default" >&5 printf %s "checking whether to enable short tags by default... " >&6; } # Check whether --enable-short-tags was given. if test ${enable_short_tags+y} @@ -18222,8 +18361,8 @@ ext_output=$PHP_SHORT_TAGS -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -18231,10 +18370,10 @@ if test "x$PHP_SHORT_TAGS" = xyes then : - printf '%s\n' "#define DEFAULT_SHORT_OPEN_TAG \"1\"" >>confdefs.h + printf "%s\n" "#define DEFAULT_SHORT_OPEN_TAG \"1\"" >>confdefs.h else case e in #( - e) printf '%s\n' "#define DEFAULT_SHORT_OPEN_TAG \"0\"" >>confdefs.h + e) printf "%s\n" "#define DEFAULT_SHORT_OPEN_TAG \"0\"" >>confdefs.h ;; esac fi @@ -18242,7 +18381,7 @@ php_enable_dmalloc=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to enable dmalloc" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable dmalloc" >&5 printf %s "checking whether to enable dmalloc... " >&6; } # Check whether --enable-dmalloc was given. if test ${enable_dmalloc+y} @@ -18258,15 +18397,15 @@ ext_output=$PHP_DMALLOC -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } if test "x$PHP_DMALLOC" = xyes then : - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for dmalloc_error in -ldmalloc" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dmalloc_error in -ldmalloc" >&5 printf %s "checking for dmalloc_error in -ldmalloc... " >&6; } if test ${ac_cv_lib_dmalloc_dmalloc_error+y} then : @@ -18307,8 +18446,8 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dmalloc_dmalloc_error" >&5 -printf '%s\n' "$ac_cv_lib_dmalloc_dmalloc_error" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dmalloc_dmalloc_error" >&5 +printf "%s\n" "$ac_cv_lib_dmalloc_dmalloc_error" >&6; } if test "x$ac_cv_lib_dmalloc_dmalloc_error" = xyes then : @@ -18322,12 +18461,12 @@ -printf '%s\n' "#define HAVE_DMALLOC 1" >>confdefs.h +printf "%s\n" "#define HAVE_DMALLOC 1" >>confdefs.h as_fn_append CPPFLAGS " -DDMALLOC_FUNC_CHECK" else case e in #( - e) { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + e) { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "The dmalloc check failed. Cannot enable dmalloc. See 'config.log' for more details" "$LINENO" 5; } ;; esac @@ -18338,7 +18477,7 @@ php_enable_ipv6=yes -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to enable IPv6 support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable IPv6 support" >&5 printf %s "checking whether to enable IPv6 support... " >&6; } # Check whether --enable-ipv6 was given. if test ${enable_ipv6+y} @@ -18354,15 +18493,15 @@ ext_output=$PHP_IPV6 -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } if test "x$PHP_IPV6" = xyes then : - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for IPv6 support" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for IPv6 support" >&5 printf %s "checking for IPv6 support... " >&6; } if test ${php_cv_have_ipv6+y} then : @@ -18401,21 +18540,21 @@ conftest$ac_exeext conftest.$ac_ext ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_have_ipv6" >&5 -printf '%s\n' "$php_cv_have_ipv6" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_have_ipv6" >&5 +printf "%s\n" "$php_cv_have_ipv6" >&6; } fi if test "x$php_cv_have_ipv6" = xyes then : -printf '%s\n' "#define HAVE_IPV6 1" >>confdefs.h +printf "%s\n" "#define HAVE_IPV6 1" >>confdefs.h fi php_enable_dtrace=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to enable DTrace support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable DTrace support" >&5 printf %s "checking whether to enable DTrace support... " >&6; } # Check whether --enable-dtrace was given. if test ${enable_dtrace+y} @@ -18431,8 +18570,8 @@ ext_output=$PHP_DTRACE -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -18445,8 +18584,8 @@ then : else case e in #( - e) { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + e) { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "Cannot find required to enable DTrace support. See 'config.log' for more details" "$LINENO" 5; } ;; esac @@ -18554,12 +18693,12 @@ -printf '%s\n' "#define HAVE_DTRACE 1" >>confdefs.h +printf "%s\n" "#define HAVE_DTRACE 1" >>confdefs.h fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking how big to make fd sets" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how big to make fd sets" >&5 printf %s "checking how big to make fd sets... " >&6; } php_enable_fd_setsize=no @@ -18586,14 +18725,14 @@ if test "x$PHP_FD_SETSIZE" = xno then : - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: using system default" >&5 -printf '%s\n' "using system default" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: using system default" >&5 +printf "%s\n" "using system default" >&6; } else case e in #( e) if test "0$PHP_FD_SETSIZE" -gt 0 2>/dev/null; then CPPFLAGS="$CPPFLAGS -DFD_SETSIZE=$PHP_FD_SETSIZE" - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: using $PHP_FD_SETSIZE" >&5 -printf '%s\n' "using $PHP_FD_SETSIZE" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: using $PHP_FD_SETSIZE" >&5 +printf "%s\n" "using $PHP_FD_SETSIZE" >&6; } else as_fn_error $? "Invalid value passed to --enable-fd-setsize!" "$LINENO" 5 fi @@ -18699,10 +18838,10 @@ - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: " >&5 -printf '%s\n' "" >&6; } - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: ${T_MD}Configuring extensions${T_ME}" >&5 -printf '%s\n' "${T_MD}Configuring extensions${T_ME}" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 +printf "%s\n" "" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${T_MD}Configuring extensions${T_ME}" >&5 +printf "%s\n" "${T_MD}Configuring extensions${T_ME}" >&6; } # Check whether --enable-all was given. @@ -18718,7 +18857,7 @@ ac_fn_c_check_header_compile "$LINENO" "io.h" "ac_cv_header_io_h" "$ac_includes_default" if test "x$ac_cv_header_io_h" = xyes then : - printf '%s\n' "#define HAVE_IO_H 1" >>confdefs.h + printf "%s\n" "#define HAVE_IO_H 1" >>confdefs.h fi @@ -18726,18 +18865,18 @@ ac_fn_c_check_func "$LINENO" "strtoll" "ac_cv_func_strtoll" if test "x$ac_cv_func_strtoll" = xyes then : - printf '%s\n' "#define HAVE_STRTOLL 1" >>confdefs.h + printf "%s\n" "#define HAVE_STRTOLL 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "atoll" "ac_cv_func_atoll" if test "x$ac_cv_func_atoll" = xyes then : - printf '%s\n' "#define HAVE_ATOLL 1" >>confdefs.h + printf "%s\n" "#define HAVE_ATOLL 1" >>confdefs.h fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether the C compiler accepts -Wno-implicit-fallthrough" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler accepts -Wno-implicit-fallthrough" >&5 printf %s "checking whether the C compiler accepts -Wno-implicit-fallthrough... " >&6; } if test ${ax_cv_check_cflags__Werror__Wno_implicit_fallthrough+y} then : @@ -18768,8 +18907,8 @@ CFLAGS=$ax_check_save_flags ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags__Werror__Wno_implicit_fallthrough" >&5 -printf '%s\n' "$ax_cv_check_cflags__Werror__Wno_implicit_fallthrough" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags__Werror__Wno_implicit_fallthrough" >&5 +printf "%s\n" "$ax_cv_check_cflags__Werror__Wno_implicit_fallthrough" >&6; } if test "x$ax_cv_check_cflags__Werror__Wno_implicit_fallthrough" = xyes then : PHP_DATE_CFLAGS="$PHP_DATE_CFLAGS -Wno-implicit-fallthrough" @@ -18781,7 +18920,7 @@ PHP_DATE_CFLAGS="$PHP_DATE_CFLAGS -I@ext_builddir@/lib -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1 -DHAVE_TIMELIB_CONFIG_H=1" -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether the C compiler accepts -fwrapv" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler accepts -fwrapv" >&5 printf %s "checking whether the C compiler accepts -fwrapv... " >&6; } if test ${ax_cv_check_cflags___fwrapv+y} then : @@ -18812,8 +18951,8 @@ CFLAGS=$ax_check_save_flags ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fwrapv" >&5 -printf '%s\n' "$ax_cv_check_cflags___fwrapv" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fwrapv" >&5 +printf "%s\n" "$ax_cv_check_cflags___fwrapv" >&6; } if test "x$ax_cv_check_cflags___fwrapv" = xyes then : PHP_DATE_CFLAGS="$PHP_DATE_CFLAGS -fwrapv" @@ -18961,7 +19100,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_DATE 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_DATE 1" >>confdefs.h fi fi @@ -19169,7 +19308,7 @@ -printf '%s\n' "#define HAVE_TIMELIB_CONFIG_H 1" >>confdefs.h +printf "%s\n" "#define HAVE_TIMELIB_CONFIG_H 1" >>confdefs.h cat > $ext_builddir/lib/timelib_config.h <&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build with LIBXML support" >&5 printf %s "checking whether to build with LIBXML support... " >&6; } # Check whether --with-libxml was given. @@ -19235,8 +19374,8 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -19247,17 +19386,17 @@ pkg_failed=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for libxml-2.0 >= 2.9.4" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libxml-2.0 >= 2.9.4" >&5 printf %s "checking for libxml-2.0 >= 2.9.4... " >&6; } if test -n "$LIBXML_CFLAGS"; then pkg_cv_LIBXML_CFLAGS="$LIBXML_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libxml-2.0 >= 2.9.4\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libxml-2.0 >= 2.9.4\""; } >&5 ($PKG_CONFIG --exists --print-errors "libxml-2.0 >= 2.9.4") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_LIBXML_CFLAGS=`$PKG_CONFIG --cflags "libxml-2.0 >= 2.9.4" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -19271,10 +19410,10 @@ pkg_cv_LIBXML_LIBS="$LIBXML_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libxml-2.0 >= 2.9.4\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libxml-2.0 >= 2.9.4\""; } >&5 ($PKG_CONFIG --exists --print-errors "libxml-2.0 >= 2.9.4") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_LIBXML_LIBS=`$PKG_CONFIG --libs "libxml-2.0 >= 2.9.4" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -19288,8 +19427,8 @@ if test $pkg_failed = yes; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -19315,10 +19454,10 @@ and LIBXML_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -19332,8 +19471,8 @@ else LIBXML_CFLAGS=$pkg_cv_LIBXML_CFLAGS LIBXML_LIBS=$pkg_cv_LIBXML_LIBS - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } fi @@ -19493,7 +19632,7 @@ -printf '%s\n' "#define HAVE_LIBXML 1" >>confdefs.h +printf "%s\n" "#define HAVE_LIBXML 1" >>confdefs.h ext_builddir=ext/libxml @@ -19630,7 +19769,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_LIBXML 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_LIBXML 1" >>confdefs.h fi fi @@ -19775,7 +19914,7 @@ php_with_openssl=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for OpenSSL support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OpenSSL support" >&5 printf %s "checking for OpenSSL support... " >&6; } # Check whether --with-openssl was given. @@ -19813,8 +19952,8 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -19822,7 +19961,7 @@ php_with_system_ciphers=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to use system default cipher list instead of hardcoded value" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to use system default cipher list instead of hardcoded value" >&5 printf %s "checking whether to use system default cipher list instead of hardcoded value... " >&6; } # Check whether --with-system-ciphers was given. @@ -19839,8 +19978,8 @@ ext_output=$PHP_SYSTEM_CIPHERS -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -19848,7 +19987,7 @@ php_with_openssl_legacy_provider=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to load legacy algorithm provider" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to load legacy algorithm provider" >&5 printf %s "checking whether to load legacy algorithm provider... " >&6; } # Check whether --with-openssl-legacy-provider was given. @@ -19865,8 +20004,8 @@ ext_output=$PHP_OPENSSL_LEGACY_PROVIDER -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -19874,7 +20013,7 @@ php_with_openssl_argon2=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to enable argon2 password hashing (requires OpenSSL >= 3.2)" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable argon2 password hashing (requires OpenSSL >= 3.2)" >&5 printf %s "checking whether to enable argon2 password hashing (requires OpenSSL >= 3.2)... " >&6; } # Check whether --with-openssl-argon2 was given. @@ -19891,8 +20030,8 @@ ext_output=$PHP_OPENSSL_ARGON2 -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -20033,7 +20172,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_OPENSSL 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_OPENSSL 1" >>confdefs.h fi fi @@ -20159,17 +20298,17 @@ pkg_failed=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for openssl >= 1.1.1" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for openssl >= 1.1.1" >&5 printf %s "checking for openssl >= 1.1.1... " >&6; } if test -n "$OPENSSL_CFLAGS"; then pkg_cv_OPENSSL_CFLAGS="$OPENSSL_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"openssl >= 1.1.1\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"openssl >= 1.1.1\""; } >&5 ($PKG_CONFIG --exists --print-errors "openssl >= 1.1.1") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_OPENSSL_CFLAGS=`$PKG_CONFIG --cflags "openssl >= 1.1.1" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -20183,10 +20322,10 @@ pkg_cv_OPENSSL_LIBS="$OPENSSL_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"openssl >= 1.1.1\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"openssl >= 1.1.1\""; } >&5 ($PKG_CONFIG --exists --print-errors "openssl >= 1.1.1") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_OPENSSL_LIBS=`$PKG_CONFIG --libs "openssl >= 1.1.1" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -20200,8 +20339,8 @@ if test $pkg_failed = yes; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -20227,10 +20366,10 @@ and OPENSSL_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -20244,8 +20383,8 @@ else OPENSSL_CFLAGS=$pkg_cv_OPENSSL_CFLAGS OPENSSL_LIBS=$pkg_cv_OPENSSL_LIBS - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } found_openssl=yes fi @@ -20406,7 +20545,7 @@ done -printf '%s\n' "#define HAVE_OPENSSL_EXT 1" >>confdefs.h +printf "%s\n" "#define HAVE_OPENSSL_EXT 1" >>confdefs.h fi @@ -20529,7 +20668,7 @@ esac done - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for RAND_egd in -lcrypto" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for RAND_egd in -lcrypto" >&5 printf %s "checking for RAND_egd in -lcrypto... " >&6; } if test ${ac_cv_lib_crypto_RAND_egd+y} then : @@ -20570,15 +20709,15 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crypto_RAND_egd" >&5 -printf '%s\n' "$ac_cv_lib_crypto_RAND_egd" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crypto_RAND_egd" >&5 +printf "%s\n" "$ac_cv_lib_crypto_RAND_egd" >&6; } if test "x$ac_cv_lib_crypto_RAND_egd" = xyes then : LDFLAGS=$save_old_LDFLAGS ext_shared=$save_ext_shared -printf '%s\n' "#define HAVE_RAND_EGD 1" >>confdefs.h +printf "%s\n" "#define HAVE_RAND_EGD 1" >>confdefs.h else case e in #( @@ -20597,7 +20736,7 @@ else case e in #( e) -printf '%s\n' "#define USE_OPENSSL_SYSTEM_CIPHERS 1" >>confdefs.h +printf "%s\n" "#define USE_OPENSSL_SYSTEM_CIPHERS 1" >>confdefs.h ;; esac fi @@ -20607,7 +20746,7 @@ else case e in #( e) -printf '%s\n' "#define LOAD_OPENSSL_LEGACY_PROVIDER 1" >>confdefs.h +printf "%s\n" "#define LOAD_OPENSSL_LEGACY_PROVIDER 1" >>confdefs.h ;; esac fi @@ -20740,7 +20879,7 @@ esac done - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for OSSL_set_max_threads in -lcrypto" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OSSL_set_max_threads in -lcrypto" >&5 printf %s "checking for OSSL_set_max_threads in -lcrypto... " >&6; } if test ${ac_cv_lib_crypto_OSSL_set_max_threads+y} then : @@ -20781,15 +20920,15 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crypto_OSSL_set_max_threads" >&5 -printf '%s\n' "$ac_cv_lib_crypto_OSSL_set_max_threads" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crypto_OSSL_set_max_threads" >&5 +printf "%s\n" "$ac_cv_lib_crypto_OSSL_set_max_threads" >&6; } if test "x$ac_cv_lib_crypto_OSSL_set_max_threads" = xyes then : LDFLAGS=$save_old_LDFLAGS ext_shared=$save_ext_shared -printf '%s\n' "#define HAVE_OPENSSL_ARGON2 1" >>confdefs.h +printf "%s\n" "#define HAVE_OPENSSL_ARGON2 1" >>confdefs.h else case e in #( @@ -20837,7 +20976,7 @@ php_with_pcre_jit=yes -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to enable PCRE JIT functionality" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable PCRE JIT functionality" >&5 printf %s "checking whether to enable PCRE JIT functionality... " >&6; } # Check whether --with-pcre-jit was given. @@ -20854,8 +20993,8 @@ ext_output=$PHP_PCRE_JIT -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -20866,17 +21005,17 @@ if test "$PHP_EXTERNAL_PCRE" != "no"; then pkg_failed=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for libpcre2-8 >= 10.30" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libpcre2-8 >= 10.30" >&5 printf %s "checking for libpcre2-8 >= 10.30... " >&6; } if test -n "$PCRE2_CFLAGS"; then pkg_cv_PCRE2_CFLAGS="$PCRE2_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libpcre2-8 >= 10.30\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libpcre2-8 >= 10.30\""; } >&5 ($PKG_CONFIG --exists --print-errors "libpcre2-8 >= 10.30") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_PCRE2_CFLAGS=`$PKG_CONFIG --cflags "libpcre2-8 >= 10.30" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -20890,10 +21029,10 @@ pkg_cv_PCRE2_LIBS="$PCRE2_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libpcre2-8 >= 10.30\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libpcre2-8 >= 10.30\""; } >&5 ($PKG_CONFIG --exists --print-errors "libpcre2-8 >= 10.30") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_PCRE2_LIBS=`$PKG_CONFIG --libs "libpcre2-8 >= 10.30" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -20907,8 +21046,8 @@ if test $pkg_failed = yes; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -20934,10 +21073,10 @@ and PCRE2_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -20951,8 +21090,8 @@ else PCRE2_CFLAGS=$pkg_cv_PCRE2_CFLAGS PCRE2_LIBS=$pkg_cv_PCRE2_LIBS - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } fi @@ -21093,14 +21232,14 @@ esac done - printf '%s\n' "#define PCRE2_CODE_UNIT_WIDTH 8" >>confdefs.h + printf "%s\n" "#define PCRE2_CODE_UNIT_WIDTH 8" >>confdefs.h if test "x$PHP_PCRE_JIT" = xno then : else case e in #( - e) { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether external PCRE2 library has JIT supported" >&5 + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether external PCRE2 library has JIT supported" >&5 printf %s "checking whether external PCRE2 library has JIT supported... " >&6; } if test ${php_cv_have_pcre2_jit+y} then : @@ -21149,11 +21288,11 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_have_pcre2_jit" >&5 -printf '%s\n' "$php_cv_have_pcre2_jit" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_have_pcre2_jit" >&5 +printf "%s\n" "$php_cv_have_pcre2_jit" >&6; } if test "x$php_cv_have_pcre2_jit" = xyes then : - printf '%s\n' "#define HAVE_PCRE_JIT_SUPPORT 1" >>confdefs.h + printf "%s\n" "#define HAVE_PCRE_JIT_SUPPORT 1" >>confdefs.h fi ;; @@ -21295,7 +21434,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_PCRE 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_PCRE 1" >>confdefs.h fi fi @@ -21431,13 +21570,13 @@ else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for PCRE library to use" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for PCRE library to use" >&5 printf %s "checking for PCRE library to use... " >&6; } - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: bundled" >&5 -printf '%s\n' "bundled" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: bundled" >&5 +printf "%s\n" "bundled" >&6; } pcrelib_sources=" pcre2lib/pcre2_auto_possess.c pcre2lib/pcre2_chartables.c pcre2lib/pcre2_chkdint.c pcre2lib/pcre2_compile.c pcre2lib/pcre2_config.c pcre2lib/pcre2_context.c pcre2lib/pcre2_convert.c pcre2lib/pcre2_dfa_match.c pcre2lib/pcre2_error.c pcre2lib/pcre2_extuni.c pcre2lib/pcre2_find_bracket.c pcre2lib/pcre2_jit_compile.c pcre2lib/pcre2_maketables.c pcre2lib/pcre2_match_data.c pcre2lib/pcre2_match.c pcre2lib/pcre2_newline.c pcre2lib/pcre2_ord2utf.c pcre2lib/pcre2_pattern_info.c pcre2lib/pcre2_script_run.c pcre2lib/pcre2_serialize.c pcre2lib/pcre2_string_utils.c pcre2lib/pcre2_study.c pcre2lib/pcre2_substitute.c pcre2lib/pcre2_substring.c pcre2lib/pcre2_tables.c pcre2lib/pcre2_ucd.c pcre2lib/pcre2_valid_utf.c pcre2lib/pcre2_xclass.c " - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether the C compiler accepts -Wno-implicit-fallthrough" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler accepts -Wno-implicit-fallthrough" >&5 printf %s "checking whether the C compiler accepts -Wno-implicit-fallthrough... " >&6; } if test ${ax_cv_check_cflags__Werror__Wno_implicit_fallthrough+y} then : @@ -21468,8 +21607,8 @@ CFLAGS=$ax_check_save_flags ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags__Werror__Wno_implicit_fallthrough" >&5 -printf '%s\n' "$ax_cv_check_cflags__Werror__Wno_implicit_fallthrough" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags__Werror__Wno_implicit_fallthrough" >&5 +printf "%s\n" "$ax_cv_check_cflags__Werror__Wno_implicit_fallthrough" >&6; } if test "x$ax_cv_check_cflags__Werror__Wno_implicit_fallthrough" = xyes then : PHP_PCRE_CFLAGS="$PHP_PCRE_CFLAGS -Wno-implicit-fallthrough" @@ -21481,18 +21620,18 @@ PHP_PCRE_CFLAGS="$PHP_PCRE_CFLAGS -DHAVE_CONFIG_H -I@ext_srcdir@/pcre2lib -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1" -printf '%s\n' "#define HAVE_BUNDLED_PCRE 1" >>confdefs.h +printf "%s\n" "#define HAVE_BUNDLED_PCRE 1" >>confdefs.h - printf '%s\n' "#define PCRE2_CODE_UNIT_WIDTH 8" >>confdefs.h + printf "%s\n" "#define PCRE2_CODE_UNIT_WIDTH 8" >>confdefs.h if test "x$PHP_PCRE_JIT" = xno then : else case e in #( - e) printf '%s\n' "#define HAVE_PCRE_JIT_SUPPORT 1" >>confdefs.h + e) printf "%s\n" "#define HAVE_PCRE_JIT_SUPPORT 1" >>confdefs.h - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether Intel CET is enabled" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether Intel CET is enabled" >&5 printf %s "checking whether Intel CET is enabled... " >&6; } if test ${php_cv_have_pcre2_intel_cet+y} then : @@ -21524,8 +21663,8 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_have_pcre2_intel_cet" >&5 -printf '%s\n' "$php_cv_have_pcre2_intel_cet" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_have_pcre2_intel_cet" >&5 +printf "%s\n" "$php_cv_have_pcre2_intel_cet" >&6; } if test "x$php_cv_have_pcre2_intel_cet" = xyes then : PHP_PCRE_CFLAGS="-mshstk $PHP_PCRE_CFLAGS" @@ -21541,7 +21680,7 @@ e) if test "x$ZEND_DEBUG" = xyes then : -printf '%s\n' "#define HAVE_PCRE_VALGRIND_SUPPORT 1" >>confdefs.h +printf "%s\n" "#define HAVE_PCRE_VALGRIND_SUPPORT 1" >>confdefs.h fi ;; esac @@ -21682,7 +21821,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_PCRE 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_PCRE 1" >>confdefs.h fi fi @@ -21827,7 +21966,7 @@ php_with_sqlite3=yes -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to enable the SQLite3 extension" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable the SQLite3 extension" >&5 printf %s "checking whether to enable the SQLite3 extension... " >&6; } # Check whether --with-sqlite3 was given. @@ -21865,8 +22004,8 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -21875,17 +22014,17 @@ pkg_failed=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for sqlite3 >= 3.7.7" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sqlite3 >= 3.7.7" >&5 printf %s "checking for sqlite3 >= 3.7.7... " >&6; } if test -n "$SQLITE_CFLAGS"; then pkg_cv_SQLITE_CFLAGS="$SQLITE_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"sqlite3 >= 3.7.7\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"sqlite3 >= 3.7.7\""; } >&5 ($PKG_CONFIG --exists --print-errors "sqlite3 >= 3.7.7") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_SQLITE_CFLAGS=`$PKG_CONFIG --cflags "sqlite3 >= 3.7.7" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -21899,10 +22038,10 @@ pkg_cv_SQLITE_LIBS="$SQLITE_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"sqlite3 >= 3.7.7\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"sqlite3 >= 3.7.7\""; } >&5 ($PKG_CONFIG --exists --print-errors "sqlite3 >= 3.7.7") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_SQLITE_LIBS=`$PKG_CONFIG --libs "sqlite3 >= 3.7.7" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -21916,8 +22055,8 @@ if test $pkg_failed = yes; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -21943,10 +22082,10 @@ and SQLITE_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -21960,8 +22099,8 @@ else SQLITE_CFLAGS=$pkg_cv_SQLITE_CFLAGS SQLITE_LIBS=$pkg_cv_SQLITE_LIBS - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } for ac_i in $SQLITE_CFLAGS; do @@ -22122,7 +22261,7 @@ fi -printf '%s\n' "#define HAVE_SQLITE3 1" >>confdefs.h +printf "%s\n" "#define HAVE_SQLITE3 1" >>confdefs.h @@ -22243,7 +22382,7 @@ esac done - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for sqlite3_errstr in -lsqlite3" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sqlite3_errstr in -lsqlite3" >&5 printf %s "checking for sqlite3_errstr in -lsqlite3... " >&6; } if test ${ac_cv_lib_sqlite3_sqlite3_errstr+y} then : @@ -22284,15 +22423,15 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sqlite3_sqlite3_errstr" >&5 -printf '%s\n' "$ac_cv_lib_sqlite3_sqlite3_errstr" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sqlite3_sqlite3_errstr" >&5 +printf "%s\n" "$ac_cv_lib_sqlite3_sqlite3_errstr" >&6; } if test "x$ac_cv_lib_sqlite3_sqlite3_errstr" = xyes then : LDFLAGS=$save_old_LDFLAGS ext_shared=$save_ext_shared -printf '%s\n' "#define HAVE_SQLITE3_ERRSTR 1" >>confdefs.h +printf "%s\n" "#define HAVE_SQLITE3_ERRSTR 1" >>confdefs.h else case e in #( @@ -22424,7 +22563,7 @@ esac done - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for sqlite3_expanded_sql in -lsqlite3" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sqlite3_expanded_sql in -lsqlite3" >&5 printf %s "checking for sqlite3_expanded_sql in -lsqlite3... " >&6; } if test ${ac_cv_lib_sqlite3_sqlite3_expanded_sql+y} then : @@ -22465,15 +22604,15 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sqlite3_sqlite3_expanded_sql" >&5 -printf '%s\n' "$ac_cv_lib_sqlite3_sqlite3_expanded_sql" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sqlite3_sqlite3_expanded_sql" >&5 +printf "%s\n" "$ac_cv_lib_sqlite3_sqlite3_expanded_sql" >&6; } if test "x$ac_cv_lib_sqlite3_sqlite3_expanded_sql" = xyes then : LDFLAGS=$save_old_LDFLAGS ext_shared=$save_ext_shared -printf '%s\n' "#define HAVE_SQLITE3_EXPANDED_SQL 1" >>confdefs.h +printf "%s\n" "#define HAVE_SQLITE3_EXPANDED_SQL 1" >>confdefs.h else case e in #( @@ -22605,7 +22744,7 @@ esac done - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for sqlite3_load_extension in -lsqlite3" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sqlite3_load_extension in -lsqlite3" >&5 printf %s "checking for sqlite3_load_extension in -lsqlite3... " >&6; } if test ${ac_cv_lib_sqlite3_sqlite3_load_extension+y} then : @@ -22646,8 +22785,8 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sqlite3_sqlite3_load_extension" >&5 -printf '%s\n' "$ac_cv_lib_sqlite3_sqlite3_load_extension" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sqlite3_sqlite3_load_extension" >&5 +printf "%s\n" "$ac_cv_lib_sqlite3_sqlite3_load_extension" >&6; } if test "x$ac_cv_lib_sqlite3_sqlite3_load_extension" = xyes then : @@ -22661,7 +22800,7 @@ ext_shared=$save_ext_shared unset ac_cv_lib_sqlite3_sqlite3_load_extension -printf '%s\n' "#define SQLITE_OMIT_LOAD_EXTENSION 1" >>confdefs.h +printf "%s\n" "#define SQLITE_OMIT_LOAD_EXTENSION 1" >>confdefs.h ;; esac @@ -22803,7 +22942,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_SQLITE3 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_SQLITE3 1" >>confdefs.h fi fi @@ -22932,7 +23071,7 @@ php_with_zlib=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for ZLIB support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ZLIB support" >&5 printf %s "checking for ZLIB support... " >&6; } # Check whether --with-zlib was given. @@ -22970,8 +23109,8 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -22979,17 +23118,17 @@ if test "$PHP_ZLIB" != "no"; then pkg_failed=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for zlib >= 1.2.11" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for zlib >= 1.2.11" >&5 printf %s "checking for zlib >= 1.2.11... " >&6; } if test -n "$ZLIB_CFLAGS"; then pkg_cv_ZLIB_CFLAGS="$ZLIB_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"zlib >= 1.2.11\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"zlib >= 1.2.11\""; } >&5 ($PKG_CONFIG --exists --print-errors "zlib >= 1.2.11") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_ZLIB_CFLAGS=`$PKG_CONFIG --cflags "zlib >= 1.2.11" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -23003,10 +23142,10 @@ pkg_cv_ZLIB_LIBS="$ZLIB_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"zlib >= 1.2.11\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"zlib >= 1.2.11\""; } >&5 ($PKG_CONFIG --exists --print-errors "zlib >= 1.2.11") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_ZLIB_LIBS=`$PKG_CONFIG --libs "zlib >= 1.2.11" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -23020,8 +23159,8 @@ if test $pkg_failed = yes; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -23047,10 +23186,10 @@ and ZLIB_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -23064,8 +23203,8 @@ else ZLIB_CFLAGS=$pkg_cv_ZLIB_CFLAGS ZLIB_LIBS=$pkg_cv_ZLIB_LIBS - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } for ac_i in $ZLIB_CFLAGS; do case $ac_i in @@ -23222,7 +23361,7 @@ done -printf '%s\n' "#define HAVE_ZLIB 1" >>confdefs.h +printf "%s\n" "#define HAVE_ZLIB 1" >>confdefs.h ext_builddir=ext/zlib @@ -23359,7 +23498,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_ZLIB 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_ZLIB 1" >>confdefs.h fi fi @@ -23489,7 +23628,7 @@ php_enable_bcmath=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to enable bc style precision math functions" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable bc style precision math functions" >&5 printf %s "checking whether to enable bc style precision math functions... " >&6; } # Check whether --enable-bcmath was given. if test ${enable_bcmath+y} @@ -23526,8 +23665,8 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -23668,7 +23807,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_BCMATH 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_BCMATH 1" >>confdefs.h fi fi @@ -23789,7 +23928,7 @@ as_fn_append BUILD_DIR " $ext_builddir/libbcmath/src" -printf '%s\n' "#define HAVE_BCMATH 1" >>confdefs.h +printf "%s\n" "#define HAVE_BCMATH 1" >>confdefs.h fi @@ -23799,7 +23938,7 @@ php_with_bz2=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for BZip2 support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for BZip2 support" >&5 printf %s "checking for BZip2 support... " >&6; } # Check whether --with-bz2 was given. @@ -23837,8 +23976,8 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -23859,18 +23998,18 @@ esac fi - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for BZip2" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for BZip2" >&5 printf %s "checking for BZip2... " >&6; } if ${BZIP_DIR:+false} : then : - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: bzlib.h not found" >&5 -printf '%s\n' "bzlib.h not found" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: bzlib.h not found" >&5 +printf "%s\n" "bzlib.h not found" >&6; } as_fn_error $? "Please reinstall the BZip2 library package" "$LINENO" 5 else case e in #( - e) { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: found in $BZIP_DIR" >&5 -printf '%s\n' "found in $BZIP_DIR" >&6; } ;; + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found in $BZIP_DIR" >&5 +printf "%s\n" "found in $BZIP_DIR" >&6; } ;; esac fi @@ -23992,7 +24131,7 @@ esac done - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for BZ2_bzerror in -lbz2" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for BZ2_bzerror in -lbz2" >&5 printf %s "checking for BZ2_bzerror in -lbz2... " >&6; } if test ${ac_cv_lib_bz2_BZ2_bzerror+y} then : @@ -24033,8 +24172,8 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bz2_BZ2_bzerror" >&5 -printf '%s\n' "$ac_cv_lib_bz2_BZ2_bzerror" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bz2_BZ2_bzerror" >&5 +printf "%s\n" "$ac_cv_lib_bz2_BZ2_bzerror" >&6; } if test "x$ac_cv_lib_bz2_BZ2_bzerror" = xyes then : @@ -24181,7 +24320,7 @@ -printf '%s\n' "#define HAVE_BZ2 1" >>confdefs.h +printf "%s\n" "#define HAVE_BZ2 1" >>confdefs.h @@ -24190,8 +24329,8 @@ LDFLAGS=$save_old_LDFLAGS ext_shared=$save_ext_shared unset ac_cv_lib_bz2_BZ2_bzerror - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "The bz2 extension requires libbz2 >= 1.0.0 See 'config.log' for more details" "$LINENO" 5; } ;; @@ -24334,7 +24473,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_BZ2 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_BZ2 1" >>confdefs.h fi fi @@ -24463,7 +24602,7 @@ php_enable_calendar=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to enable calendar conversion support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable calendar conversion support" >&5 printf %s "checking whether to enable calendar conversion support... " >&6; } # Check whether --enable-calendar was given. if test ${enable_calendar+y} @@ -24500,15 +24639,15 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } if test "$PHP_CALENDAR" = "yes"; then -printf '%s\n' "#define HAVE_CALENDAR 1" >>confdefs.h +printf "%s\n" "#define HAVE_CALENDAR 1" >>confdefs.h ext_builddir=ext/calendar @@ -24645,7 +24784,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_CALENDAR 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_CALENDAR 1" >>confdefs.h fi fi @@ -24771,7 +24910,7 @@ php_enable_ctype=yes -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to enable ctype functions" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable ctype functions" >&5 printf %s "checking whether to enable ctype functions... " >&6; } # Check whether --enable-ctype was given. if test ${enable_ctype+y} @@ -24808,15 +24947,15 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } if test "$PHP_CTYPE" != "no"; then -printf '%s\n' "#define HAVE_CTYPE 1" >>confdefs.h +printf "%s\n" "#define HAVE_CTYPE 1" >>confdefs.h ext_builddir=ext/ctype @@ -24953,7 +25092,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_CTYPE 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_CTYPE 1" >>confdefs.h fi fi @@ -25079,7 +25218,7 @@ php_with_curl=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for cURL support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cURL support" >&5 printf %s "checking for cURL support... " >&6; } # Check whether --with-curl was given. @@ -25117,8 +25256,8 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -25126,17 +25265,17 @@ if test "$PHP_CURL" != "no"; then pkg_failed=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for libcurl >= 7.61.0" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libcurl >= 7.61.0" >&5 printf %s "checking for libcurl >= 7.61.0... " >&6; } if test -n "$CURL_CFLAGS"; then pkg_cv_CURL_CFLAGS="$CURL_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libcurl >= 7.61.0\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libcurl >= 7.61.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "libcurl >= 7.61.0") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_CURL_CFLAGS=`$PKG_CONFIG --cflags "libcurl >= 7.61.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -25150,10 +25289,10 @@ pkg_cv_CURL_LIBS="$CURL_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libcurl >= 7.61.0\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libcurl >= 7.61.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "libcurl >= 7.61.0") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_CURL_LIBS=`$PKG_CONFIG --libs "libcurl >= 7.61.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -25167,8 +25306,8 @@ if test $pkg_failed = yes; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -25194,10 +25333,10 @@ and CURL_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -25211,8 +25350,8 @@ else CURL_CFLAGS=$pkg_cv_CURL_CFLAGS CURL_LIBS=$pkg_cv_CURL_LIBS - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } fi @@ -25220,10 +25359,10 @@ pkg_cv_CURL_FEATURES="$CURL_FEATURES" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libcurl\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libcurl\""; } >&5 ($PKG_CONFIG --exists --print-errors "libcurl") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_CURL_FEATURES=`$PKG_CONFIG --variable="supported_features" "libcurl" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -25396,7 +25535,7 @@ done - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for SSL support in libcurl" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for SSL support in libcurl" >&5 printf %s "checking for SSL support in libcurl... " >&6; } case $CURL_FEATURES in #( *SSL*) : @@ -25404,12 +25543,12 @@ *) : CURL_SSL=no ;; esac - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $CURL_SSL" >&5 -printf '%s\n' "$CURL_SSL" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CURL_SSL" >&5 +printf "%s\n" "$CURL_SSL" >&6; } if test "x$PHP_THREAD_SAFETY" = xyes && test "x$CURL_SSL" = xyes then : - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether libcurl is linked against old OpenSSL < 1.1" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether libcurl is linked against old OpenSSL < 1.1" >&5 printf %s "checking whether libcurl is linked against old OpenSSL < 1.1... " >&6; } if test ${php_cv_lib_curl_ssl+y} then : @@ -25486,31 +25625,31 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_lib_curl_ssl" >&5 -printf '%s\n' "$php_cv_lib_curl_ssl" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_lib_curl_ssl" >&5 +printf "%s\n" "$php_cv_lib_curl_ssl" >&6; } if test "x$php_cv_lib_curl_ssl" = xyes then : -printf '%s\n' "#define HAVE_CURL_OLD_OPENSSL 1" >>confdefs.h +printf "%s\n" "#define HAVE_CURL_OLD_OPENSSL 1" >>confdefs.h found_openssl=no pkg_failed=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for openssl >= 1.1.1" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for openssl >= 1.1.1" >&5 printf %s "checking for openssl >= 1.1.1... " >&6; } if test -n "$OPENSSL_CFLAGS"; then pkg_cv_OPENSSL_CFLAGS="$OPENSSL_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"openssl >= 1.1.1\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"openssl >= 1.1.1\""; } >&5 ($PKG_CONFIG --exists --print-errors "openssl >= 1.1.1") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_OPENSSL_CFLAGS=`$PKG_CONFIG --cflags "openssl >= 1.1.1" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -25524,10 +25663,10 @@ pkg_cv_OPENSSL_LIBS="$OPENSSL_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"openssl >= 1.1.1\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"openssl >= 1.1.1\""; } >&5 ($PKG_CONFIG --exists --print-errors "openssl >= 1.1.1") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_OPENSSL_LIBS=`$PKG_CONFIG --libs "openssl >= 1.1.1" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -25541,8 +25680,8 @@ if test $pkg_failed = yes; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -25568,10 +25707,10 @@ and OPENSSL_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -25585,8 +25724,8 @@ else OPENSSL_CFLAGS=$pkg_cv_OPENSSL_CFLAGS OPENSSL_LIBS=$pkg_cv_OPENSSL_LIBS - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } found_openssl=yes fi @@ -25749,7 +25888,7 @@ ac_fn_c_check_header_compile "$LINENO" "openssl/crypto.h" "ac_cv_header_openssl_crypto_h" "$ac_includes_default" if test "x$ac_cv_header_openssl_crypto_h" = xyes then : - printf '%s\n' "#define HAVE_OPENSSL_CRYPTO_H 1" >>confdefs.h + printf "%s\n" "#define HAVE_OPENSSL_CRYPTO_H 1" >>confdefs.h fi @@ -25878,7 +26017,7 @@ esac done - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for curl_easy_perform in -lcurl" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for curl_easy_perform in -lcurl" >&5 printf %s "checking for curl_easy_perform in -lcurl... " >&6; } if test ${ac_cv_lib_curl_curl_easy_perform+y} then : @@ -25919,15 +26058,15 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_curl_curl_easy_perform" >&5 -printf '%s\n' "$ac_cv_lib_curl_curl_easy_perform" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_curl_curl_easy_perform" >&5 +printf "%s\n" "$ac_cv_lib_curl_curl_easy_perform" >&6; } if test "x$ac_cv_lib_curl_curl_easy_perform" = xyes then : LDFLAGS=$save_old_LDFLAGS ext_shared=$save_ext_shared -printf '%s\n' "#define HAVE_CURL 1" >>confdefs.h +printf "%s\n" "#define HAVE_CURL 1" >>confdefs.h else case e in #( @@ -25935,8 +26074,8 @@ LDFLAGS=$save_old_LDFLAGS ext_shared=$save_ext_shared unset ac_cv_lib_curl_curl_easy_perform - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "The libcurl check failed. See 'config.log' for more details" "$LINENO" 5; } ;; @@ -26079,7 +26218,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_CURL 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_CURL 1" >>confdefs.h fi fi @@ -26654,8 +26793,8 @@ esac done - as_ac_Lib=`printf '%s\n' "ac_cv_lib_$LIB""_dpopen" | sed "$as_sed_sh"` -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for dpopen in -l$LIB" >&5 + as_ac_Lib=`printf "%s\n" "ac_cv_lib_$LIB""_dpopen" | sed "$as_sed_sh"` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dpopen in -l$LIB" >&5 printf %s "checking for dpopen in -l$LIB... " >&6; } if eval test \${$as_ac_Lib+y} then : @@ -26697,8 +26836,8 @@ esac fi eval ac_res=\$$as_ac_Lib - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf '%s\n' "$ac_res" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } if eval test \"x\$"$as_ac_Lib"\" = x"yes" then : @@ -26706,10 +26845,10 @@ ext_shared=$save_ext_shared -printf '%s\n' "#define QDBM_INCLUDE_FILE \"$THIS_INCLUDE\"" >>confdefs.h +printf "%s\n" "#define QDBM_INCLUDE_FILE \"$THIS_INCLUDE\"" >>confdefs.h -printf '%s\n' "#define DBA_QDBM 1" >>confdefs.h +printf "%s\n" "#define DBA_QDBM 1" >>confdefs.h THIS_LIBS=$LIB @@ -26862,7 +27001,7 @@ else THIS_FULL_NAME="$THIS_NAME" fi - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for $THIS_FULL_NAME support" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $THIS_FULL_NAME support" >&5 printf %s "checking for $THIS_FULL_NAME support... " >&6; } if test -n ""; then as_fn_error $? "" "$LINENO" 5 @@ -26870,11 +27009,11 @@ if test "$THIS_RESULT" = "yes" || test "$THIS_RESULT" = "builtin"; then HAVE_DBA=1 eval HAVE_$THIS_NAME=1 - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $THIS_RESULT" >&5 -printf '%s\n' "$THIS_RESULT" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $THIS_RESULT" >&5 +printf "%s\n" "$THIS_RESULT" >&6; } else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi unset THIS_RESULT THIS_NAME THIS_FULL_NAME @@ -26890,7 +27029,7 @@ else THIS_FULL_NAME="$THIS_NAME" fi - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for $THIS_FULL_NAME support" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $THIS_FULL_NAME support" >&5 printf %s "checking for $THIS_FULL_NAME support... " >&6; } if test -n "You cannot combine --with-gdbm with --with-qdbm"; then as_fn_error $? "You cannot combine --with-gdbm with --with-qdbm" "$LINENO" 5 @@ -26898,11 +27037,11 @@ if test "$THIS_RESULT" = "yes" || test "$THIS_RESULT" = "builtin"; then HAVE_DBA=1 eval HAVE_$THIS_NAME=1 - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $THIS_RESULT" >&5 -printf '%s\n' "$THIS_RESULT" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $THIS_RESULT" >&5 +printf "%s\n" "$THIS_RESULT" >&6; } else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi unset THIS_RESULT THIS_NAME THIS_FULL_NAME @@ -27034,7 +27173,7 @@ esac done - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for gdbm_open in -lgdbm" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for gdbm_open in -lgdbm" >&5 printf %s "checking for gdbm_open in -lgdbm... " >&6; } if test ${ac_cv_lib_gdbm_gdbm_open+y} then : @@ -27075,8 +27214,8 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gdbm_gdbm_open" >&5 -printf '%s\n' "$ac_cv_lib_gdbm_gdbm_open" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gdbm_gdbm_open" >&5 +printf "%s\n" "$ac_cv_lib_gdbm_gdbm_open" >&6; } if test "x$ac_cv_lib_gdbm_gdbm_open" = xyes then : @@ -27084,10 +27223,10 @@ ext_shared=$save_ext_shared -printf '%s\n' "#define GDBM_INCLUDE_FILE \"$THIS_INCLUDE\"" >>confdefs.h +printf "%s\n" "#define GDBM_INCLUDE_FILE \"$THIS_INCLUDE\"" >>confdefs.h -printf '%s\n' "#define DBA_GDBM 1" >>confdefs.h +printf "%s\n" "#define DBA_GDBM 1" >>confdefs.h THIS_LIBS=gdbm @@ -27236,7 +27375,7 @@ else THIS_FULL_NAME="$THIS_NAME" fi - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for $THIS_FULL_NAME support" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $THIS_FULL_NAME support" >&5 printf %s "checking for $THIS_FULL_NAME support... " >&6; } if test -n ""; then as_fn_error $? "" "$LINENO" 5 @@ -27244,11 +27383,11 @@ if test "$THIS_RESULT" = "yes" || test "$THIS_RESULT" = "builtin"; then HAVE_DBA=1 eval HAVE_$THIS_NAME=1 - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $THIS_RESULT" >&5 -printf '%s\n' "$THIS_RESULT" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $THIS_RESULT" >&5 +printf "%s\n" "$THIS_RESULT" >&6; } else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi unset THIS_RESULT THIS_NAME THIS_FULL_NAME @@ -27387,8 +27526,8 @@ esac done - as_ac_Lib=`printf '%s\n' "ac_cv_lib_$LIB""_dbm_open" | sed "$as_sed_sh"` -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for dbm_open in -l$LIB" >&5 + as_ac_Lib=`printf "%s\n" "ac_cv_lib_$LIB""_dbm_open" | sed "$as_sed_sh"` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dbm_open in -l$LIB" >&5 printf %s "checking for dbm_open in -l$LIB... " >&6; } if eval test \${$as_ac_Lib+y} then : @@ -27430,8 +27569,8 @@ esac fi eval ac_res=\$$as_ac_Lib - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf '%s\n' "$ac_res" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } if eval test \"x\$"$as_ac_Lib"\" = x"yes" then : @@ -27439,10 +27578,10 @@ ext_shared=$save_ext_shared -printf '%s\n' "#define NDBM_INCLUDE_FILE \"$THIS_INCLUDE\"" >>confdefs.h +printf "%s\n" "#define NDBM_INCLUDE_FILE \"$THIS_INCLUDE\"" >>confdefs.h -printf '%s\n' "#define DBA_NDBM 1" >>confdefs.h +printf "%s\n" "#define DBA_NDBM 1" >>confdefs.h THIS_LIBS=$LIB @@ -27595,7 +27734,7 @@ else THIS_FULL_NAME="$THIS_NAME" fi - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for $THIS_FULL_NAME support" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $THIS_FULL_NAME support" >&5 printf %s "checking for $THIS_FULL_NAME support... " >&6; } if test -n ""; then as_fn_error $? "" "$LINENO" 5 @@ -27603,11 +27742,11 @@ if test "$THIS_RESULT" = "yes" || test "$THIS_RESULT" = "builtin"; then HAVE_DBA=1 eval HAVE_$THIS_NAME=1 - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $THIS_RESULT" >&5 -printf '%s\n' "$THIS_RESULT" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $THIS_RESULT" >&5 +printf "%s\n" "$THIS_RESULT" >&6; } else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi unset THIS_RESULT THIS_NAME THIS_FULL_NAME @@ -27776,8 +27915,8 @@ esac done - as_ac_Lib=`printf '%s\n' "ac_cv_lib_$LIB""_tcadbopen" | sed "$as_sed_sh"` -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for tcadbopen in -l$LIB" >&5 + as_ac_Lib=`printf "%s\n" "ac_cv_lib_$LIB""_tcadbopen" | sed "$as_sed_sh"` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for tcadbopen in -l$LIB" >&5 printf %s "checking for tcadbopen in -l$LIB... " >&6; } if eval test \${$as_ac_Lib+y} then : @@ -27819,8 +27958,8 @@ esac fi eval ac_res=\$$as_ac_Lib - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf '%s\n' "$ac_res" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } if eval test \"x\$"$as_ac_Lib"\" = x"yes" then : @@ -27828,10 +27967,10 @@ ext_shared=$save_ext_shared -printf '%s\n' "#define TCADB_INCLUDE_FILE \"$THIS_INCLUDE\"" >>confdefs.h +printf "%s\n" "#define TCADB_INCLUDE_FILE \"$THIS_INCLUDE\"" >>confdefs.h -printf '%s\n' "#define DBA_TCADB 1" >>confdefs.h +printf "%s\n" "#define DBA_TCADB 1" >>confdefs.h THIS_LIBS=$LIB @@ -27984,7 +28123,7 @@ else THIS_FULL_NAME="$THIS_NAME" fi - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for $THIS_FULL_NAME support" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $THIS_FULL_NAME support" >&5 printf %s "checking for $THIS_FULL_NAME support... " >&6; } if test -n ""; then as_fn_error $? "" "$LINENO" 5 @@ -27992,11 +28131,11 @@ if test "$THIS_RESULT" = "yes" || test "$THIS_RESULT" = "builtin"; then HAVE_DBA=1 eval HAVE_$THIS_NAME=1 - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $THIS_RESULT" >&5 -printf '%s\n' "$THIS_RESULT" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $THIS_RESULT" >&5 +printf "%s\n" "$THIS_RESULT" >&6; } else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi unset THIS_RESULT THIS_NAME THIS_FULL_NAME @@ -28165,8 +28304,8 @@ esac done - as_ac_Lib=`printf '%s\n' "ac_cv_lib_$LIB""_mdb_env_open" | sed "$as_sed_sh"` -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for mdb_env_open in -l$LIB" >&5 + as_ac_Lib=`printf "%s\n" "ac_cv_lib_$LIB""_mdb_env_open" | sed "$as_sed_sh"` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mdb_env_open in -l$LIB" >&5 printf %s "checking for mdb_env_open in -l$LIB... " >&6; } if eval test \${$as_ac_Lib+y} then : @@ -28208,8 +28347,8 @@ esac fi eval ac_res=\$$as_ac_Lib - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf '%s\n' "$ac_res" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } if eval test \"x\$"$as_ac_Lib"\" = x"yes" then : @@ -28217,10 +28356,10 @@ ext_shared=$save_ext_shared -printf '%s\n' "#define LMDB_INCLUDE_FILE \"$THIS_INCLUDE\"" >>confdefs.h +printf "%s\n" "#define LMDB_INCLUDE_FILE \"$THIS_INCLUDE\"" >>confdefs.h -printf '%s\n' "#define DBA_LMDB 1" >>confdefs.h +printf "%s\n" "#define DBA_LMDB 1" >>confdefs.h THIS_LIBS=$LIB @@ -28373,7 +28512,7 @@ else THIS_FULL_NAME="$THIS_NAME" fi - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for $THIS_FULL_NAME support" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $THIS_FULL_NAME support" >&5 printf %s "checking for $THIS_FULL_NAME support... " >&6; } if test -n ""; then as_fn_error $? "" "$LINENO" 5 @@ -28381,11 +28520,11 @@ if test "$THIS_RESULT" = "yes" || test "$THIS_RESULT" = "builtin"; then HAVE_DBA=1 eval HAVE_$THIS_NAME=1 - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $THIS_RESULT" >&5 -printf '%s\n' "$THIS_RESULT" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $THIS_RESULT" >&5 +printf "%s\n" "$THIS_RESULT" >&6; } else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi unset THIS_RESULT THIS_NAME THIS_FULL_NAME @@ -28526,14 +28665,14 @@ if ${THIS_LIBS:+false} : then : - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "DB4 major version check failed: header contains different version See 'config.log' for more details" "$LINENO" 5; } fi if test "4" = "4"; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for DB4 minor version and patch level" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for DB4 minor version and patch level" >&5 printf %s "checking for DB4 minor version and patch level... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -28547,8 +28686,8 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP_TRADITIONAL "yes" >/dev/null 2>&1 then : - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: ok" >&5 -printf '%s\n' "ok" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ok" >&5 +printf "%s\n" "ok" >&6; } else case e in #( e) as_fn_error $? "Version 4.1 requires patch level 25" "$LINENO" 5 ;; esac @@ -28559,7 +28698,7 @@ if test "x$ext_shared" = xyes then : - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking if dba can be used as shared extension" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if dba can be used as shared extension" >&5 printf %s "checking if dba can be used as shared extension... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -28573,8 +28712,8 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP_TRADITIONAL "yes" >/dev/null 2>&1 then : - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } else case e in #( e) as_fn_error $? "At least version 3.3 is required" "$LINENO" 5 ;; esac @@ -28590,7 +28729,7 @@ fi -printf '%s\n' "#define DBA_DB4 1" >>confdefs.h +printf "%s\n" "#define DBA_DB4 1" >>confdefs.h if ${THIS_INCLUDE:+false} : @@ -28598,7 +28737,7 @@ else case e in #( e) -printf '%s\n' "#define DB4_INCLUDE_FILE \"$THIS_INCLUDE\"" >>confdefs.h +printf "%s\n" "#define DB4_INCLUDE_FILE \"$THIS_INCLUDE\"" >>confdefs.h ;; esac fi @@ -28729,7 +28868,7 @@ else THIS_FULL_NAME="$THIS_NAME" fi - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for $THIS_FULL_NAME support" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $THIS_FULL_NAME support" >&5 printf %s "checking for $THIS_FULL_NAME support... " >&6; } if test -n ""; then as_fn_error $? "" "$LINENO" 5 @@ -28737,11 +28876,11 @@ if test "$THIS_RESULT" = "yes" || test "$THIS_RESULT" = "builtin"; then HAVE_DBA=1 eval HAVE_$THIS_NAME=1 - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $THIS_RESULT" >&5 -printf '%s\n' "$THIS_RESULT" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $THIS_RESULT" >&5 +printf "%s\n" "$THIS_RESULT" >&6; } else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi unset THIS_RESULT THIS_NAME THIS_FULL_NAME @@ -28757,7 +28896,7 @@ else THIS_FULL_NAME="$THIS_NAME" fi - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for $THIS_FULL_NAME support" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $THIS_FULL_NAME support" >&5 printf %s "checking for $THIS_FULL_NAME support... " >&6; } if test -n "You cannot combine --with-db3 with --with-db4"; then as_fn_error $? "You cannot combine --with-db3 with --with-db4" "$LINENO" 5 @@ -28765,11 +28904,11 @@ if test "$THIS_RESULT" = "yes" || test "$THIS_RESULT" = "builtin"; then HAVE_DBA=1 eval HAVE_$THIS_NAME=1 - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $THIS_RESULT" >&5 -printf '%s\n' "$THIS_RESULT" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $THIS_RESULT" >&5 +printf "%s\n" "$THIS_RESULT" >&6; } else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi unset THIS_RESULT THIS_NAME THIS_FULL_NAME @@ -28865,14 +29004,14 @@ if ${THIS_LIBS:+false} : then : - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "DB3 major version check failed: header contains different version See 'config.log' for more details" "$LINENO" 5; } fi if test "3" = "4"; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for DB4 minor version and patch level" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for DB4 minor version and patch level" >&5 printf %s "checking for DB4 minor version and patch level... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -28886,8 +29025,8 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP_TRADITIONAL "yes" >/dev/null 2>&1 then : - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: ok" >&5 -printf '%s\n' "ok" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ok" >&5 +printf "%s\n" "ok" >&6; } else case e in #( e) as_fn_error $? "Version 4.1 requires patch level 25" "$LINENO" 5 ;; esac @@ -28898,7 +29037,7 @@ if test "x$ext_shared" = xyes then : - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking if dba can be used as shared extension" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if dba can be used as shared extension" >&5 printf %s "checking if dba can be used as shared extension... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -28912,8 +29051,8 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP_TRADITIONAL "yes" >/dev/null 2>&1 then : - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } else case e in #( e) as_fn_error $? "At least version 3.3 is required" "$LINENO" 5 ;; esac @@ -28929,7 +29068,7 @@ fi -printf '%s\n' "#define DBA_DB3 1" >>confdefs.h +printf "%s\n" "#define DBA_DB3 1" >>confdefs.h if ${THIS_INCLUDE:+false} : @@ -28937,7 +29076,7 @@ else case e in #( e) -printf '%s\n' "#define DB3_INCLUDE_FILE \"$THIS_INCLUDE\"" >>confdefs.h +printf "%s\n" "#define DB3_INCLUDE_FILE \"$THIS_INCLUDE\"" >>confdefs.h ;; esac fi @@ -29068,7 +29207,7 @@ else THIS_FULL_NAME="$THIS_NAME" fi - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for $THIS_FULL_NAME support" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $THIS_FULL_NAME support" >&5 printf %s "checking for $THIS_FULL_NAME support... " >&6; } if test -n ""; then as_fn_error $? "" "$LINENO" 5 @@ -29076,11 +29215,11 @@ if test "$THIS_RESULT" = "yes" || test "$THIS_RESULT" = "builtin"; then HAVE_DBA=1 eval HAVE_$THIS_NAME=1 - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $THIS_RESULT" >&5 -printf '%s\n' "$THIS_RESULT" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $THIS_RESULT" >&5 +printf "%s\n" "$THIS_RESULT" >&6; } else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi unset THIS_RESULT THIS_NAME THIS_FULL_NAME @@ -29095,7 +29234,7 @@ else THIS_FULL_NAME="$THIS_NAME" fi - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for $THIS_FULL_NAME support" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $THIS_FULL_NAME support" >&5 printf %s "checking for $THIS_FULL_NAME support... " >&6; } if test -n "You cannot combine --with-db2 with --with-db3 or --with-db4"; then as_fn_error $? "You cannot combine --with-db2 with --with-db3 or --with-db4" "$LINENO" 5 @@ -29103,11 +29242,11 @@ if test "$THIS_RESULT" = "yes" || test "$THIS_RESULT" = "builtin"; then HAVE_DBA=1 eval HAVE_$THIS_NAME=1 - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $THIS_RESULT" >&5 -printf '%s\n' "$THIS_RESULT" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $THIS_RESULT" >&5 +printf "%s\n" "$THIS_RESULT" >&6; } else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi unset THIS_RESULT THIS_NAME THIS_FULL_NAME @@ -29195,14 +29334,14 @@ if ${THIS_LIBS:+false} : then : - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "DB2 major version check failed: header contains different version See 'config.log' for more details" "$LINENO" 5; } fi if test "2" = "4"; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for DB4 minor version and patch level" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for DB4 minor version and patch level" >&5 printf %s "checking for DB4 minor version and patch level... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -29216,8 +29355,8 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP_TRADITIONAL "yes" >/dev/null 2>&1 then : - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: ok" >&5 -printf '%s\n' "ok" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ok" >&5 +printf "%s\n" "ok" >&6; } else case e in #( e) as_fn_error $? "Version 4.1 requires patch level 25" "$LINENO" 5 ;; esac @@ -29228,7 +29367,7 @@ if test "x$ext_shared" = xyes then : - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking if dba can be used as shared extension" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if dba can be used as shared extension" >&5 printf %s "checking if dba can be used as shared extension... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -29242,8 +29381,8 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP_TRADITIONAL "yes" >/dev/null 2>&1 then : - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } else case e in #( e) as_fn_error $? "At least version 3.3 is required" "$LINENO" 5 ;; esac @@ -29259,7 +29398,7 @@ fi -printf '%s\n' "#define DBA_DB2 1" >>confdefs.h +printf "%s\n" "#define DBA_DB2 1" >>confdefs.h if ${THIS_INCLUDE:+false} : @@ -29267,7 +29406,7 @@ else case e in #( e) -printf '%s\n' "#define DB2_INCLUDE_FILE \"$THIS_INCLUDE\"" >>confdefs.h +printf "%s\n" "#define DB2_INCLUDE_FILE \"$THIS_INCLUDE\"" >>confdefs.h ;; esac fi @@ -29398,7 +29537,7 @@ else THIS_FULL_NAME="$THIS_NAME" fi - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for $THIS_FULL_NAME support" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $THIS_FULL_NAME support" >&5 printf %s "checking for $THIS_FULL_NAME support... " >&6; } if test -n ""; then as_fn_error $? "" "$LINENO" 5 @@ -29406,18 +29545,18 @@ if test "$THIS_RESULT" = "yes" || test "$THIS_RESULT" = "builtin"; then HAVE_DBA=1 eval HAVE_$THIS_NAME=1 - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $THIS_RESULT" >&5 -printf '%s\n' "$THIS_RESULT" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $THIS_RESULT" >&5 +printf "%s\n" "$THIS_RESULT" >&6; } else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi unset THIS_RESULT THIS_NAME THIS_FULL_NAME if test "$PHP_DB1" != "no"; then unset THIS_INCLUDE THIS_LIBS THIS_LFLAGS THIS_PREFIX THIS_RESULT - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for DB1 in library" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for DB1 in library" >&5 printf %s "checking for DB1 in library... " >&6; } if test "$HAVE_DB4" = "1"; then THIS_VERSION=4 @@ -29433,7 +29572,7 @@ fi if test "$HAVE_DB4" = "1" || test "$HAVE_DB3" = "1" || test "$HAVE_DB2" = "1"; then -printf '%s\n' "#define DB1_VERSION \"Berkeley DB 1.85 emulation in DB$THIS_VERSION\"" >>confdefs.h +printf "%s\n" "#define DB1_VERSION \"Berkeley DB 1.85 emulation in DB$THIS_VERSION\"" >>confdefs.h for i in \ db$THIS_VERSION/db_185.h \ @@ -29447,7 +29586,7 @@ done else -printf '%s\n' "#define DB1_VERSION \"Unknown DB1\"" >>confdefs.h +printf "%s\n" "#define DB1_VERSION \"Unknown DB1\"" >>confdefs.h for i in $PHP_DB1 /usr/local /usr; do if test -f "$i/db1/db.h"; then @@ -29466,12 +29605,12 @@ done THIS_LIBS=db fi - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $THIS_LIBS" >&5 -printf '%s\n' "$THIS_LIBS" >&6; } - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for DB1 in header" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $THIS_LIBS" >&5 +printf "%s\n" "$THIS_LIBS" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for DB1 in header" >&5 printf %s "checking for DB1 in header... " >&6; } - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $THIS_INCLUDE" >&5 -printf '%s\n' "$THIS_INCLUDE" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $THIS_INCLUDE" >&5 +printf "%s\n" "$THIS_INCLUDE" >&6; } if test -n "$THIS_INCLUDE"; then old_LDFLAGS=$LDFLAGS @@ -29492,10 +29631,10 @@ if ac_fn_c_try_link "$LINENO" then : -printf '%s\n' "#define DB1_INCLUDE_FILE \"$THIS_INCLUDE\"" >>confdefs.h +printf "%s\n" "#define DB1_INCLUDE_FILE \"$THIS_INCLUDE\"" >>confdefs.h -printf '%s\n' "#define DBA_DB1 1" >>confdefs.h +printf "%s\n" "#define DBA_DB1 1" >>confdefs.h THIS_RESULT=yes @@ -29641,7 +29780,7 @@ else THIS_FULL_NAME="$THIS_NAME" fi - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for $THIS_FULL_NAME support" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $THIS_FULL_NAME support" >&5 printf %s "checking for $THIS_FULL_NAME support... " >&6; } if test -n ""; then as_fn_error $? "" "$LINENO" 5 @@ -29649,11 +29788,11 @@ if test "$THIS_RESULT" = "yes" || test "$THIS_RESULT" = "builtin"; then HAVE_DBA=1 eval HAVE_$THIS_NAME=1 - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $THIS_RESULT" >&5 -printf '%s\n' "$THIS_RESULT" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $THIS_RESULT" >&5 +printf "%s\n" "$THIS_RESULT" >&6; } else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi unset THIS_RESULT THIS_NAME THIS_FULL_NAME @@ -29669,7 +29808,7 @@ else THIS_FULL_NAME="$THIS_NAME" fi - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for $THIS_FULL_NAME support" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $THIS_FULL_NAME support" >&5 printf %s "checking for $THIS_FULL_NAME support... " >&6; } if test -n "You cannot combine --with-dbm with --with-qdbm"; then as_fn_error $? "You cannot combine --with-dbm with --with-qdbm" "$LINENO" 5 @@ -29677,11 +29816,11 @@ if test "$THIS_RESULT" = "yes" || test "$THIS_RESULT" = "builtin"; then HAVE_DBA=1 eval HAVE_$THIS_NAME=1 - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $THIS_RESULT" >&5 -printf '%s\n' "$THIS_RESULT" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $THIS_RESULT" >&5 +printf "%s\n" "$THIS_RESULT" >&6; } else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi unset THIS_RESULT THIS_NAME THIS_FULL_NAME @@ -29818,8 +29957,8 @@ esac done - as_ac_Lib=`printf '%s\n' "ac_cv_lib_$LIB""_dbminit" | sed "$as_sed_sh"` -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for dbminit in -l$LIB" >&5 + as_ac_Lib=`printf "%s\n" "ac_cv_lib_$LIB""_dbminit" | sed "$as_sed_sh"` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dbminit in -l$LIB" >&5 printf %s "checking for dbminit in -l$LIB... " >&6; } if eval test \${$as_ac_Lib+y} then : @@ -29861,40 +30000,40 @@ esac fi eval ac_res=\$$as_ac_Lib - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf '%s\n' "$ac_res" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } if eval test \"x\$"$as_ac_Lib"\" = x"yes" then : LDFLAGS=$save_old_LDFLAGS ext_shared=$save_ext_shared - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for DBM using GDBM" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for DBM using GDBM" >&5 printf %s "checking for DBM using GDBM... " >&6; } -printf '%s\n' "#define DBM_INCLUDE_FILE \"$THIS_INCLUDE\"" >>confdefs.h +printf "%s\n" "#define DBM_INCLUDE_FILE \"$THIS_INCLUDE\"" >>confdefs.h if test "x$LIB" = xgdbm then : -printf '%s\n' "#define DBM_VERSION \"GDBM\"" >>confdefs.h +printf "%s\n" "#define DBM_VERSION \"GDBM\"" >>confdefs.h - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } else case e in #( e) -printf '%s\n' "#define DBM_VERSION \"DBM\"" >>confdefs.h +printf "%s\n" "#define DBM_VERSION \"DBM\"" >>confdefs.h - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } ;; esac fi -printf '%s\n' "#define DBA_DBM 1" >>confdefs.h +printf "%s\n" "#define DBA_DBM 1" >>confdefs.h THIS_LIBS=$LIB @@ -30047,7 +30186,7 @@ else THIS_FULL_NAME="$THIS_NAME" fi - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for $THIS_FULL_NAME support" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $THIS_FULL_NAME support" >&5 printf %s "checking for $THIS_FULL_NAME support... " >&6; } if test -n ""; then as_fn_error $? "" "$LINENO" 5 @@ -30055,11 +30194,11 @@ if test "$THIS_RESULT" = "yes" || test "$THIS_RESULT" = "builtin"; then HAVE_DBA=1 eval HAVE_$THIS_NAME=1 - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $THIS_RESULT" >&5 -printf '%s\n' "$THIS_RESULT" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $THIS_RESULT" >&5 +printf "%s\n" "$THIS_RESULT" >&6; } else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi unset THIS_RESULT THIS_NAME THIS_FULL_NAME @@ -30142,10 +30281,10 @@ if test "$PHP_CDB" = "yes"; then -printf '%s\n' "#define DBA_CDB_BUILTIN 1" >>confdefs.h +printf "%s\n" "#define DBA_CDB_BUILTIN 1" >>confdefs.h -printf '%s\n' "#define DBA_CDB 1" >>confdefs.h +printf "%s\n" "#define DBA_CDB 1" >>confdefs.h cdb_sources="libcdb/cdb.c libcdb/cdb_make.c libcdb/uint32.c" THIS_RESULT="builtin" @@ -30279,8 +30418,8 @@ esac done - as_ac_Lib=`printf '%s\n' "ac_cv_lib_$LIB""_cdb_read" | sed "$as_sed_sh"` -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for cdb_read in -l$LIB" >&5 + as_ac_Lib=`printf "%s\n" "ac_cv_lib_$LIB""_cdb_read" | sed "$as_sed_sh"` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cdb_read in -l$LIB" >&5 printf %s "checking for cdb_read in -l$LIB... " >&6; } if eval test \${$as_ac_Lib+y} then : @@ -30322,8 +30461,8 @@ esac fi eval ac_res=\$$as_ac_Lib - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf '%s\n' "$ac_res" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } if eval test \"x\$"$as_ac_Lib"\" = x"yes" then : @@ -30331,10 +30470,10 @@ ext_shared=$save_ext_shared -printf '%s\n' "#define CDB_INCLUDE_FILE \"$THIS_INCLUDE\"" >>confdefs.h +printf "%s\n" "#define CDB_INCLUDE_FILE \"$THIS_INCLUDE\"" >>confdefs.h -printf '%s\n' "#define DBA_CDB 1" >>confdefs.h +printf "%s\n" "#define DBA_CDB 1" >>confdefs.h THIS_LIBS=$LIB @@ -30487,7 +30626,7 @@ else THIS_FULL_NAME="$THIS_NAME" fi - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for $THIS_FULL_NAME support" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $THIS_FULL_NAME support" >&5 printf %s "checking for $THIS_FULL_NAME support... " >&6; } if test -n ""; then as_fn_error $? "" "$LINENO" 5 @@ -30495,18 +30634,18 @@ if test "$THIS_RESULT" = "yes" || test "$THIS_RESULT" = "builtin"; then HAVE_DBA=1 eval HAVE_$THIS_NAME=1 - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $THIS_RESULT" >&5 -printf '%s\n' "$THIS_RESULT" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $THIS_RESULT" >&5 +printf "%s\n" "$THIS_RESULT" >&6; } else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi unset THIS_RESULT THIS_NAME THIS_FULL_NAME if test "$PHP_INIFILE" != "no"; then -printf '%s\n' "#define DBA_INIFILE 1" >>confdefs.h +printf "%s\n" "#define DBA_INIFILE 1" >>confdefs.h ini_sources="libinifile/inifile.c" THIS_RESULT="builtin" @@ -30518,7 +30657,7 @@ else THIS_FULL_NAME="$THIS_NAME" fi - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for $THIS_FULL_NAME support" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $THIS_FULL_NAME support" >&5 printf %s "checking for $THIS_FULL_NAME support... " >&6; } if test -n ""; then as_fn_error $? "" "$LINENO" 5 @@ -30526,18 +30665,18 @@ if test "$THIS_RESULT" = "yes" || test "$THIS_RESULT" = "builtin"; then HAVE_DBA=1 eval HAVE_$THIS_NAME=1 - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $THIS_RESULT" >&5 -printf '%s\n' "$THIS_RESULT" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $THIS_RESULT" >&5 +printf "%s\n" "$THIS_RESULT" >&6; } else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi unset THIS_RESULT THIS_NAME THIS_FULL_NAME if test "$PHP_FLATFILE" != "no"; then -printf '%s\n' "#define DBA_FLATFILE 1" >>confdefs.h +printf "%s\n" "#define DBA_FLATFILE 1" >>confdefs.h flat_sources="libflatfile/flatfile.c" THIS_RESULT="builtin" @@ -30549,7 +30688,7 @@ else THIS_FULL_NAME="$THIS_NAME" fi - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for $THIS_FULL_NAME support" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $THIS_FULL_NAME support" >&5 printf %s "checking for $THIS_FULL_NAME support... " >&6; } if test -n ""; then as_fn_error $? "" "$LINENO" 5 @@ -30557,32 +30696,32 @@ if test "$THIS_RESULT" = "yes" || test "$THIS_RESULT" = "builtin"; then HAVE_DBA=1 eval HAVE_$THIS_NAME=1 - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $THIS_RESULT" >&5 -printf '%s\n' "$THIS_RESULT" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $THIS_RESULT" >&5 +printf "%s\n" "$THIS_RESULT" >&6; } else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi unset THIS_RESULT THIS_NAME THIS_FULL_NAME -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to enable DBA interface" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable DBA interface" >&5 printf %s "checking whether to enable DBA interface... " >&6; } if test "x$HAVE_DBA" = x1 then : if test "x$ext_shared" = xyes then : - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes, shared" >&5 -printf '%s\n' "yes, shared" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes, shared" >&5 +printf "%s\n" "yes, shared" >&6; } else case e in #( - e) { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } ;; + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } ;; esac fi -printf '%s\n' "#define HAVE_DBA 1" >>confdefs.h +printf "%s\n" "#define HAVE_DBA 1" >>confdefs.h ext_builddir=ext/dba @@ -30719,7 +30858,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_DBA 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_DBA 1" >>confdefs.h fi fi @@ -30844,8 +30983,8 @@ else case e in #( - e) { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } ;; + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } ;; esac fi @@ -30855,7 +30994,7 @@ php_enable_dl_test=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to enable dl-test extension" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable dl-test extension" >&5 printf %s "checking whether to enable dl-test extension... " >&6; } # Check whether --enable-dl-test was given. if test ${enable_dl_test+y} @@ -30892,8 +31031,8 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -31036,7 +31175,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_DL_TEST 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_DL_TEST 1" >>confdefs.h fi fi @@ -31162,7 +31301,7 @@ php_enable_dom=yes -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to enable DOM support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable DOM support" >&5 printf %s "checking whether to enable DOM support... " >&6; } # Check whether --enable-dom was given. if test ${enable_dom+y} @@ -31199,8 +31338,8 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -31209,17 +31348,17 @@ pkg_failed=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for libxml-2.0 >= 2.9.4" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libxml-2.0 >= 2.9.4" >&5 printf %s "checking for libxml-2.0 >= 2.9.4... " >&6; } if test -n "$LIBXML_CFLAGS"; then pkg_cv_LIBXML_CFLAGS="$LIBXML_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libxml-2.0 >= 2.9.4\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libxml-2.0 >= 2.9.4\""; } >&5 ($PKG_CONFIG --exists --print-errors "libxml-2.0 >= 2.9.4") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_LIBXML_CFLAGS=`$PKG_CONFIG --cflags "libxml-2.0 >= 2.9.4" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -31233,10 +31372,10 @@ pkg_cv_LIBXML_LIBS="$LIBXML_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libxml-2.0 >= 2.9.4\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libxml-2.0 >= 2.9.4\""; } >&5 ($PKG_CONFIG --exists --print-errors "libxml-2.0 >= 2.9.4") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_LIBXML_LIBS=`$PKG_CONFIG --libs "libxml-2.0 >= 2.9.4" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -31250,8 +31389,8 @@ if test $pkg_failed = yes; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -31277,10 +31416,10 @@ and LIBXML_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -31294,8 +31433,8 @@ else LIBXML_CFLAGS=$pkg_cv_LIBXML_CFLAGS LIBXML_LIBS=$pkg_cv_LIBXML_LIBS - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } fi @@ -31455,7 +31594,7 @@ -printf '%s\n' "#define HAVE_DOM 1" >>confdefs.h +printf "%s\n" "#define HAVE_DOM 1" >>confdefs.h PHP_LEXBOR_CFLAGS="-I@ext_srcdir@/lexbor -DLEXBOR_STATIC" LEXBOR_DIR="lexbor/lexbor" @@ -31595,7 +31734,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_DOM 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_DOM 1" >>confdefs.h fi fi @@ -31764,7 +31903,7 @@ php_with_enchant=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to build with Enchant support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build with Enchant support" >&5 printf %s "checking whether to build with Enchant support... " >&6; } # Check whether --with-enchant was given. @@ -31802,8 +31941,8 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -31811,17 +31950,17 @@ if test "$PHP_ENCHANT" != "no"; then pkg_failed=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for enchant-2" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for enchant-2" >&5 printf %s "checking for enchant-2... " >&6; } if test -n "$ENCHANT2_CFLAGS"; then pkg_cv_ENCHANT2_CFLAGS="$ENCHANT2_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"enchant-2\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"enchant-2\""; } >&5 ($PKG_CONFIG --exists --print-errors "enchant-2") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_ENCHANT2_CFLAGS=`$PKG_CONFIG --cflags "enchant-2" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -31835,10 +31974,10 @@ pkg_cv_ENCHANT2_LIBS="$ENCHANT2_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"enchant-2\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"enchant-2\""; } >&5 ($PKG_CONFIG --exists --print-errors "enchant-2") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_ENCHANT2_LIBS=`$PKG_CONFIG --libs "enchant-2" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -31852,8 +31991,8 @@ if test $pkg_failed = yes; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -31870,14 +32009,14 @@ found_enchant_2=no elif test $pkg_failed = untried; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } found_enchant_2=no else ENCHANT2_CFLAGS=$pkg_cv_ENCHANT2_CFLAGS ENCHANT2_LIBS=$pkg_cv_ENCHANT2_LIBS - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } found_enchant_2=yes fi @@ -32040,26 +32179,26 @@ done -printf '%s\n' "#define HAVE_ENCHANT_GET_VERSION 1" >>confdefs.h +printf "%s\n" "#define HAVE_ENCHANT_GET_VERSION 1" >>confdefs.h else case e in #( e) - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: WARNING: libenchant-2 not found trying with old libenchant" >&5 -printf '%s\n' "$as_me: WARNING: libenchant-2 not found trying with old libenchant" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libenchant-2 not found trying with old libenchant" >&5 +printf "%s\n" "$as_me: WARNING: libenchant-2 not found trying with old libenchant" >&2;} pkg_failed=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for enchant >= 1.4.2" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for enchant >= 1.4.2" >&5 printf %s "checking for enchant >= 1.4.2... " >&6; } if test -n "$ENCHANT_CFLAGS"; then pkg_cv_ENCHANT_CFLAGS="$ENCHANT_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"enchant >= 1.4.2\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"enchant >= 1.4.2\""; } >&5 ($PKG_CONFIG --exists --print-errors "enchant >= 1.4.2") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_ENCHANT_CFLAGS=`$PKG_CONFIG --cflags "enchant >= 1.4.2" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -32073,10 +32212,10 @@ pkg_cv_ENCHANT_LIBS="$ENCHANT_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"enchant >= 1.4.2\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"enchant >= 1.4.2\""; } >&5 ($PKG_CONFIG --exists --print-errors "enchant >= 1.4.2") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_ENCHANT_LIBS=`$PKG_CONFIG --libs "enchant >= 1.4.2" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -32090,8 +32229,8 @@ if test $pkg_failed = yes; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -32117,10 +32256,10 @@ and ENCHANT_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -32134,8 +32273,8 @@ else ENCHANT_CFLAGS=$pkg_cv_ENCHANT_CFLAGS ENCHANT_LIBS=$pkg_cv_ENCHANT_LIBS - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } fi @@ -32413,7 +32552,7 @@ esac done - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for enchant_get_version in -lenchant" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for enchant_get_version in -lenchant" >&5 printf %s "checking for enchant_get_version in -lenchant... " >&6; } if test ${ac_cv_lib_enchant_enchant_get_version+y} then : @@ -32454,14 +32593,14 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_enchant_enchant_get_version" >&5 -printf '%s\n' "$ac_cv_lib_enchant_enchant_get_version" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_enchant_enchant_get_version" >&5 +printf "%s\n" "$ac_cv_lib_enchant_enchant_get_version" >&6; } if test "x$ac_cv_lib_enchant_enchant_get_version" = xyes then : LDFLAGS=$save_old_LDFLAGS ext_shared=$save_ext_shared - printf '%s\n' "#define HAVE_ENCHANT_GET_VERSION 1" >>confdefs.h + printf "%s\n" "#define HAVE_ENCHANT_GET_VERSION 1" >>confdefs.h else case e in #( @@ -32593,7 +32732,7 @@ esac done - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for enchant_broker_set_param in -lenchant" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for enchant_broker_set_param in -lenchant" >&5 printf %s "checking for enchant_broker_set_param in -lenchant... " >&6; } if test ${ac_cv_lib_enchant_enchant_broker_set_param+y} then : @@ -32634,15 +32773,15 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_enchant_enchant_broker_set_param" >&5 -printf '%s\n' "$ac_cv_lib_enchant_enchant_broker_set_param" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_enchant_enchant_broker_set_param" >&5 +printf "%s\n" "$ac_cv_lib_enchant_enchant_broker_set_param" >&6; } if test "x$ac_cv_lib_enchant_enchant_broker_set_param" = xyes then : LDFLAGS=$save_old_LDFLAGS ext_shared=$save_ext_shared -printf '%s\n' "#define HAVE_ENCHANT_BROKER_SET_PARAM 1" >>confdefs.h +printf "%s\n" "#define HAVE_ENCHANT_BROKER_SET_PARAM 1" >>confdefs.h else case e in #( @@ -32660,7 +32799,7 @@ fi -printf '%s\n' "#define HAVE_ENCHANT 1" >>confdefs.h +printf "%s\n" "#define HAVE_ENCHANT 1" >>confdefs.h @@ -32798,7 +32937,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_ENCHANT 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_ENCHANT 1" >>confdefs.h fi fi @@ -32927,7 +33066,7 @@ php_enable_exif=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to enable EXIF (metadata from images) support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable EXIF (metadata from images) support" >&5 printf %s "checking whether to enable EXIF (metadata from images) support... " >&6; } # Check whether --enable-exif was given. if test ${enable_exif+y} @@ -32964,15 +33103,15 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } if test "$PHP_EXIF" != "no"; then -printf '%s\n' "#define HAVE_EXIF 1" >>confdefs.h +printf "%s\n" "#define HAVE_EXIF 1" >>confdefs.h ext_builddir=ext/exif @@ -33109,7 +33248,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_EXIF 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_EXIF 1" >>confdefs.h fi fi @@ -33235,7 +33374,7 @@ php_with_ffi=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for FFI support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for FFI support" >&5 printf %s "checking for FFI support... " >&6; } # Check whether --with-ffi was given. @@ -33273,8 +33412,8 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -33282,17 +33421,17 @@ if test "$PHP_FFI" != "no"; then pkg_failed=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for libffi >= 3.0.11" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libffi >= 3.0.11" >&5 printf %s "checking for libffi >= 3.0.11... " >&6; } if test -n "$FFI_CFLAGS"; then pkg_cv_FFI_CFLAGS="$FFI_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libffi >= 3.0.11\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libffi >= 3.0.11\""; } >&5 ($PKG_CONFIG --exists --print-errors "libffi >= 3.0.11") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_FFI_CFLAGS=`$PKG_CONFIG --cflags "libffi >= 3.0.11" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -33306,10 +33445,10 @@ pkg_cv_FFI_LIBS="$FFI_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libffi >= 3.0.11\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libffi >= 3.0.11\""; } >&5 ($PKG_CONFIG --exists --print-errors "libffi >= 3.0.11") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_FFI_LIBS=`$PKG_CONFIG --libs "libffi >= 3.0.11" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -33323,8 +33462,8 @@ if test $pkg_failed = yes; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -33350,10 +33489,10 @@ and FFI_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -33367,8 +33506,8 @@ else FFI_CFLAGS=$pkg_cv_FFI_CFLAGS FFI_LIBS=$pkg_cv_FFI_LIBS - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } fi @@ -33529,14 +33668,14 @@ -printf '%s\n' "#define HAVE_FFI 1" >>confdefs.h +printf "%s\n" "#define HAVE_FFI 1" >>confdefs.h ac_fn_c_check_type "$LINENO" "long double" "ac_cv_type_long_double" "$ac_includes_default" if test "x$ac_cv_type_long_double" = xyes then : -printf '%s\n' "#define HAVE_LONG_DOUBLE 1" >>confdefs.h +printf "%s\n" "#define HAVE_LONG_DOUBLE 1" >>confdefs.h fi @@ -33547,59 +33686,59 @@ CFLAGS_SAVE=$CFLAGS CFLAGS="$CFLAGS $FFI_CFLAGS" ac_fn_check_decl "$LINENO" "FFI_FASTCALL" "ac_cv_have_decl_FFI_FASTCALL" "#include -" "$ac_c_undeclared_builtin_options$ac_c_future_darwin_options" "CFLAGS" +" "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_FFI_FASTCALL" = xyes then : -printf '%s\n' "#define HAVE_FFI_FASTCALL 1" >>confdefs.h +printf "%s\n" "#define HAVE_FFI_FASTCALL 1" >>confdefs.h fi ac_fn_check_decl "$LINENO" "FFI_THISCALL" "ac_cv_have_decl_FFI_THISCALL" "#include -" "$ac_c_undeclared_builtin_options$ac_c_future_darwin_options" "CFLAGS" +" "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_FFI_THISCALL" = xyes then : -printf '%s\n' "#define HAVE_FFI_THISCALL 1" >>confdefs.h +printf "%s\n" "#define HAVE_FFI_THISCALL 1" >>confdefs.h fi ac_fn_check_decl "$LINENO" "FFI_STDCALL" "ac_cv_have_decl_FFI_STDCALL" "#include -" "$ac_c_undeclared_builtin_options$ac_c_future_darwin_options" "CFLAGS" +" "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_FFI_STDCALL" = xyes then : -printf '%s\n' "#define HAVE_FFI_STDCALL 1" >>confdefs.h +printf "%s\n" "#define HAVE_FFI_STDCALL 1" >>confdefs.h fi ac_fn_check_decl "$LINENO" "FFI_PASCAL" "ac_cv_have_decl_FFI_PASCAL" "#include -" "$ac_c_undeclared_builtin_options$ac_c_future_darwin_options" "CFLAGS" +" "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_FFI_PASCAL" = xyes then : -printf '%s\n' "#define HAVE_FFI_PASCAL 1" >>confdefs.h +printf "%s\n" "#define HAVE_FFI_PASCAL 1" >>confdefs.h fi ac_fn_check_decl "$LINENO" "FFI_REGISTER" "ac_cv_have_decl_FFI_REGISTER" "#include -" "$ac_c_undeclared_builtin_options$ac_c_future_darwin_options" "CFLAGS" +" "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_FFI_REGISTER" = xyes then : -printf '%s\n' "#define HAVE_FFI_REGISTER 1" >>confdefs.h +printf "%s\n" "#define HAVE_FFI_REGISTER 1" >>confdefs.h fi ac_fn_check_decl "$LINENO" "FFI_MS_CDECL" "ac_cv_have_decl_FFI_MS_CDECL" "#include -" "$ac_c_undeclared_builtin_options$ac_c_future_darwin_options" "CFLAGS" +" "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_FFI_MS_CDECL" = xyes then : -printf '%s\n' "#define HAVE_FFI_MS_CDECL 1" >>confdefs.h +printf "%s\n" "#define HAVE_FFI_MS_CDECL 1" >>confdefs.h fi ac_fn_check_decl "$LINENO" "FFI_SYSV" "ac_cv_have_decl_FFI_SYSV" "#include -" "$ac_c_undeclared_builtin_options$ac_c_future_darwin_options" "CFLAGS" +" "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_FFI_SYSV" = xyes then : -printf '%s\n' "#define HAVE_FFI_SYSV 1" >>confdefs.h +printf "%s\n" "#define HAVE_FFI_SYSV 1" >>confdefs.h fi CFLAGS=$CFLAGS_SAVE @@ -33739,7 +33878,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_FFI 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_FFI 1" >>confdefs.h fi fi @@ -33868,7 +34007,7 @@ php_enable_fileinfo=yes -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for fileinfo support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for fileinfo support" >&5 printf %s "checking for fileinfo support... " >&6; } # Check whether --enable-fileinfo was given. if test ${enable_fileinfo+y} @@ -33905,8 +34044,8 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -33917,7 +34056,7 @@ ac_fn_c_check_header_compile "$LINENO" "sys/sysmacros.h" "ac_cv_header_sys_sysmacros_h" "$ac_includes_default" if test "x$ac_cv_header_sys_sysmacros_h" = xyes then : - printf '%s\n' "#define HAVE_SYS_SYSMACROS_H 1" >>confdefs.h + printf "%s\n" "#define HAVE_SYS_SYSMACROS_H 1" >>confdefs.h fi @@ -33928,12 +34067,12 @@ ac_fn_c_check_func "$LINENO" "strcasestr" "ac_cv_func_strcasestr" if test "x$ac_cv_func_strcasestr" = xyes then : - printf '%s\n' "#define HAVE_STRCASESTR 1" >>confdefs.h + printf "%s\n" "#define HAVE_STRCASESTR 1" >>confdefs.h else case e in #( e) - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: using libmagic strcasestr implementation" >&5 -printf '%s\n' "$as_me: using libmagic strcasestr implementation" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: using libmagic strcasestr implementation" >&5 +printf "%s\n" "$as_me: using libmagic strcasestr implementation" >&6;} libmagic_sources="$libmagic_sources libmagic/strcasestr.c" ;; esac @@ -33944,7 +34083,7 @@ - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for __attribute__((visibility))" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __attribute__((visibility))" >&5 printf %s "checking for __attribute__((visibility))... " >&6; } if test ${ax_cv_have_func_attribute_visibility+y} then : @@ -33987,13 +34126,13 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ax_cv_have_func_attribute_visibility" >&5 -printf '%s\n' "$ax_cv_have_func_attribute_visibility" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_have_func_attribute_visibility" >&5 +printf "%s\n" "$ax_cv_have_func_attribute_visibility" >&6; } if test yes = $ax_cv_have_func_attribute_visibility then : -printf '%s\n' "#define HAVE_FUNC_ATTRIBUTE_VISIBILITY 1" >>confdefs.h +printf "%s\n" "#define HAVE_FUNC_ATTRIBUTE_VISIBILITY 1" >>confdefs.h fi @@ -34135,7 +34274,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_FILEINFO 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_FILEINFO 1" >>confdefs.h fi fi @@ -34278,13 +34417,13 @@ ac_fn_c_check_func "$LINENO" "utimes" "ac_cv_func_utimes" if test "x$ac_cv_func_utimes" = xyes then : - printf '%s\n' "#define HAVE_UTIMES 1" >>confdefs.h + printf "%s\n" "#define HAVE_UTIMES 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "strndup" "ac_cv_func_strndup" if test "x$ac_cv_func_strndup" = xyes then : - printf '%s\n' "#define HAVE_STRNDUP 1" >>confdefs.h + printf "%s\n" "#define HAVE_STRNDUP 1" >>confdefs.h fi @@ -34302,7 +34441,7 @@ php_enable_filter=yes -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to enable input filter support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable input filter support" >&5 printf %s "checking whether to enable input filter support... " >&6; } # Check whether --enable-filter was given. if test ${enable_filter+y} @@ -34339,8 +34478,8 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -34481,7 +34620,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_FILTER 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_FILTER 1" >>confdefs.h fi fi @@ -34644,7 +34783,7 @@ php_enable_ftp=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to enable FTP support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable FTP support" >&5 printf %s "checking whether to enable FTP support... " >&6; } # Check whether --enable-ftp was given. if test ${enable_ftp+y} @@ -34681,8 +34820,8 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -34695,7 +34834,7 @@ php_with_ftp_ssl=$PHP_OPENSSL -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to enable FTP over SSL support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable FTP over SSL support" >&5 printf %s "checking whether to enable FTP over SSL support... " >&6; } # Check whether --with-ftp-ssl was given. @@ -34712,15 +34851,15 @@ ext_output=$PHP_FTP_SSL -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } if test "$PHP_FTP" = "yes"; then -printf '%s\n' "#define HAVE_FTP 1" >>confdefs.h +printf "%s\n" "#define HAVE_FTP 1" >>confdefs.h ext_builddir=ext/ftp @@ -34857,7 +34996,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_FTP 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_FTP 1" >>confdefs.h fi fi @@ -34986,17 +35125,17 @@ pkg_failed=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for openssl >= 1.1.1" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for openssl >= 1.1.1" >&5 printf %s "checking for openssl >= 1.1.1... " >&6; } if test -n "$OPENSSL_CFLAGS"; then pkg_cv_OPENSSL_CFLAGS="$OPENSSL_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"openssl >= 1.1.1\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"openssl >= 1.1.1\""; } >&5 ($PKG_CONFIG --exists --print-errors "openssl >= 1.1.1") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_OPENSSL_CFLAGS=`$PKG_CONFIG --cflags "openssl >= 1.1.1" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -35010,10 +35149,10 @@ pkg_cv_OPENSSL_LIBS="$OPENSSL_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"openssl >= 1.1.1\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"openssl >= 1.1.1\""; } >&5 ($PKG_CONFIG --exists --print-errors "openssl >= 1.1.1") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_OPENSSL_LIBS=`$PKG_CONFIG --libs "openssl >= 1.1.1" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -35027,8 +35166,8 @@ if test $pkg_failed = yes; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -35054,10 +35193,10 @@ and OPENSSL_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -35071,8 +35210,8 @@ else OPENSSL_CFLAGS=$pkg_cv_OPENSSL_CFLAGS OPENSSL_LIBS=$pkg_cv_OPENSSL_LIBS - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } found_openssl=yes fi @@ -35239,7 +35378,7 @@ PHP_VAR_SUBST="$PHP_VAR_SUBST FTP_SHARED_LIBADD" -printf '%s\n' "#define HAVE_FTP_SSL 1" >>confdefs.h +printf "%s\n" "#define HAVE_FTP_SSL 1" >>confdefs.h ;; esac @@ -35252,7 +35391,7 @@ php_enable_gd=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for GD support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GD support" >&5 printf %s "checking for GD support... " >&6; } # Check whether --enable-gd was given. if test ${enable_gd+y} @@ -35289,8 +35428,8 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -35298,7 +35437,7 @@ php_with_external_gd=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for external libgd" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for external libgd" >&5 printf %s "checking for external libgd... " >&6; } # Check whether --with-external-gd was given. @@ -35315,8 +35454,8 @@ ext_output=$PHP_EXTERNAL_GD -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -35324,7 +35463,7 @@ php_with_avif=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for libavif" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libavif" >&5 printf %s "checking for libavif... " >&6; } # Check whether --with-avif was given. @@ -35341,8 +35480,8 @@ ext_output=$PHP_AVIF -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -35350,7 +35489,7 @@ php_with_webp=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for libwebp" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libwebp" >&5 printf %s "checking for libwebp... " >&6; } # Check whether --with-webp was given. @@ -35367,8 +35506,8 @@ ext_output=$PHP_WEBP -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -35376,7 +35515,7 @@ php_with_jpeg=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for libjpeg" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libjpeg" >&5 printf %s "checking for libjpeg... " >&6; } # Check whether --with-jpeg was given. @@ -35393,8 +35532,8 @@ ext_output=$PHP_JPEG -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -35402,7 +35541,7 @@ php_with_xpm=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for libXpm" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libXpm" >&5 printf %s "checking for libXpm... " >&6; } # Check whether --with-xpm was given. @@ -35419,8 +35558,8 @@ ext_output=$PHP_XPM -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -35428,7 +35567,7 @@ php_with_freetype=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for FreeType 2" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for FreeType 2" >&5 printf %s "checking for FreeType 2... " >&6; } # Check whether --with-freetype was given. @@ -35445,8 +35584,8 @@ ext_output=$PHP_FREETYPE -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -35454,7 +35593,7 @@ php_enable_gd_jis_conv=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to enable JIS-mapped Japanese font support in GD" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable JIS-mapped Japanese font support in GD" >&5 printf %s "checking whether to enable JIS-mapped Japanese font support in GD... " >&6; } # Check whether --enable-gd-jis-conv was given. if test ${enable_gd_jis_conv+y} @@ -35470,8 +35609,8 @@ ext_output=$PHP_GD_JIS_CONV -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -35501,31 +35640,31 @@ extra_sources=" libgd/gd_avif.c libgd/gd_bmp.c libgd/gd_color_match.c libgd/gd_crop.c libgd/gd_filter.c libgd/gd_gd.c libgd/gd_gd2.c libgd/gd_gif_in.c libgd/gd_gif_out.c libgd/gd_interpolation.c libgd/gd_io_dp.c libgd/gd_io_file.c libgd/gd_io_ss.c libgd/gd_io.c libgd/gd_jpeg.c libgd/gd_matrix.c libgd/gd_pixelate.c libgd/gd_png.c libgd/gd_rotate.c libgd/gd_security.c libgd/gd_ss.c libgd/gd_tga.c libgd/gd_topal.c libgd/gd_transform.c libgd/gd_wbmp.c libgd/gd_webp.c libgd/gd_xbm.c libgd/gd.c libgd/gdcache.c libgd/gdfontg.c libgd/gdfontl.c libgd/gdfontmb.c libgd/gdfonts.c libgd/gdfontt.c libgd/gdft.c libgd/gdhelpers.c libgd/gdkanji.c libgd/gdtables.c libgd/gdxpm.c libgd/wbmp.c " -printf '%s\n' "#define HAVE_GD_BUNDLED 1" >>confdefs.h +printf "%s\n" "#define HAVE_GD_BUNDLED 1" >>confdefs.h -printf '%s\n' "#define HAVE_GD_PNG 1" >>confdefs.h +printf "%s\n" "#define HAVE_GD_PNG 1" >>confdefs.h -printf '%s\n' "#define HAVE_GD_BMP 1" >>confdefs.h +printf "%s\n" "#define HAVE_GD_BMP 1" >>confdefs.h -printf '%s\n' "#define HAVE_GD_TGA 1" >>confdefs.h +printf "%s\n" "#define HAVE_GD_TGA 1" >>confdefs.h pkg_failed=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for zlib >= 1.2.11" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for zlib >= 1.2.11" >&5 printf %s "checking for zlib >= 1.2.11... " >&6; } if test -n "$ZLIB_CFLAGS"; then pkg_cv_ZLIB_CFLAGS="$ZLIB_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"zlib >= 1.2.11\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"zlib >= 1.2.11\""; } >&5 ($PKG_CONFIG --exists --print-errors "zlib >= 1.2.11") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_ZLIB_CFLAGS=`$PKG_CONFIG --cflags "zlib >= 1.2.11" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -35539,10 +35678,10 @@ pkg_cv_ZLIB_LIBS="$ZLIB_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"zlib >= 1.2.11\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"zlib >= 1.2.11\""; } >&5 ($PKG_CONFIG --exists --print-errors "zlib >= 1.2.11") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_ZLIB_LIBS=`$PKG_CONFIG --libs "zlib >= 1.2.11" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -35556,8 +35695,8 @@ if test $pkg_failed = yes; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -35583,10 +35722,10 @@ and ZLIB_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -35600,8 +35739,8 @@ else ZLIB_CFLAGS=$pkg_cv_ZLIB_CFLAGS ZLIB_LIBS=$pkg_cv_ZLIB_LIBS - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } for ac_i in $ZLIB_CFLAGS; do case $ac_i in @@ -35762,17 +35901,17 @@ pkg_failed=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for libpng" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libpng" >&5 printf %s "checking for libpng... " >&6; } if test -n "$PNG_CFLAGS"; then pkg_cv_PNG_CFLAGS="$PNG_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libpng\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libpng\""; } >&5 ($PKG_CONFIG --exists --print-errors "libpng") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_PNG_CFLAGS=`$PKG_CONFIG --cflags "libpng" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -35786,10 +35925,10 @@ pkg_cv_PNG_LIBS="$PNG_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libpng\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libpng\""; } >&5 ($PKG_CONFIG --exists --print-errors "libpng") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_PNG_LIBS=`$PKG_CONFIG --libs "libpng" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -35803,8 +35942,8 @@ if test $pkg_failed = yes; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -35830,10 +35969,10 @@ and PNG_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -35847,8 +35986,8 @@ else PNG_CFLAGS=$pkg_cv_PNG_CFLAGS PNG_LIBS=$pkg_cv_PNG_LIBS - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } fi @@ -36007,7 +36146,7 @@ done -printf '%s\n' "#define HAVE_LIBPNG 1" >>confdefs.h +printf "%s\n" "#define HAVE_LIBPNG 1" >>confdefs.h @@ -36018,17 +36157,17 @@ e) pkg_failed=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for libavif >= 0.8.2" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libavif >= 0.8.2" >&5 printf %s "checking for libavif >= 0.8.2... " >&6; } if test -n "$AVIF_CFLAGS"; then pkg_cv_AVIF_CFLAGS="$AVIF_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libavif >= 0.8.2\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libavif >= 0.8.2\""; } >&5 ($PKG_CONFIG --exists --print-errors "libavif >= 0.8.2") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_AVIF_CFLAGS=`$PKG_CONFIG --cflags "libavif >= 0.8.2" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -36042,10 +36181,10 @@ pkg_cv_AVIF_LIBS="$AVIF_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libavif >= 0.8.2\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libavif >= 0.8.2\""; } >&5 ($PKG_CONFIG --exists --print-errors "libavif >= 0.8.2") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_AVIF_LIBS=`$PKG_CONFIG --libs "libavif >= 0.8.2" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -36059,8 +36198,8 @@ if test $pkg_failed = yes; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -36086,10 +36225,10 @@ and AVIF_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -36103,8 +36242,8 @@ else AVIF_CFLAGS=$pkg_cv_AVIF_CFLAGS AVIF_LIBS=$pkg_cv_AVIF_LIBS - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } fi @@ -36263,10 +36402,10 @@ done -printf '%s\n' "#define HAVE_LIBAVIF 1" >>confdefs.h +printf "%s\n" "#define HAVE_LIBAVIF 1" >>confdefs.h -printf '%s\n' "#define HAVE_GD_AVIF 1" >>confdefs.h +printf "%s\n" "#define HAVE_GD_AVIF 1" >>confdefs.h ;; esac @@ -36280,17 +36419,17 @@ e) pkg_failed=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for libwebp >= 0.2.0" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libwebp >= 0.2.0" >&5 printf %s "checking for libwebp >= 0.2.0... " >&6; } if test -n "$WEBP_CFLAGS"; then pkg_cv_WEBP_CFLAGS="$WEBP_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libwebp >= 0.2.0\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libwebp >= 0.2.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "libwebp >= 0.2.0") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_WEBP_CFLAGS=`$PKG_CONFIG --cflags "libwebp >= 0.2.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -36304,10 +36443,10 @@ pkg_cv_WEBP_LIBS="$WEBP_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libwebp >= 0.2.0\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libwebp >= 0.2.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "libwebp >= 0.2.0") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_WEBP_LIBS=`$PKG_CONFIG --libs "libwebp >= 0.2.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -36321,8 +36460,8 @@ if test $pkg_failed = yes; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -36348,10 +36487,10 @@ and WEBP_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -36365,8 +36504,8 @@ else WEBP_CFLAGS=$pkg_cv_WEBP_CFLAGS WEBP_LIBS=$pkg_cv_WEBP_LIBS - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } fi @@ -36525,10 +36664,10 @@ done -printf '%s\n' "#define HAVE_LIBWEBP 1" >>confdefs.h +printf "%s\n" "#define HAVE_LIBWEBP 1" >>confdefs.h -printf '%s\n' "#define HAVE_GD_WEBP 1" >>confdefs.h +printf "%s\n" "#define HAVE_GD_WEBP 1" >>confdefs.h ;; esac @@ -36542,17 +36681,17 @@ e) pkg_failed=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for libjpeg" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libjpeg" >&5 printf %s "checking for libjpeg... " >&6; } if test -n "$JPEG_CFLAGS"; then pkg_cv_JPEG_CFLAGS="$JPEG_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libjpeg\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libjpeg\""; } >&5 ($PKG_CONFIG --exists --print-errors "libjpeg") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_JPEG_CFLAGS=`$PKG_CONFIG --cflags "libjpeg" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -36566,10 +36705,10 @@ pkg_cv_JPEG_LIBS="$JPEG_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libjpeg\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libjpeg\""; } >&5 ($PKG_CONFIG --exists --print-errors "libjpeg") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_JPEG_LIBS=`$PKG_CONFIG --libs "libjpeg" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -36583,8 +36722,8 @@ if test $pkg_failed = yes; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -36610,10 +36749,10 @@ and JPEG_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -36627,8 +36766,8 @@ else JPEG_CFLAGS=$pkg_cv_JPEG_CFLAGS JPEG_LIBS=$pkg_cv_JPEG_LIBS - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } fi @@ -36787,10 +36926,10 @@ done -printf '%s\n' "#define HAVE_LIBJPEG 1" >>confdefs.h +printf "%s\n" "#define HAVE_LIBJPEG 1" >>confdefs.h -printf '%s\n' "#define HAVE_GD_JPG 1" >>confdefs.h +printf "%s\n" "#define HAVE_GD_JPG 1" >>confdefs.h ;; esac @@ -36804,17 +36943,17 @@ e) pkg_failed=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for xpm" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for xpm" >&5 printf %s "checking for xpm... " >&6; } if test -n "$XPM_CFLAGS"; then pkg_cv_XPM_CFLAGS="$XPM_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xpm\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xpm\""; } >&5 ($PKG_CONFIG --exists --print-errors "xpm") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_XPM_CFLAGS=`$PKG_CONFIG --cflags "xpm" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -36828,10 +36967,10 @@ pkg_cv_XPM_LIBS="$XPM_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xpm\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xpm\""; } >&5 ($PKG_CONFIG --exists --print-errors "xpm") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_XPM_LIBS=`$PKG_CONFIG --libs "xpm" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -36845,8 +36984,8 @@ if test $pkg_failed = yes; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -36872,10 +37011,10 @@ and XPM_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -36889,8 +37028,8 @@ else XPM_CFLAGS=$pkg_cv_XPM_CFLAGS XPM_LIBS=$pkg_cv_XPM_LIBS - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } fi @@ -37049,10 +37188,10 @@ done -printf '%s\n' "#define HAVE_XPM 1" >>confdefs.h +printf "%s\n" "#define HAVE_XPM 1" >>confdefs.h -printf '%s\n' "#define HAVE_GD_XPM 1" >>confdefs.h +printf "%s\n" "#define HAVE_GD_XPM 1" >>confdefs.h ;; esac @@ -37066,17 +37205,17 @@ e) pkg_failed=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for freetype2" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for freetype2" >&5 printf %s "checking for freetype2... " >&6; } if test -n "$FREETYPE2_CFLAGS"; then pkg_cv_FREETYPE2_CFLAGS="$FREETYPE2_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"freetype2\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"freetype2\""; } >&5 ($PKG_CONFIG --exists --print-errors "freetype2") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_FREETYPE2_CFLAGS=`$PKG_CONFIG --cflags "freetype2" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -37090,10 +37229,10 @@ pkg_cv_FREETYPE2_LIBS="$FREETYPE2_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"freetype2\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"freetype2\""; } >&5 ($PKG_CONFIG --exists --print-errors "freetype2") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_FREETYPE2_LIBS=`$PKG_CONFIG --libs "freetype2" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -37107,8 +37246,8 @@ if test $pkg_failed = yes; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -37134,10 +37273,10 @@ and FREETYPE2_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -37151,8 +37290,8 @@ else FREETYPE2_CFLAGS=$pkg_cv_FREETYPE2_CFLAGS FREETYPE2_LIBS=$pkg_cv_FREETYPE2_LIBS - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } fi @@ -37311,10 +37450,10 @@ done -printf '%s\n' "#define HAVE_LIBFREETYPE 1" >>confdefs.h +printf "%s\n" "#define HAVE_LIBFREETYPE 1" >>confdefs.h -printf '%s\n' "#define HAVE_GD_FREETYPE 1" >>confdefs.h +printf "%s\n" "#define HAVE_GD_FREETYPE 1" >>confdefs.h ;; esac @@ -37325,10 +37464,10 @@ then : -printf '%s\n' "#define USE_GD_JISX0208 1" >>confdefs.h +printf "%s\n" "#define USE_GD_JISX0208 1" >>confdefs.h -printf '%s\n' "#define JISX0208 1" >>confdefs.h +printf "%s\n" "#define JISX0208 1" >>confdefs.h fi @@ -37469,7 +37608,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_GD 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_GD 1" >>confdefs.h fi fi @@ -37608,7 +37747,7 @@ - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether build works" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether build works" >&5 printf %s "checking whether build works... " >&6; } if test ${php_cv_lib_gd_works+y} then : @@ -37641,14 +37780,14 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_lib_gd_works" >&5 -printf '%s\n' "$php_cv_lib_gd_works" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_lib_gd_works" >&5 +printf "%s\n" "$php_cv_lib_gd_works" >&6; } if test "x$php_cv_lib_gd_works" = xyes then : else case e in #( - e) { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + e) { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "GD library build test failed. See 'config.log' for more details" "$LINENO" 5; } ;; esac @@ -37657,17 +37796,17 @@ extra_sources="gd_compat.c" pkg_failed=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for gdlib >= 2.1.0" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for gdlib >= 2.1.0" >&5 printf %s "checking for gdlib >= 2.1.0... " >&6; } if test -n "$GDLIB_CFLAGS"; then pkg_cv_GDLIB_CFLAGS="$GDLIB_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gdlib >= 2.1.0\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gdlib >= 2.1.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "gdlib >= 2.1.0") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GDLIB_CFLAGS=`$PKG_CONFIG --cflags "gdlib >= 2.1.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -37681,10 +37820,10 @@ pkg_cv_GDLIB_LIBS="$GDLIB_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gdlib >= 2.1.0\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gdlib >= 2.1.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "gdlib >= 2.1.0") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GDLIB_LIBS=`$PKG_CONFIG --libs "gdlib >= 2.1.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -37698,8 +37837,8 @@ if test $pkg_failed = yes; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -37725,10 +37864,10 @@ and GDLIB_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -37742,8 +37881,8 @@ else GDLIB_CFLAGS=$pkg_cv_GDLIB_CFLAGS GDLIB_LIBS=$pkg_cv_GDLIB_LIBS - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } fi @@ -37902,7 +38041,7 @@ done -printf '%s\n' "#define HAVE_LIBGD 1" >>confdefs.h +printf "%s\n" "#define HAVE_LIBGD 1" >>confdefs.h @@ -37916,7 +38055,7 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for working gdImageCreateFromPng in libgd" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working gdImageCreateFromPng in libgd" >&5 printf %s "checking for working gdImageCreateFromPng in libgd... " >&6; } if test ${php_cv_lib_gd_gdImageCreateFromPng+y} then : @@ -37961,11 +38100,11 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_lib_gd_gdImageCreateFromPng" >&5 -printf '%s\n' "$php_cv_lib_gd_gdImageCreateFromPng" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_lib_gd_gdImageCreateFromPng" >&5 +printf "%s\n" "$php_cv_lib_gd_gdImageCreateFromPng" >&6; } if test "x$php_cv_lib_gd_gdImageCreateFromPng" = xyes then : - printf '%s\n' "#define HAVE_GD_PNG 1" >>confdefs.h + printf "%s\n" "#define HAVE_GD_PNG 1" >>confdefs.h fi ac_ext=c @@ -37989,7 +38128,7 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for working gdImageCreateFromAvif in libgd" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working gdImageCreateFromAvif in libgd" >&5 printf %s "checking for working gdImageCreateFromAvif in libgd... " >&6; } if test ${php_cv_lib_gd_gdImageCreateFromAvif+y} then : @@ -38034,11 +38173,11 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_lib_gd_gdImageCreateFromAvif" >&5 -printf '%s\n' "$php_cv_lib_gd_gdImageCreateFromAvif" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_lib_gd_gdImageCreateFromAvif" >&5 +printf "%s\n" "$php_cv_lib_gd_gdImageCreateFromAvif" >&6; } if test "x$php_cv_lib_gd_gdImageCreateFromAvif" = xyes then : - printf '%s\n' "#define HAVE_GD_AVIF 1" >>confdefs.h + printf "%s\n" "#define HAVE_GD_AVIF 1" >>confdefs.h fi ac_ext=c @@ -38062,7 +38201,7 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for working gdImageCreateFromWebp in libgd" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working gdImageCreateFromWebp in libgd" >&5 printf %s "checking for working gdImageCreateFromWebp in libgd... " >&6; } if test ${php_cv_lib_gd_gdImageCreateFromWebp+y} then : @@ -38107,11 +38246,11 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_lib_gd_gdImageCreateFromWebp" >&5 -printf '%s\n' "$php_cv_lib_gd_gdImageCreateFromWebp" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_lib_gd_gdImageCreateFromWebp" >&5 +printf "%s\n" "$php_cv_lib_gd_gdImageCreateFromWebp" >&6; } if test "x$php_cv_lib_gd_gdImageCreateFromWebp" = xyes then : - printf '%s\n' "#define HAVE_GD_WEBP 1" >>confdefs.h + printf "%s\n" "#define HAVE_GD_WEBP 1" >>confdefs.h fi ac_ext=c @@ -38135,7 +38274,7 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for working gdImageCreateFromJpeg in libgd" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working gdImageCreateFromJpeg in libgd" >&5 printf %s "checking for working gdImageCreateFromJpeg in libgd... " >&6; } if test ${php_cv_lib_gd_gdImageCreateFromJpeg+y} then : @@ -38180,11 +38319,11 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_lib_gd_gdImageCreateFromJpeg" >&5 -printf '%s\n' "$php_cv_lib_gd_gdImageCreateFromJpeg" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_lib_gd_gdImageCreateFromJpeg" >&5 +printf "%s\n" "$php_cv_lib_gd_gdImageCreateFromJpeg" >&6; } if test "x$php_cv_lib_gd_gdImageCreateFromJpeg" = xyes then : - printf '%s\n' "#define HAVE_GD_JPG 1" >>confdefs.h + printf "%s\n" "#define HAVE_GD_JPG 1" >>confdefs.h fi ac_ext=c @@ -38208,7 +38347,7 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for working gdImageCreateFromXpm in libgd" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working gdImageCreateFromXpm in libgd" >&5 printf %s "checking for working gdImageCreateFromXpm in libgd... " >&6; } if test ${php_cv_lib_gd_gdImageCreateFromXpm+y} then : @@ -38253,11 +38392,11 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_lib_gd_gdImageCreateFromXpm" >&5 -printf '%s\n' "$php_cv_lib_gd_gdImageCreateFromXpm" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_lib_gd_gdImageCreateFromXpm" >&5 +printf "%s\n" "$php_cv_lib_gd_gdImageCreateFromXpm" >&6; } if test "x$php_cv_lib_gd_gdImageCreateFromXpm" = xyes then : - printf '%s\n' "#define HAVE_GD_XPM 1" >>confdefs.h + printf "%s\n" "#define HAVE_GD_XPM 1" >>confdefs.h fi ac_ext=c @@ -38281,7 +38420,7 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for working gdImageCreateFromBmp in libgd" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working gdImageCreateFromBmp in libgd" >&5 printf %s "checking for working gdImageCreateFromBmp in libgd... " >&6; } if test ${php_cv_lib_gd_gdImageCreateFromBmp+y} then : @@ -38326,11 +38465,11 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_lib_gd_gdImageCreateFromBmp" >&5 -printf '%s\n' "$php_cv_lib_gd_gdImageCreateFromBmp" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_lib_gd_gdImageCreateFromBmp" >&5 +printf "%s\n" "$php_cv_lib_gd_gdImageCreateFromBmp" >&6; } if test "x$php_cv_lib_gd_gdImageCreateFromBmp" = xyes then : - printf '%s\n' "#define HAVE_GD_BMP 1" >>confdefs.h + printf "%s\n" "#define HAVE_GD_BMP 1" >>confdefs.h fi ac_ext=c @@ -38354,7 +38493,7 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for working gdImageCreateFromTga in libgd" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working gdImageCreateFromTga in libgd" >&5 printf %s "checking for working gdImageCreateFromTga in libgd... " >&6; } if test ${php_cv_lib_gd_gdImageCreateFromTga+y} then : @@ -38399,11 +38538,11 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_lib_gd_gdImageCreateFromTga" >&5 -printf '%s\n' "$php_cv_lib_gd_gdImageCreateFromTga" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_lib_gd_gdImageCreateFromTga" >&5 +printf "%s\n" "$php_cv_lib_gd_gdImageCreateFromTga" >&6; } if test "x$php_cv_lib_gd_gdImageCreateFromTga" = xyes then : - printf '%s\n' "#define HAVE_GD_TGA 1" >>confdefs.h + printf "%s\n" "#define HAVE_GD_TGA 1" >>confdefs.h fi ac_ext=c @@ -38534,7 +38673,7 @@ esac done - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for gdFontCacheShutdown in -lgd" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for gdFontCacheShutdown in -lgd" >&5 printf %s "checking for gdFontCacheShutdown in -lgd... " >&6; } if test ${ac_cv_lib_gd_gdFontCacheShutdown+y} then : @@ -38575,14 +38714,14 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gd_gdFontCacheShutdown" >&5 -printf '%s\n' "$ac_cv_lib_gd_gdFontCacheShutdown" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gd_gdFontCacheShutdown" >&5 +printf "%s\n" "$ac_cv_lib_gd_gdFontCacheShutdown" >&6; } if test "x$ac_cv_lib_gd_gdFontCacheShutdown" = xyes then : LDFLAGS=$save_old_LDFLAGS ext_shared=$save_ext_shared - printf '%s\n' "#define HAVE_GD_FREETYPE 1" >>confdefs.h + printf "%s\n" "#define HAVE_GD_FREETYPE 1" >>confdefs.h else case e in #( @@ -38713,7 +38852,7 @@ esac done - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for gdVersionString in -lgd" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for gdVersionString in -lgd" >&5 printf %s "checking for gdVersionString in -lgd... " >&6; } if test ${ac_cv_lib_gd_gdVersionString+y} then : @@ -38754,15 +38893,15 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gd_gdVersionString" >&5 -printf '%s\n' "$ac_cv_lib_gd_gdVersionString" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gd_gdVersionString" >&5 +printf "%s\n" "$ac_cv_lib_gd_gdVersionString" >&6; } if test "x$ac_cv_lib_gd_gdVersionString" = xyes then : LDFLAGS=$save_old_LDFLAGS ext_shared=$save_ext_shared -printf '%s\n' "#define HAVE_GD_LIBVERSION 1" >>confdefs.h +printf "%s\n" "#define HAVE_GD_LIBVERSION 1" >>confdefs.h else case e in #( @@ -38893,7 +39032,7 @@ esac done - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for gdImageGetInterpolationMethod in -lgd" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for gdImageGetInterpolationMethod in -lgd" >&5 printf %s "checking for gdImageGetInterpolationMethod in -lgd... " >&6; } if test ${ac_cv_lib_gd_gdImageGetInterpolationMethod+y} then : @@ -38934,15 +39073,15 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gd_gdImageGetInterpolationMethod" >&5 -printf '%s\n' "$ac_cv_lib_gd_gdImageGetInterpolationMethod" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gd_gdImageGetInterpolationMethod" >&5 +printf "%s\n" "$ac_cv_lib_gd_gdImageGetInterpolationMethod" >&6; } if test "x$ac_cv_lib_gd_gdImageGetInterpolationMethod" = xyes then : LDFLAGS=$save_old_LDFLAGS ext_shared=$save_ext_shared -printf '%s\n' "#define HAVE_GD_GET_INTERPOLATION 1" >>confdefs.h +printf "%s\n" "#define HAVE_GD_GET_INTERPOLATION 1" >>confdefs.h else case e in #( @@ -39092,7 +39231,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_GD 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_GD 1" >>confdefs.h fi fi @@ -39345,7 +39484,7 @@ esac done - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for gdImageCreate in -lgd" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for gdImageCreate in -lgd" >&5 printf %s "checking for gdImageCreate in -lgd... " >&6; } if test ${ac_cv_lib_gd_gdImageCreate+y} then : @@ -39386,8 +39525,8 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gd_gdImageCreate" >&5 -printf '%s\n' "$ac_cv_lib_gd_gdImageCreate" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gd_gdImageCreate" >&5 +printf "%s\n" "$ac_cv_lib_gd_gdImageCreate" >&6; } if test "x$ac_cv_lib_gd_gdImageCreate" = xyes then : @@ -39400,8 +39539,8 @@ LDFLAGS=$save_old_LDFLAGS ext_shared=$save_ext_shared unset ac_cv_lib_gd_gdImageCreate - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "GD library build test failed. See 'config.log' for more details" "$LINENO" 5; } ;; @@ -39421,7 +39560,7 @@ php_with_gettext=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for GNU gettext support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU gettext support" >&5 printf %s "checking for GNU gettext support... " >&6; } # Check whether --with-gettext was given. @@ -39459,8 +39598,8 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -39483,7 +39622,7 @@ O_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS -L$GETTEXT_LIBDIR" - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for bindtextdomain in -lintl" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for bindtextdomain in -lintl" >&5 printf %s "checking for bindtextdomain in -lintl... " >&6; } if test ${ac_cv_lib_intl_bindtextdomain+y} then : @@ -39524,8 +39663,8 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_bindtextdomain" >&5 -printf '%s\n' "$ac_cv_lib_intl_bindtextdomain" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_bindtextdomain" >&5 +printf "%s\n" "$ac_cv_lib_intl_bindtextdomain" >&6; } if test "x$ac_cv_lib_intl_bindtextdomain" = xyes then : @@ -39533,7 +39672,7 @@ GETTEXT_CHECK_IN_LIB=intl else case e in #( - e) { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for bindtextdomain in -lc" >&5 + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for bindtextdomain in -lc" >&5 printf %s "checking for bindtextdomain in -lc... " >&6; } if test ${ac_cv_lib_c_bindtextdomain+y} then : @@ -39574,16 +39713,16 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_c_bindtextdomain" >&5 -printf '%s\n' "$ac_cv_lib_c_bindtextdomain" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_c_bindtextdomain" >&5 +printf "%s\n" "$ac_cv_lib_c_bindtextdomain" >&6; } if test "x$ac_cv_lib_c_bindtextdomain" = xyes then : GETTEXT_LIBS= GETTEXT_CHECK_IN_LIB=c - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: symlinking en_US.UTF-8 messages to en_US in case you are on musl" >&5 -printf '%s\n' "$as_me: symlinking en_US.UTF-8 messages to en_US in case you are on musl" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: symlinking en_US.UTF-8 messages to en_US in case you are on musl" >&5 +printf "%s\n" "$as_me: symlinking en_US.UTF-8 messages to en_US in case you are on musl" >&6;} _linkdest="${srcdir%/}"/ext/gettext/tests/locale/en_US if test ! -e "${_linkdest}" then : @@ -39594,8 +39733,8 @@ else case e in #( - e) { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + e) { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "Unable to find required intl library for gettext. See 'config.log' for more details" "$LINENO" 5; } ;; esac @@ -39606,7 +39745,7 @@ -printf '%s\n' "#define HAVE_LIBINTL 1" >>confdefs.h +printf "%s\n" "#define HAVE_LIBINTL 1" >>confdefs.h ext_builddir=ext/gettext @@ -39743,7 +39882,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_GETTEXT 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_GETTEXT 1" >>confdefs.h fi fi @@ -39900,8 +40039,8 @@ done - as_ac_Lib=`printf '%s\n' "ac_cv_lib_$GETTEXT_CHECK_IN_LIB""_ngettext" | sed "$as_sed_sh"` -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for ngettext in -l$GETTEXT_CHECK_IN_LIB" >&5 + as_ac_Lib=`printf "%s\n" "ac_cv_lib_$GETTEXT_CHECK_IN_LIB""_ngettext" | sed "$as_sed_sh"` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ngettext in -l$GETTEXT_CHECK_IN_LIB" >&5 printf %s "checking for ngettext in -l$GETTEXT_CHECK_IN_LIB... " >&6; } if eval test \${$as_ac_Lib+y} then : @@ -39943,17 +40082,17 @@ esac fi eval ac_res=\$$as_ac_Lib - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf '%s\n' "$ac_res" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } if eval test \"x\$"$as_ac_Lib"\" = x"yes" then : -printf '%s\n' "#define HAVE_NGETTEXT 1" >>confdefs.h +printf "%s\n" "#define HAVE_NGETTEXT 1" >>confdefs.h fi - as_ac_Lib=`printf '%s\n' "ac_cv_lib_$GETTEXT_CHECK_IN_LIB""_dngettext" | sed "$as_sed_sh"` -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for dngettext in -l$GETTEXT_CHECK_IN_LIB" >&5 + as_ac_Lib=`printf "%s\n" "ac_cv_lib_$GETTEXT_CHECK_IN_LIB""_dngettext" | sed "$as_sed_sh"` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dngettext in -l$GETTEXT_CHECK_IN_LIB" >&5 printf %s "checking for dngettext in -l$GETTEXT_CHECK_IN_LIB... " >&6; } if eval test \${$as_ac_Lib+y} then : @@ -39995,17 +40134,17 @@ esac fi eval ac_res=\$$as_ac_Lib - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf '%s\n' "$ac_res" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } if eval test \"x\$"$as_ac_Lib"\" = x"yes" then : -printf '%s\n' "#define HAVE_DNGETTEXT 1" >>confdefs.h +printf "%s\n" "#define HAVE_DNGETTEXT 1" >>confdefs.h fi - as_ac_Lib=`printf '%s\n' "ac_cv_lib_$GETTEXT_CHECK_IN_LIB""_dcngettext" | sed "$as_sed_sh"` -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for dcngettext in -l$GETTEXT_CHECK_IN_LIB" >&5 + as_ac_Lib=`printf "%s\n" "ac_cv_lib_$GETTEXT_CHECK_IN_LIB""_dcngettext" | sed "$as_sed_sh"` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dcngettext in -l$GETTEXT_CHECK_IN_LIB" >&5 printf %s "checking for dcngettext in -l$GETTEXT_CHECK_IN_LIB... " >&6; } if eval test \${$as_ac_Lib+y} then : @@ -40047,17 +40186,17 @@ esac fi eval ac_res=\$$as_ac_Lib - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf '%s\n' "$ac_res" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } if eval test \"x\$"$as_ac_Lib"\" = x"yes" then : -printf '%s\n' "#define HAVE_DCNGETTEXT 1" >>confdefs.h +printf "%s\n" "#define HAVE_DCNGETTEXT 1" >>confdefs.h fi - as_ac_Lib=`printf '%s\n' "ac_cv_lib_$GETTEXT_CHECK_IN_LIB""_bind_textdomain_codeset" | sed "$as_sed_sh"` -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for bind_textdomain_codeset in -l$GETTEXT_CHECK_IN_LIB" >&5 + as_ac_Lib=`printf "%s\n" "ac_cv_lib_$GETTEXT_CHECK_IN_LIB""_bind_textdomain_codeset" | sed "$as_sed_sh"` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for bind_textdomain_codeset in -l$GETTEXT_CHECK_IN_LIB" >&5 printf %s "checking for bind_textdomain_codeset in -l$GETTEXT_CHECK_IN_LIB... " >&6; } if eval test \${$as_ac_Lib+y} then : @@ -40099,12 +40238,12 @@ esac fi eval ac_res=\$$as_ac_Lib - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf '%s\n' "$ac_res" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } if eval test \"x\$"$as_ac_Lib"\" = x"yes" then : -printf '%s\n' "#define HAVE_BIND_TEXTDOMAIN_CODESET 1" >>confdefs.h +printf "%s\n" "#define HAVE_BIND_TEXTDOMAIN_CODESET 1" >>confdefs.h fi @@ -40229,7 +40368,7 @@ php_with_gmp=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for GNU MP support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU MP support" >&5 printf %s "checking for GNU MP support... " >&6; } # Check whether --with-gmp was given. @@ -40267,8 +40406,8 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -40279,17 +40418,17 @@ then : pkg_failed=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for gmp >= 4.2" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for gmp >= 4.2" >&5 printf %s "checking for gmp >= 4.2... " >&6; } if test -n "$GMP_CFLAGS"; then pkg_cv_GMP_CFLAGS="$GMP_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gmp >= 4.2\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gmp >= 4.2\""; } >&5 ($PKG_CONFIG --exists --print-errors "gmp >= 4.2") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GMP_CFLAGS=`$PKG_CONFIG --cflags "gmp >= 4.2" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -40303,10 +40442,10 @@ pkg_cv_GMP_LIBS="$GMP_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gmp >= 4.2\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gmp >= 4.2\""; } >&5 ($PKG_CONFIG --exists --print-errors "gmp >= 4.2") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GMP_LIBS=`$PKG_CONFIG --libs "gmp >= 4.2" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -40320,8 +40459,8 @@ if test $pkg_failed = yes; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -40338,14 +40477,14 @@ : elif test $pkg_failed = untried; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } : else GMP_CFLAGS=$pkg_cv_GMP_CFLAGS GMP_LIBS=$pkg_cv_GMP_LIBS - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } gmp_found=yes fi fi @@ -40385,8 +40524,8 @@ if test "x$gmp_check" = xno then : - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? " The required GNU MP library version 4.2 or greater not found. @@ -40702,7 +40841,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_GMP 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_GMP 1" >>confdefs.h fi fi @@ -40824,7 +40963,7 @@ PHP_VAR_SUBST="$PHP_VAR_SUBST GMP_SHARED_LIBADD" -printf '%s\n' "#define HAVE_GMP 1" >>confdefs.h +printf "%s\n" "#define HAVE_GMP 1" >>confdefs.h fi @@ -40834,7 +40973,7 @@ php_with_mhash=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for mhash support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mhash support" >&5 printf %s "checking for mhash support... " >&6; } # Check whether --with-mhash was given. @@ -40872,8 +41011,8 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -40883,10 +41022,10 @@ else case e in #( e) - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: WARNING: The --with-mhash option and mhash* functions are deprecated as of PHP 8.1.0" >&5 -printf '%s\n' "$as_me: WARNING: The --with-mhash option and mhash* functions are deprecated as of PHP 8.1.0" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: The --with-mhash option and mhash* functions are deprecated as of PHP 8.1.0" >&5 +printf "%s\n" "$as_me: WARNING: The --with-mhash option and mhash* functions are deprecated as of PHP 8.1.0" >&2;} -printf '%s\n' "#define PHP_MHASH_BC 1" >>confdefs.h +printf "%s\n" "#define PHP_MHASH_BC 1" >>confdefs.h ;; esac @@ -40897,10 +41036,10 @@ EXT_HASH_SHA3_SOURCES= -printf '%s\n' "#define HAVE_SLOW_HASH3 1" >>confdefs.h +printf "%s\n" "#define HAVE_SLOW_HASH3 1" >>confdefs.h - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: WARNING: Using SHA3 slow implementation on bigendian" >&5 -printf '%s\n' "$as_me: WARNING: Using SHA3 slow implementation on bigendian" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Using SHA3 slow implementation on bigendian" >&5 +printf "%s\n" "$as_me: WARNING: Using SHA3 slow implementation on bigendian" >&2;} SHA3_DIR= else case e in #( @@ -40909,7 +41048,7 @@ # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like 'int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking size of long" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of long" >&5 printf %s "checking size of long... " >&6; } if test ${ac_cv_sizeof_long+y} then : @@ -40919,30 +41058,37 @@ then : else case e in #( - e) ac_cv_sizeof_long=0 ;; + e) if test "$ac_cv_type_long" = yes; then + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} +as_fn_error 77 "cannot compute sizeof (long) +See 'config.log' for more details" "$LINENO" 5; } + else + ac_cv_sizeof_long=0 + fi ;; esac fi ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long" >&5 -printf '%s\n' "$ac_cv_sizeof_long" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long" >&5 +printf "%s\n" "$ac_cv_sizeof_long" >&6; } -printf '%s\n' "#define SIZEOF_LONG $ac_cv_sizeof_long" >>confdefs.h +printf "%s\n" "#define SIZEOF_LONG $ac_cv_sizeof_long" >>confdefs.h - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking if we're at 64-bit platform" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if we're at 64-bit platform" >&5 printf %s "checking if we're at 64-bit platform... " >&6; } if test "$ac_cv_sizeof_long" -eq 4 then : - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } SHA3_DIR="sha3/generic32lc" SHA3_OPT_SRC="$SHA3_DIR/KeccakP-1600-inplace32BI.c" - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether the C compiler accepts -Wno-implicit-fallthrough" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler accepts -Wno-implicit-fallthrough" >&5 printf %s "checking whether the C compiler accepts -Wno-implicit-fallthrough... " >&6; } if test ${ax_cv_check_cflags__Werror__Wno_implicit_fallthrough+y} then : @@ -40973,8 +41119,8 @@ CFLAGS=$ax_check_save_flags ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags__Werror__Wno_implicit_fallthrough" >&5 -printf '%s\n' "$ax_cv_check_cflags__Werror__Wno_implicit_fallthrough" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags__Werror__Wno_implicit_fallthrough" >&5 +printf "%s\n" "$ax_cv_check_cflags__Werror__Wno_implicit_fallthrough" >&6; } if test "x$ax_cv_check_cflags__Werror__Wno_implicit_fallthrough" = xyes then : PHP_HASH_CFLAGS="$PHP_HASH_CFLAGS -Wno-implicit-fallthrough" @@ -40986,8 +41132,8 @@ else case e in #( e) - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } SHA3_DIR="sha3/generic64lc" SHA3_OPT_SRC="$SHA3_DIR/KeccakP-1600-opt64.c" ;; @@ -41134,7 +41280,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_HASH 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_HASH 1" >>confdefs.h fi fi @@ -41286,7 +41432,7 @@ php_with_iconv=yes -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for iconv support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for iconv support" >&5 printf %s "checking for iconv support... " >&6; } # Check whether --with-iconv was given. @@ -41324,8 +41470,8 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -41350,7 +41496,7 @@ if test "x$ac_cv_func_libiconv" = xyes then : - printf '%s\n' "#define HAVE_LIBICONV 1" >>confdefs.h + printf "%s\n" "#define HAVE_LIBICONV 1" >>confdefs.h found_iconv=yes @@ -41507,8 +41653,8 @@ esac done - as_ac_Lib=`printf '%s\n' "ac_cv_lib_$iconv_lib_name""_libiconv" | sed "$as_sed_sh"` -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for libiconv in -l$iconv_lib_name" >&5 + as_ac_Lib=`printf "%s\n" "ac_cv_lib_$iconv_lib_name""_libiconv" | sed "$as_sed_sh"` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libiconv in -l$iconv_lib_name" >&5 printf %s "checking for libiconv in -l$iconv_lib_name... " >&6; } if eval test \${$as_ac_Lib+y} then : @@ -41550,8 +41696,8 @@ esac fi eval ac_res=\$$as_ac_Lib - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf '%s\n' "$ac_res" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } if eval test \"x\$"$as_ac_Lib"\" = x"yes" then : @@ -41559,10 +41705,10 @@ ext_shared=$save_ext_shared found_iconv=yes - printf '%s\n' "#define HAVE_LIBICONV 1" >>confdefs.h + printf "%s\n" "#define HAVE_LIBICONV 1" >>confdefs.h -printf '%s\n' "#define ICONV_ALIASED_LIBICONV 1" >>confdefs.h +printf "%s\n" "#define ICONV_ALIASED_LIBICONV 1" >>confdefs.h @@ -41689,8 +41835,8 @@ esac done - as_ac_Lib=`printf '%s\n' "ac_cv_lib_$iconv_lib_name""_iconv" | sed "$as_sed_sh"` -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for iconv in -l$iconv_lib_name" >&5 + as_ac_Lib=`printf "%s\n" "ac_cv_lib_$iconv_lib_name""_iconv" | sed "$as_sed_sh"` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for iconv in -l$iconv_lib_name" >&5 printf %s "checking for iconv in -l$iconv_lib_name... " >&6; } if eval test \${$as_ac_Lib+y} then : @@ -41732,8 +41878,8 @@ esac fi eval ac_res=\$$as_ac_Lib - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf '%s\n' "$ac_res" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } if eval test \"x\$"$as_ac_Lib"\" = x"yes" then : @@ -41902,8 +42048,8 @@ fi -else { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} +else { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "The iconv not found. See 'config.log' for more details" "$LINENO" 5; } fi @@ -41914,7 +42060,7 @@ LIBS="$LIBS $ICONV_SHARED_LIBADD" CFLAGS="$INCLUDES $CFLAGS" - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for iconv implementation" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for iconv implementation" >&5 printf %s "checking for iconv implementation... " >&6; } if test ${php_cv_iconv_implementation+y} then : @@ -42016,8 +42162,8 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_iconv_implementation" >&5 -printf '%s\n' "$php_cv_iconv_implementation" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_iconv_implementation" >&5 +printf "%s\n" "$php_cv_iconv_implementation" >&6; } @@ -42025,34 +42171,34 @@ glibc) : -printf '%s\n' "#define HAVE_GLIBC_ICONV 1" >>confdefs.h +printf "%s\n" "#define HAVE_GLIBC_ICONV 1" >>confdefs.h - printf '%s\n' "#define PHP_ICONV_IMPL \"glibc\"" >>confdefs.h + printf "%s\n" "#define PHP_ICONV_IMPL \"glibc\"" >>confdefs.h ;; #( "GNU libiconv") : - printf '%s\n' "#define PHP_ICONV_IMPL \"libiconv\"" >>confdefs.h + printf "%s\n" "#define PHP_ICONV_IMPL \"libiconv\"" >>confdefs.h - printf '%s\n' "#define HAVE_LIBICONV 1" >>confdefs.h + printf "%s\n" "#define HAVE_LIBICONV 1" >>confdefs.h ;; #( BSD) : - printf '%s\n' "#define PHP_ICONV_IMPL \"BSD iconv\"" >>confdefs.h + printf "%s\n" "#define PHP_ICONV_IMPL \"BSD iconv\"" >>confdefs.h ;; #( IBM) : -printf '%s\n' "#define HAVE_IBM_ICONV 1" >>confdefs.h +printf "%s\n" "#define HAVE_IBM_ICONV 1" >>confdefs.h - printf '%s\n' "#define PHP_ICONV_IMPL \"IBM iconv\"" >>confdefs.h + printf "%s\n" "#define PHP_ICONV_IMPL \"IBM iconv\"" >>confdefs.h ;; #( *) : ;; esac - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking if iconv supports errno" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if iconv supports errno" >&5 printf %s "checking if iconv supports errno... " >&6; } if test ${php_cv_iconv_errno+y} then : @@ -42097,20 +42243,20 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_iconv_errno" >&5 -printf '%s\n' "$php_cv_iconv_errno" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_iconv_errno" >&5 +printf "%s\n" "$php_cv_iconv_errno" >&6; } if test "x$php_cv_iconv_errno" = xyes then : else case e in #( - e) { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + e) { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "The iconv check failed, 'errno' is missing. See 'config.log' for more details" "$LINENO" 5; } ;; esac fi - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking if iconv input parameter is const (non-standard)" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if iconv input parameter is const (non-standard)" >&5 printf %s "checking if iconv input parameter is const (non-standard)... " >&6; } if test ${php_cv_iconv_const+y} then : @@ -42134,14 +42280,14 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_iconv_const" >&5 -printf '%s\n' "$php_cv_iconv_const" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_iconv_const" >&5 +printf "%s\n" "$php_cv_iconv_const" >&6; } if test "x$php_cv_iconv_const" = xnon-const then : php_cv_iconv_const= fi - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking if iconv supports //IGNORE" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if iconv supports //IGNORE" >&5 printf %s "checking if iconv supports //IGNORE... " >&6; } if test ${php_cv_iconv_ignore+y} then : @@ -42188,12 +42334,12 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_iconv_ignore" >&5 -printf '%s\n' "$php_cv_iconv_ignore" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_iconv_ignore" >&5 +printf "%s\n" "$php_cv_iconv_ignore" >&6; } if test "x$php_cv_iconv_ignore" = xno then : -printf '%s\n' "#define ICONV_BROKEN_IGNORE 1" >>confdefs.h +printf "%s\n" "#define ICONV_BROKEN_IGNORE 1" >>confdefs.h fi @@ -42201,7 +42347,7 @@ CFLAGS=$save_CFLAGS -printf '%s\n' "#define HAVE_ICONV 1" >>confdefs.h +printf "%s\n" "#define HAVE_ICONV 1" >>confdefs.h @@ -42339,7 +42485,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_ICONV 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_ICONV 1" >>confdefs.h fi fi @@ -42485,7 +42631,7 @@ php_enable_intl=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to enable internationalization support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable internationalization support" >&5 printf %s "checking whether to enable internationalization support... " >&6; } # Check whether --enable-intl was given. if test ${enable_intl+y} @@ -42522,8 +42668,8 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -42532,17 +42678,17 @@ pkg_failed=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for icu-uc >= 50.1 icu-io icu-i18n" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for icu-uc >= 50.1 icu-io icu-i18n" >&5 printf %s "checking for icu-uc >= 50.1 icu-io icu-i18n... " >&6; } if test -n "$ICU_CFLAGS"; then pkg_cv_ICU_CFLAGS="$ICU_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"icu-uc >= 50.1 icu-io icu-i18n\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"icu-uc >= 50.1 icu-io icu-i18n\""; } >&5 ($PKG_CONFIG --exists --print-errors "icu-uc >= 50.1 icu-io icu-i18n") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_ICU_CFLAGS=`$PKG_CONFIG --cflags "icu-uc >= 50.1 icu-io icu-i18n" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -42556,10 +42702,10 @@ pkg_cv_ICU_LIBS="$ICU_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"icu-uc >= 50.1 icu-io icu-i18n\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"icu-uc >= 50.1 icu-io icu-i18n\""; } >&5 ($PKG_CONFIG --exists --print-errors "icu-uc >= 50.1 icu-io icu-i18n") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_ICU_LIBS=`$PKG_CONFIG --libs "icu-uc >= 50.1 icu-io icu-i18n" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -42573,8 +42719,8 @@ if test $pkg_failed = yes; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -42600,10 +42746,10 @@ and ICU_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -42617,8 +42763,8 @@ else ICU_CFLAGS=$pkg_cv_ICU_CFLAGS ICU_LIBS=$pkg_cv_ICU_LIBS - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } fi @@ -42925,7 +43071,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_INTL 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_INTL 1" >>confdefs.h fi fi @@ -43084,7 +43230,7 @@ do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_CXX+y} then : @@ -43105,7 +43251,7 @@ for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" - printf '%s\n' "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -43117,11 +43263,11 @@ fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 -printf '%s\n' "$CXX" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 +printf "%s\n" "$CXX" >&6; } else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -43134,7 +43280,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_CXX+y} then : @@ -43155,7 +43301,7 @@ for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CXX="$ac_prog" - printf '%s\n' "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -43167,11 +43313,11 @@ fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 -printf '%s\n' "$ac_ct_CXX" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 +printf "%s\n" "$ac_ct_CXX" >&6; } else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -43183,8 +43329,8 @@ else case $cross_compiling:$ac_tool_warned in yes:) -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -printf '%s\n' "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CXX=$ac_ct_CXX @@ -43194,7 +43340,7 @@ fi fi # Provide some information about the compiler. -printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 +printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do @@ -43204,7 +43350,7 @@ *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -printf '%s\n' "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then @@ -43214,11 +43360,11 @@ cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C++" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C++" >&5 printf %s "checking whether the compiler supports GNU C++... " >&6; } if test ${ac_cv_cxx_compiler_gnu+y} then : @@ -43250,8 +43396,8 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 -printf '%s\n' "$ac_cv_cxx_compiler_gnu" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_cxx_compiler_gnu" >&6; } ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test $ac_compiler_gnu = yes; then @@ -43261,7 +43407,7 @@ fi ac_test_CXXFLAGS=${CXXFLAGS+y} ac_save_CXXFLAGS=$CXXFLAGS -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 printf %s "checking whether $CXX accepts -g... " >&6; } if test ${ac_cv_prog_cxx_g+y} then : @@ -43329,8 +43475,8 @@ ac_cxx_werror_flag=$ac_save_cxx_werror_flag ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 -printf '%s\n' "$ac_cv_prog_cxx_g" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 +printf "%s\n" "$ac_cv_prog_cxx_g" >&6; } if test $ac_test_CXXFLAGS; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then @@ -43346,6 +43492,106 @@ CXXFLAGS= fi fi +ac_prog_cxx_stdcxx=no +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++11 features" >&5 +printf %s "checking for $CXX option to enable C++11 features... " >&6; } +if test ${ac_cv_prog_cxx_cxx11+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) ac_cv_prog_cxx_cxx11=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx11_program +_ACEOF +for ac_arg in '' -std=gnu++11 -std=gnu++0x -std=c++11 -std=c++0x -qlanglvl=extended0x -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx11" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX ;; +esac +fi + +if test "x$ac_cv_prog_cxx_cxx11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else case e in #( + e) if test "x$ac_cv_prog_cxx_cxx11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else case e in #( + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx11" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx11" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx11" ;; +esac +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx11 + ac_prog_cxx_stdcxx=cxx11 ;; +esac +fi +fi +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++98 features" >&5 +printf %s "checking for $CXX option to enable C++98 features... " >&6; } +if test ${ac_cv_prog_cxx_cxx98+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) ac_cv_prog_cxx_cxx98=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx98_program +_ACEOF +for ac_arg in '' -std=gnu++98 -std=c++98 -qlanglvl=extended -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx98=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx98" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX ;; +esac +fi + +if test "x$ac_cv_prog_cxx_cxx98" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else case e in #( + e) if test "x$ac_cv_prog_cxx_cxx98" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else case e in #( + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx98" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx98" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx98" ;; +esac +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx98 + ac_prog_cxx_stdcxx=cxx98 ;; +esac +fi +fi + ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -43357,7 +43603,7 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 printf %s "checking how to run the C++ preprocessor... " >&6; } if test -z "$CXXCPP"; then if test ${ac_cv_prog_CXXCPP+y} @@ -43424,8 +43670,8 @@ else ac_cv_prog_CXXCPP=$CXXCPP fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 -printf '%s\n' "$CXXCPP" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 +printf "%s\n" "$CXXCPP" >&6; } ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do @@ -43473,8 +43719,8 @@ then : else case e in #( - e) { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + e) { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check See 'config.log' for more details" "$LINENO" 5; } ;; esac @@ -43501,14 +43747,14 @@ fi - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking if intl requires -std=gnu++17" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if intl requires -std=gnu++17" >&5 printf %s "checking if intl requires -std=gnu++17... " >&6; } if $PKG_CONFIG icu-uc --atleast-version=74 then : - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } ax_cxx_compile_alternatives="17 1z" ax_cxx_compile_cxx17_required=true ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -43518,8 +43764,8 @@ for alternative in ${ax_cxx_compile_alternatives}; do for switch in -std=c++${alternative} +std=c++${alternative} "-h std=c++${alternative}"; do - cachevar=`printf '%s\n' "ax_cv_cxx_compile_cxx17_$switch" | sed "$as_sed_sh"` - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++17 features with $switch" >&5 + cachevar=`printf "%s\n" "ax_cv_cxx_compile_cxx17_$switch" | sed "$as_sed_sh"` + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++17 features with $switch" >&5 printf %s "checking whether $CXX supports C++17 features with $switch... " >&6; } if eval test \${$cachevar+y} then : @@ -44328,8 +44574,8 @@ esac fi eval ac_res=\$$cachevar - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf '%s\n' "$ac_res" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } if eval test x\$$cachevar = xyes; then eval PHP_INTL_STDCXX="$switch" ac_success=yes @@ -44353,16 +44599,16 @@ fi fi if test x$ac_success = xno; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: No compiler with C++17 support was found" >&5 -printf '%s\n' "$as_me: No compiler with C++17 support was found" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: No compiler with C++17 support was found" >&5 +printf "%s\n" "$as_me: No compiler with C++17 support was found" >&6;} fi else case e in #( e) - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } ax_cxx_compile_alternatives="11 0x" ax_cxx_compile_cxx11_required=true ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -44372,8 +44618,8 @@ for alternative in ${ax_cxx_compile_alternatives}; do for switch in -std=c++${alternative} +std=c++${alternative} "-h std=c++${alternative}"; do - cachevar=`printf '%s\n' "ax_cv_cxx_compile_cxx11_$switch" | sed "$as_sed_sh"` - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++11 features with $switch" >&5 + cachevar=`printf "%s\n" "ax_cv_cxx_compile_cxx11_$switch" | sed "$as_sed_sh"` + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++11 features with $switch" >&5 printf %s "checking whether $CXX supports C++11 features with $switch... " >&6; } if eval test \${$cachevar+y} then : @@ -44684,8 +44930,8 @@ esac fi eval ac_res=\$$cachevar - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf '%s\n' "$ac_res" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } if eval test x\$$cachevar = xyes; then eval PHP_INTL_STDCXX="$switch" ac_success=yes @@ -44709,8 +44955,8 @@ fi fi if test x$ac_success = xno; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: No compiler with C++11 support was found" >&5 -printf '%s\n' "$as_me: No compiler with C++11 support was found" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: No compiler with C++11 support was found" >&5 +printf "%s\n" "$as_me: No compiler with C++11 support was found" >&6;} fi @@ -44983,7 +45229,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_JSON 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_JSON 1" >>confdefs.h fi fi @@ -45132,7 +45378,7 @@ php_with_ldap=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for LDAP support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for LDAP support" >&5 printf %s "checking for LDAP support... " >&6; } # Check whether --with-ldap was given. @@ -45170,8 +45416,8 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -45179,7 +45425,7 @@ php_with_ldap_sasl=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to build with LDAP Cyrus SASL support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build with LDAP Cyrus SASL support" >&5 printf %s "checking whether to build with LDAP Cyrus SASL support... " >&6; } # Check whether --with-ldap-sasl was given. @@ -45196,8 +45442,8 @@ ext_output=$PHP_LDAP_SASL -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -45338,7 +45584,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_LDAP 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_LDAP 1" >>confdefs.h fi fi @@ -45476,7 +45722,7 @@ # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like 'int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking size of long" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of long" >&5 printf %s "checking size of long... " >&6; } if test ${ac_cv_sizeof_long+y} then : @@ -45486,33 +45732,40 @@ then : else case e in #( - e) ac_cv_sizeof_long=0 ;; + e) if test "$ac_cv_type_long" = yes; then + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} +as_fn_error 77 "cannot compute sizeof (long) +See 'config.log' for more details" "$LINENO" 5; } + else + ac_cv_sizeof_long=0 + fi ;; esac fi ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long" >&5 -printf '%s\n' "$ac_cv_sizeof_long" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long" >&5 +printf "%s\n" "$ac_cv_sizeof_long" >&6; } -printf '%s\n' "#define SIZEOF_LONG $ac_cv_sizeof_long" >>confdefs.h +printf "%s\n" "#define SIZEOF_LONG $ac_cv_sizeof_long" >>confdefs.h - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking if we're at 64-bit platform" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if we're at 64-bit platform" >&5 printf %s "checking if we're at 64-bit platform... " >&6; } if test "$ac_cv_sizeof_long" -eq 4 then : - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } PHP_OCI8_IC_LIBDIR_SUFFIX="" else case e in #( e) - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } PHP_OCI8_IC_LIBDIR_SUFFIX=64 ;; esac @@ -45549,7 +45802,7 @@ # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like 'int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking size of long" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of long" >&5 printf %s "checking size of long... " >&6; } if test ${ac_cv_sizeof_long+y} then : @@ -45559,33 +45812,40 @@ then : else case e in #( - e) ac_cv_sizeof_long=0 ;; + e) if test "$ac_cv_type_long" = yes; then + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} +as_fn_error 77 "cannot compute sizeof (long) +See 'config.log' for more details" "$LINENO" 5; } + else + ac_cv_sizeof_long=0 + fi ;; esac fi ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long" >&5 -printf '%s\n' "$ac_cv_sizeof_long" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long" >&5 +printf "%s\n" "$ac_cv_sizeof_long" >&6; } -printf '%s\n' "#define SIZEOF_LONG $ac_cv_sizeof_long" >>confdefs.h +printf "%s\n" "#define SIZEOF_LONG $ac_cv_sizeof_long" >>confdefs.h - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking if we're at 64-bit platform" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if we're at 64-bit platform" >&5 printf %s "checking if we're at 64-bit platform... " >&6; } if test "$ac_cv_sizeof_long" -eq 4 then : - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } PHP_OCI8_IC_LIBDIR_SUFFIX="" else case e in #( e) - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } PHP_OCI8_IC_LIBDIR_SUFFIX=64 ;; esac @@ -46041,7 +46301,7 @@ fi - printf '%s\n' "#define HAVE_ORALDAP 1" >>confdefs.h + printf "%s\n" "#define HAVE_ORALDAP 1" >>confdefs.h elif test -f $LDAP_LIBDIR/libclntsh.$SHLIB_SUFFIX_NAME.11.1 || test -f $LDAP_LIBDIR/$MACHINE_INCLUDES/libclntsh.$SHLIB_SUFFIX_NAME.11.1; then @@ -46150,7 +46410,7 @@ fi - printf '%s\n' "#define HAVE_ORALDAP 1" >>confdefs.h + printf "%s\n" "#define HAVE_ORALDAP 1" >>confdefs.h elif test -f $LDAP_LIBDIR/libclntsh.$SHLIB_SUFFIX_NAME || test -f $LDAP_LIBDIR/$MACHINE_INCLUDES/libclntsh.$SHLIB_SUFFIX_NAME; then @@ -46259,7 +46519,7 @@ fi - printf '%s\n' "#define HAVE_ORALDAP 1" >>confdefs.h + printf "%s\n" "#define HAVE_ORALDAP 1" >>confdefs.h else @@ -46304,7 +46564,7 @@ PHP_VAR_SUBST="$PHP_VAR_SUBST LDAP_SHARED_LIBADD" -printf '%s\n' "#define HAVE_LDAP 1" >>confdefs.h +printf "%s\n" "#define HAVE_LDAP 1" >>confdefs.h _SAVE_CPPFLAGS=$CPPFLAGS @@ -46312,7 +46572,7 @@ CPPFLAGS="$CPPFLAGS -I$LDAP_INCDIR" LIBS="$LIBS $LDAP_SHARED_LIBADD" - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for 3 arg ldap_set_rebind_proc" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for 3 arg ldap_set_rebind_proc" >&5 printf %s "checking for 3 arg ldap_set_rebind_proc... " >&6; } if test ${php_cv_have_3arg_setrebindproc+y} then : @@ -46339,73 +46599,73 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_have_3arg_setrebindproc" >&5 -printf '%s\n' "$php_cv_have_3arg_setrebindproc" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_have_3arg_setrebindproc" >&5 +printf "%s\n" "$php_cv_have_3arg_setrebindproc" >&6; } if test "x$php_cv_have_3arg_setrebindproc" = xyes then : -printf '%s\n' "#define HAVE_3ARG_SETREBINDPROC 1" >>confdefs.h +printf "%s\n" "#define HAVE_3ARG_SETREBINDPROC 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "ldap_control_find" "ac_cv_func_ldap_control_find" if test "x$ac_cv_func_ldap_control_find" = xyes then : - printf '%s\n' "#define HAVE_LDAP_CONTROL_FIND 1" >>confdefs.h + printf "%s\n" "#define HAVE_LDAP_CONTROL_FIND 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "ldap_extended_operation" "ac_cv_func_ldap_extended_operation" if test "x$ac_cv_func_ldap_extended_operation" = xyes then : - printf '%s\n' "#define HAVE_LDAP_EXTENDED_OPERATION 1" >>confdefs.h + printf "%s\n" "#define HAVE_LDAP_EXTENDED_OPERATION 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "ldap_extended_operation_s" "ac_cv_func_ldap_extended_operation_s" if test "x$ac_cv_func_ldap_extended_operation_s" = xyes then : - printf '%s\n' "#define HAVE_LDAP_EXTENDED_OPERATION_S 1" >>confdefs.h + printf "%s\n" "#define HAVE_LDAP_EXTENDED_OPERATION_S 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "ldap_parse_extended_result" "ac_cv_func_ldap_parse_extended_result" if test "x$ac_cv_func_ldap_parse_extended_result" = xyes then : - printf '%s\n' "#define HAVE_LDAP_PARSE_EXTENDED_RESULT 1" >>confdefs.h + printf "%s\n" "#define HAVE_LDAP_PARSE_EXTENDED_RESULT 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "ldap_parse_reference" "ac_cv_func_ldap_parse_reference" if test "x$ac_cv_func_ldap_parse_reference" = xyes then : - printf '%s\n' "#define HAVE_LDAP_PARSE_REFERENCE 1" >>confdefs.h + printf "%s\n" "#define HAVE_LDAP_PARSE_REFERENCE 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "ldap_parse_result" "ac_cv_func_ldap_parse_result" if test "x$ac_cv_func_ldap_parse_result" = xyes then : - printf '%s\n' "#define HAVE_LDAP_PARSE_RESULT 1" >>confdefs.h + printf "%s\n" "#define HAVE_LDAP_PARSE_RESULT 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "ldap_passwd" "ac_cv_func_ldap_passwd" if test "x$ac_cv_func_ldap_passwd" = xyes then : - printf '%s\n' "#define HAVE_LDAP_PASSWD 1" >>confdefs.h + printf "%s\n" "#define HAVE_LDAP_PASSWD 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "ldap_refresh_s" "ac_cv_func_ldap_refresh_s" if test "x$ac_cv_func_ldap_refresh_s" = xyes then : - printf '%s\n' "#define HAVE_LDAP_REFRESH_S 1" >>confdefs.h + printf "%s\n" "#define HAVE_LDAP_REFRESH_S 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "ldap_start_tls_s" "ac_cv_func_ldap_start_tls_s" if test "x$ac_cv_func_ldap_start_tls_s" = xyes then : - printf '%s\n' "#define HAVE_LDAP_START_TLS_S 1" >>confdefs.h + printf "%s\n" "#define HAVE_LDAP_START_TLS_S 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "ldap_whoami_s" "ac_cv_func_ldap_whoami_s" if test "x$ac_cv_func_ldap_whoami_s" = xyes then : - printf '%s\n' "#define HAVE_LDAP_WHOAMI_S 1" >>confdefs.h + printf "%s\n" "#define HAVE_LDAP_WHOAMI_S 1" >>confdefs.h fi @@ -46417,17 +46677,17 @@ e) pkg_failed=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for libsasl2" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libsasl2" >&5 printf %s "checking for libsasl2... " >&6; } if test -n "$SASL_CFLAGS"; then pkg_cv_SASL_CFLAGS="$SASL_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsasl2\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsasl2\""; } >&5 ($PKG_CONFIG --exists --print-errors "libsasl2") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_SASL_CFLAGS=`$PKG_CONFIG --cflags "libsasl2" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -46441,10 +46701,10 @@ pkg_cv_SASL_LIBS="$SASL_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsasl2\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsasl2\""; } >&5 ($PKG_CONFIG --exists --print-errors "libsasl2") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_SASL_LIBS=`$PKG_CONFIG --libs "libsasl2" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -46458,8 +46718,8 @@ if test $pkg_failed = yes; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -46485,10 +46745,10 @@ and SASL_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -46502,8 +46762,8 @@ else SASL_CFLAGS=$pkg_cv_SASL_CFLAGS SASL_LIBS=$pkg_cv_SASL_LIBS - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } fi @@ -46662,7 +46922,7 @@ done -printf '%s\n' "#define HAVE_LDAP_SASL 1" >>confdefs.h +printf "%s\n" "#define HAVE_LDAP_SASL 1" >>confdefs.h ;; esac @@ -46711,7 +46971,7 @@ php_enable_mbstring=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to enable multibyte string support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable multibyte string support" >&5 printf %s "checking whether to enable multibyte string support... " >&6; } # Check whether --enable-mbstring was given. if test ${enable_mbstring+y} @@ -46748,8 +47008,8 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -46757,7 +47017,7 @@ php_enable_mbregex=yes -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to enable multibyte regex support (requires oniguruma)" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable multibyte regex support (requires oniguruma)" >&5 printf %s "checking whether to enable multibyte regex support (requires oniguruma)... " >&6; } # Check whether --enable-mbregex was given. if test ${enable_mbregex+y} @@ -46773,15 +47033,15 @@ ext_output=$PHP_MBREGEX -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } if test "$PHP_MBSTRING" != "no"; then -printf '%s\n' "#define HAVE_MBSTRING 1" >>confdefs.h +printf "%s\n" "#define HAVE_MBSTRING 1" >>confdefs.h @@ -46793,17 +47053,17 @@ pkg_failed=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for oniguruma" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for oniguruma" >&5 printf %s "checking for oniguruma... " >&6; } if test -n "$ONIG_CFLAGS"; then pkg_cv_ONIG_CFLAGS="$ONIG_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"oniguruma\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"oniguruma\""; } >&5 ($PKG_CONFIG --exists --print-errors "oniguruma") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_ONIG_CFLAGS=`$PKG_CONFIG --cflags "oniguruma" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -46817,10 +47077,10 @@ pkg_cv_ONIG_LIBS="$ONIG_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"oniguruma\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"oniguruma\""; } >&5 ($PKG_CONFIG --exists --print-errors "oniguruma") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_ONIG_LIBS=`$PKG_CONFIG --libs "oniguruma" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -46834,8 +47094,8 @@ if test $pkg_failed = yes; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -46861,10 +47121,10 @@ and ONIG_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -46878,8 +47138,8 @@ else ONIG_CFLAGS=$pkg_cv_ONIG_CFLAGS ONIG_LIBS=$pkg_cv_ONIG_LIBS - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } fi @@ -47038,7 +47298,7 @@ done - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking if oniguruma has an invalid entry for KOI8 encoding" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if oniguruma has an invalid entry for KOI8 encoding" >&5 printf %s "checking if oniguruma has an invalid entry for KOI8 encoding... " >&6; } if test ${php_cv_lib_onig_invalid_koi8+y} then : @@ -47075,12 +47335,12 @@ CFLAGS=$save_old_CFLAGS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_lib_onig_invalid_koi8" >&5 -printf '%s\n' "$php_cv_lib_onig_invalid_koi8" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_lib_onig_invalid_koi8" >&5 +printf "%s\n" "$php_cv_lib_onig_invalid_koi8" >&6; } if test "x$php_cv_lib_onig_invalid_koi8" = xyes then : -printf '%s\n' "#define PHP_ONIG_BAD_KOI8_ENTRY 1" >>confdefs.h +printf "%s\n" "#define PHP_ONIG_BAD_KOI8_ENTRY 1" >>confdefs.h fi @@ -47092,7 +47352,7 @@ -printf '%s\n' "#define HAVE_MBREGEX 1" >>confdefs.h +printf "%s\n" "#define HAVE_MBREGEX 1" >>confdefs.h @@ -47333,7 +47593,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_MBSTRING 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_MBSTRING 1" >>confdefs.h fi fi @@ -47589,7 +47849,7 @@ php_with_mysqli=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for MySQLi support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MySQLi support" >&5 printf %s "checking for MySQLi support... " >&6; } # Check whether --with-mysqli was given. @@ -47627,8 +47887,8 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -47636,7 +47896,7 @@ php_with_mysql_sock=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for specified location of the MySQL Unix socket" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for specified location of the MySQL Unix socket" >&5 printf %s "checking for specified location of the MySQL Unix socket... " >&6; } # Check whether --with-mysql-sock was given. @@ -47653,8 +47913,8 @@ ext_output=$PHP_MYSQL_SOCK -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -47668,7 +47928,7 @@ '--with-mysqli=$PHP_MYSQLI' with '--with-mysqli'." "$LINENO" 5 ;; esac - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for MySQL Unix socket location" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MySQL Unix socket location" >&5 printf %s "checking for MySQL Unix socket location... " >&6; } case $PHP_MYSQL_SOCK in #( yes) : @@ -47692,28 +47952,28 @@ if ${MYSQL_SOCK:+false} : then : - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } else case e in #( e) -printf '%s\n' "#define PHP_MYSQL_UNIX_SOCK_ADDR \"$MYSQL_SOCK\"" >>confdefs.h +printf "%s\n" "#define PHP_MYSQL_UNIX_SOCK_ADDR \"$MYSQL_SOCK\"" >>confdefs.h - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $MYSQL_SOCK" >&5 -printf '%s\n' "$MYSQL_SOCK" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MYSQL_SOCK" >&5 +printf "%s\n" "$MYSQL_SOCK" >&6; } ;; esac fi ;; #( no) : - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } ;; #( + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } ;; #( *) : - printf '%s\n' "#define PHP_MYSQL_UNIX_SOCK_ADDR \"$PHP_MYSQL_SOCK\"" >>confdefs.h + printf "%s\n" "#define PHP_MYSQL_UNIX_SOCK_ADDR \"$PHP_MYSQL_SOCK\"" >>confdefs.h - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $PHP_MYSQL_SOCK" >&5 -printf '%s\n' "$PHP_MYSQL_SOCK" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PHP_MYSQL_SOCK" >&5 +printf "%s\n" "$PHP_MYSQL_SOCK" >&6; } ;; esac @@ -47852,7 +48112,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_MYSQLI 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_MYSQLI 1" >>confdefs.h fi fi @@ -48090,7 +48350,7 @@ php_with_adabas=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for Adabas support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Adabas support" >&5 printf %s "checking for Adabas support... " >&6; } # Check whether --with-adabas was given. @@ -48128,8 +48388,8 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -48299,7 +48559,7 @@ as_fn_error $? "ODBC header file '$ODBC_INCDIR/sqlext.h' not found!" "$LINENO" 5 fi -printf '%s\n' "#define HAVE_ADABAS 1" >>confdefs.h +printf "%s\n" "#define HAVE_ADABAS 1" >>confdefs.h ;; esac @@ -48313,7 +48573,7 @@ php_with_sapdb=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for SAP DB support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for SAP DB support" >&5 printf %s "checking for SAP DB support... " >&6; } # Check whether --with-sapdb was given. @@ -48351,8 +48611,8 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -48449,7 +48709,7 @@ ODBC_TYPE=sapdb -printf '%s\n' "#define HAVE_SAPDB 1" >>confdefs.h +printf "%s\n" "#define HAVE_SAPDB 1" >>confdefs.h ;; esac @@ -48463,7 +48723,7 @@ php_with_solid=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for Solid support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Solid support" >&5 printf %s "checking for Solid support... " >&6; } # Check whether --with-solid was given. @@ -48501,8 +48761,8 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -48522,19 +48782,19 @@ ODBC_TYPE=solid if test -f $ODBC_LIBDIR/soc*35.a; then -printf '%s\n' "#define HAVE_SOLID_35 1" >>confdefs.h +printf "%s\n" "#define HAVE_SOLID_35 1" >>confdefs.h elif test -f $ODBC_LIBDIR/scl*30.a; then -printf '%s\n' "#define HAVE_SOLID_30 1" >>confdefs.h +printf "%s\n" "#define HAVE_SOLID_30 1" >>confdefs.h elif test -f $ODBC_LIBDIR/scl*23.a; then -printf '%s\n' "#define HAVE_SOLID 1" >>confdefs.h +printf "%s\n" "#define HAVE_SOLID 1" >>confdefs.h fi - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking Solid library file" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Solid library file" >&5 printf %s "checking Solid library file... " >&6; } ac_solid_uname_r=$(uname -r 2>/dev/null) ac_solid_uname_s=$(uname -s 2>/dev/null) @@ -48548,7 +48808,7 @@ ac_solid_os=lux fi -printf '%s\n' "#define SS_LINUX 1" >>confdefs.h +printf "%s\n" "#define SS_LINUX 1" >>confdefs.h ;; SunOS) @@ -48560,7 +48820,7 @@ ac_solid_os=fbx fi -printf '%s\n' "#define SS_FBX 1" >>confdefs.h +printf "%s\n" "#define SS_FBX 1" >>confdefs.h ;; esac @@ -48590,8 +48850,8 @@ ODBC_LIBS=-l${ac_solid_prefix}${ac_solid_os}${ac_solid_version} fi - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $(echo $ODBC_LIBS | $SED -e 's!.*/!!')" >&5 -printf '%s\n' "$(echo $ODBC_LIBS | $SED -e 's!.*/!!')" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $(echo $ODBC_LIBS | $SED -e 's!.*/!!')" >&5 +printf "%s\n" "$(echo $ODBC_LIBS | $SED -e 's!.*/!!')" >&6; } ;; esac @@ -48605,7 +48865,7 @@ php_with_ibm_db2=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for IBM DB2 support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for IBM DB2 support" >&5 printf %s "checking for IBM DB2 support... " >&6; } # Check whether --with-ibm-db2 was given. @@ -48643,8 +48903,8 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -48684,11 +48944,11 @@ if test "x$ac_cv_func_SQLExecute" = xyes then : -printf '%s\n' "#define HAVE_IBMDB2 1" >>confdefs.h +printf "%s\n" "#define HAVE_IBMDB2 1" >>confdefs.h else case e in #( - e) { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + e) { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? " ODBC build test failed. You need to source your DB2 environment before running PHP configure: @@ -48711,7 +48971,7 @@ php_with_empress=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for Empress support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Empress support" >&5 printf %s "checking for Empress support... " >&6; } # Check whether --with-empress was given. @@ -48749,8 +49009,8 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -48777,17 +49037,17 @@ ODBC_LFLAGS=-L$ODBC_LIBDIR ODBC_TYPE=empress -printf '%s\n' "#define HAVE_EMPRESS 1" >>confdefs.h +printf "%s\n" "#define HAVE_EMPRESS 1" >>confdefs.h - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking Empress library file" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Empress library file" >&5 printf %s "checking Empress library file... " >&6; } ODBC_LIBS=$(echo $ODBC_LIBDIR/libempodbccl.so | cut -d' ' -f1) if test ! -f $ODBC_LIBS; then ODBC_LIBS=$(echo $ODBC_LIBDIR/libempodbccl.so | cut -d' ' -f1) fi - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $(echo $ODBC_LIBS | $SED -e 's!.*/!!')" >&5 -printf '%s\n' "$(echo $ODBC_LIBS | $SED -e 's!.*/!!')" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $(echo $ODBC_LIBS | $SED -e 's!.*/!!')" >&5 +printf "%s\n" "$(echo $ODBC_LIBS | $SED -e 's!.*/!!')" >&6; } ;; esac @@ -48801,7 +49061,7 @@ php_with_empress_bcs=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for Empress local access support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Empress local access support" >&5 printf %s "checking for Empress local access support... " >&6; } # Check whether --with-empress-bcs was given. @@ -48839,8 +49099,8 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -48883,17 +49143,17 @@ ODBC_LIBS="-lempphpbcs -lms -lmscfg -lbasic -lbasic_os -lnlscstab -lnlsmsgtab -lm -ldl -lcrypt" ODBC_TYPE=empress-bcs -printf '%s\n' "#define HAVE_EMPRESS 1" >>confdefs.h +printf "%s\n" "#define HAVE_EMPRESS 1" >>confdefs.h - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking Empress local access library file" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Empress local access library file" >&5 printf %s "checking Empress local access library file... " >&6; } ODBCBCS_LIBS=$(echo $ODBC_LIBDIR/libempodbcbcs.a | cut -d' ' -f1) if test ! -f $ODBCBCS_LIBS; then ODBCBCS_LIBS=$(echo $ODBC_LIBDIR/libempodbcbcs.a | cut -d' ' -f1) fi - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $(echo $ODBCBCS_LIBS | $SED -e 's!.*/!!')" >&5 -printf '%s\n' "$(echo $ODBCBCS_LIBS | $SED -e 's!.*/!!')" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $(echo $ODBCBCS_LIBS | $SED -e 's!.*/!!')" >&5 +printf "%s\n" "$(echo $ODBCBCS_LIBS | $SED -e 's!.*/!!')" >&6; } ;; esac @@ -48907,7 +49167,7 @@ php_with_custom_odbc=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for a custom ODBC support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a custom ODBC support" >&5 printf %s "checking for a custom ODBC support... " >&6; } # Check whether --with-custom-odbc was given. @@ -48945,8 +49205,8 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -48967,7 +49227,7 @@ ODBC_LIBS=$CUSTOM_ODBC_LIBS ODBC_TYPE=custom-odbc -printf '%s\n' "#define HAVE_CODBC 1" >>confdefs.h +printf "%s\n" "#define HAVE_CODBC 1" >>confdefs.h ;; esac @@ -48981,7 +49241,7 @@ php_with_iodbc=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to build with iODBC support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build with iODBC support" >&5 printf %s "checking whether to build with iODBC support... " >&6; } # Check whether --with-iodbc was given. @@ -49019,8 +49279,8 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -49032,17 +49292,17 @@ e) pkg_failed=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for libiodbc" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libiodbc" >&5 printf %s "checking for libiodbc... " >&6; } if test -n "$ODBC_CFLAGS"; then pkg_cv_ODBC_CFLAGS="$ODBC_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libiodbc\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libiodbc\""; } >&5 ($PKG_CONFIG --exists --print-errors "libiodbc") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_ODBC_CFLAGS=`$PKG_CONFIG --cflags "libiodbc" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -49056,10 +49316,10 @@ pkg_cv_ODBC_LIBS="$ODBC_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libiodbc\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libiodbc\""; } >&5 ($PKG_CONFIG --exists --print-errors "libiodbc") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_ODBC_LIBS=`$PKG_CONFIG --libs "libiodbc" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -49073,8 +49333,8 @@ if test $pkg_failed = yes; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -49100,10 +49360,10 @@ and ODBC_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -49117,8 +49377,8 @@ else ODBC_CFLAGS=$pkg_cv_ODBC_CFLAGS ODBC_LIBS=$pkg_cv_ODBC_LIBS - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } fi @@ -49166,7 +49426,7 @@ ODBC_TYPE=iodbc -printf '%s\n' "#define HAVE_IODBC 1" >>confdefs.h +printf "%s\n" "#define HAVE_IODBC 1" >>confdefs.h ;; esac @@ -49180,7 +49440,7 @@ php_with_esoob=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for Easysoft ODBC-ODBC Bridge support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Easysoft ODBC-ODBC Bridge support" >&5 printf %s "checking for Easysoft ODBC-ODBC Bridge support... " >&6; } # Check whether --with-esoob was given. @@ -49218,8 +49478,8 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -49240,7 +49500,7 @@ ODBC_LIBS=-lesoobclient ODBC_TYPE=esoob -printf '%s\n' "#define HAVE_ESOOB 1" >>confdefs.h +printf "%s\n" "#define HAVE_ESOOB 1" >>confdefs.h ;; esac @@ -49254,7 +49514,7 @@ php_with_unixodbc=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to build with unixODBC support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build with unixODBC support" >&5 printf %s "checking whether to build with unixODBC support... " >&6; } # Check whether --with-unixODBC was given. @@ -49292,8 +49552,8 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -49308,17 +49568,17 @@ pkg_failed=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for odbc" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for odbc" >&5 printf %s "checking for odbc... " >&6; } if test -n "$ODBC_CFLAGS"; then pkg_cv_ODBC_CFLAGS="$ODBC_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"odbc\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"odbc\""; } >&5 ($PKG_CONFIG --exists --print-errors "odbc") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_ODBC_CFLAGS=`$PKG_CONFIG --cflags "odbc" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -49332,10 +49592,10 @@ pkg_cv_ODBC_LIBS="$ODBC_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"odbc\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"odbc\""; } >&5 ($PKG_CONFIG --exists --print-errors "odbc") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_ODBC_LIBS=`$PKG_CONFIG --libs "odbc" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -49349,8 +49609,8 @@ if test $pkg_failed = yes; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -49376,10 +49636,10 @@ and ODBC_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -49393,8 +49653,8 @@ else ODBC_CFLAGS=$pkg_cv_ODBC_CFLAGS ODBC_LIBS=$pkg_cv_ODBC_LIBS - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } fi @@ -49452,14 +49712,14 @@ then : as_fn_error $? "ODBC header file '$ODBC_INCDIR/sqlext.h' not found!" "$LINENO" 5 fi - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: Using unixODBC in $PHP_UNIXODBC" >&5 -printf '%s\n' "$as_me: Using unixODBC in $PHP_UNIXODBC" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Using unixODBC in $PHP_UNIXODBC" >&5 +printf "%s\n" "$as_me: Using unixODBC in $PHP_UNIXODBC" >&6;} ;; esac fi ODBC_TYPE=unixODBC -printf '%s\n' "#define HAVE_UNIXODBC 1" >>confdefs.h +printf "%s\n" "#define HAVE_UNIXODBC 1" >>confdefs.h ;; esac @@ -49473,7 +49733,7 @@ php_with_dbmaker=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for DBMaker support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for DBMaker support" >&5 printf %s "checking for DBMaker support... " >&6; } # Check whether --with-dbmaker was given. @@ -49511,8 +49771,8 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -49554,7 +49814,7 @@ ODBC_TYPE=dbmaker -printf '%s\n' "#define HAVE_DBMAKER 1" >>confdefs.h +printf "%s\n" "#define HAVE_DBMAKER 1" >>confdefs.h if test "x$ext_shared" = xyes @@ -49661,14 +49921,14 @@ if test "x$PHP_ODBCVER" = xno then : - printf '%s\n' "#define ODBCVER 0x0350" >>confdefs.h + printf "%s\n" "#define ODBCVER 0x0350" >>confdefs.h else case e in #( e) if test "x$PHP_ODBCVER" = x0 then : else case e in #( - e) printf '%s\n' "#define ODBCVER $PHP_ODBCVER" >>confdefs.h + e) printf "%s\n" "#define ODBCVER $PHP_ODBCVER" >>confdefs.h ;; esac fi ;; @@ -49798,7 +50058,7 @@ else case e in #( e) -printf '%s\n' "#define HAVE_SQLDATASOURCES 1" >>confdefs.h +printf "%s\n" "#define HAVE_SQLDATASOURCES 1" >>confdefs.h ;; esac fi @@ -49807,7 +50067,7 @@ fi -printf '%s\n' "#define HAVE_UODBC 1" >>confdefs.h +printf "%s\n" "#define HAVE_UODBC 1" >>confdefs.h PHP_VAR_SUBST="$PHP_VAR_SUBST ODBC_SHARED_LIBADD" @@ -49952,7 +50212,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_ODBC 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_ODBC 1" >>confdefs.h fi fi @@ -50071,10 +50331,10 @@ fi else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for any ODBC driver support" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for any ODBC driver support" >&5 printf %s "checking for any ODBC driver support... " >&6; } - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -50083,7 +50343,7 @@ php_enable_opcache=yes -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to enable Zend OPcache support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable Zend OPcache support" >&5 printf %s "checking whether to enable Zend OPcache support... " >&6; } # Check whether --enable-opcache was given. if test ${enable_opcache+y} @@ -50120,8 +50380,8 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -50129,7 +50389,7 @@ php_enable_huge_code_pages=yes -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to enable copying PHP CODE pages into HUGE PAGES" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable copying PHP CODE pages into HUGE PAGES" >&5 printf %s "checking whether to enable copying PHP CODE pages into HUGE PAGES... " >&6; } # Check whether --enable-huge-code-pages was given. if test ${enable_huge_code_pages+y} @@ -50145,8 +50405,8 @@ ext_output=$PHP_HUGE_CODE_PAGES -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -50154,7 +50414,7 @@ php_enable_opcache_jit=yes -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to enable JIT" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable JIT" >&5 printf %s "checking whether to enable JIT... " >&6; } # Check whether --enable-opcache-jit was given. if test ${enable_opcache_jit+y} @@ -50170,8 +50430,8 @@ ext_output=$PHP_OPCACHE_JIT -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -50179,7 +50439,7 @@ php_with_capstone=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to support opcache JIT disassembly through Capstone" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to support opcache JIT disassembly through Capstone" >&5 printf %s "checking whether to support opcache JIT disassembly through Capstone... " >&6; } # Check whether --with-capstone was given. @@ -50196,8 +50456,8 @@ ext_output=$PHP_CAPSTONE -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -50208,7 +50468,7 @@ if test "x$PHP_HUGE_CODE_PAGES" = xyes then : -printf '%s\n' "#define HAVE_HUGE_CODE_PAGES 1" >>confdefs.h +printf "%s\n" "#define HAVE_HUGE_CODE_PAGES 1" >>confdefs.h fi @@ -50220,15 +50480,15 @@ ;; #( *) : - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: WARNING: JIT not supported by host architecture" >&5 -printf '%s\n' "$as_me: WARNING: JIT not supported by host architecture" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: JIT not supported by host architecture" >&5 +printf "%s\n" "$as_me: WARNING: JIT not supported by host architecture" >&2;} PHP_OPCACHE_JIT=no ;; esac if test "$host_vendor" = "apple" && test "$host_cpu" = "aarch64" && test "$PHP_THREAD_SAFETY" = "yes"; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: WARNING: JIT not supported on Apple Silicon with ZTS" >&5 -printf '%s\n' "$as_me: WARNING: JIT not supported on Apple Silicon with ZTS" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: JIT not supported on Apple Silicon with ZTS" >&5 +printf "%s\n" "$as_me: WARNING: JIT not supported on Apple Silicon with ZTS" >&2;} PHP_OPCACHE_JIT=no fi @@ -50238,7 +50498,7 @@ then : -printf '%s\n' "#define HAVE_JIT 1" >>confdefs.h +printf "%s\n" "#define HAVE_JIT 1" >>confdefs.h ZEND_JIT_SRC=" jit/ir/ir_cfg.c jit/ir/ir_check.c jit/ir/ir_dump.c jit/ir/ir_emit.c jit/ir/ir_gcm.c jit/ir/ir_gdb.c jit/ir/ir_patch.c jit/ir/ir_perf.c jit/ir/ir_ra.c jit/ir/ir_save.c jit/ir/ir_sccp.c jit/ir/ir_strtab.c jit/ir/ir.c jit/zend_jit_vm_helpers.c jit/zend_jit.c " @@ -50273,17 +50533,17 @@ then : pkg_failed=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for capstone >= 3.0.0" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for capstone >= 3.0.0" >&5 printf %s "checking for capstone >= 3.0.0... " >&6; } if test -n "$CAPSTONE_CFLAGS"; then pkg_cv_CAPSTONE_CFLAGS="$CAPSTONE_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"capstone >= 3.0.0\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"capstone >= 3.0.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "capstone >= 3.0.0") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_CAPSTONE_CFLAGS=`$PKG_CONFIG --cflags "capstone >= 3.0.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -50297,10 +50557,10 @@ pkg_cv_CAPSTONE_LIBS="$CAPSTONE_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"capstone >= 3.0.0\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"capstone >= 3.0.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "capstone >= 3.0.0") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_CAPSTONE_LIBS=`$PKG_CONFIG --libs "capstone >= 3.0.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -50314,8 +50574,8 @@ if test $pkg_failed = yes; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -50341,10 +50601,10 @@ and CAPSTONE_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -50358,11 +50618,11 @@ else CAPSTONE_CFLAGS=$pkg_cv_CAPSTONE_CFLAGS CAPSTONE_LIBS=$pkg_cv_CAPSTONE_LIBS - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } -printf '%s\n' "#define HAVE_CAPSTONE 1" >>confdefs.h +printf "%s\n" "#define HAVE_CAPSTONE 1" >>confdefs.h for ac_i in $CAPSTONE_LIBS; do @@ -50545,18 +50805,18 @@ ac_fn_c_check_func "$LINENO" "mprotect" "ac_cv_func_mprotect" if test "x$ac_cv_func_mprotect" = xyes then : - printf '%s\n' "#define HAVE_MPROTECT 1" >>confdefs.h + printf "%s\n" "#define HAVE_MPROTECT 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "shm_create_largepage" "ac_cv_func_shm_create_largepage" if test "x$ac_cv_func_shm_create_largepage" = xyes then : - printf '%s\n' "#define HAVE_SHM_CREATE_LARGEPAGE 1" >>confdefs.h + printf "%s\n" "#define HAVE_SHM_CREATE_LARGEPAGE 1" >>confdefs.h fi - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for sysvipc shared memory support" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sysvipc shared memory support" >&5 printf %s "checking for sysvipc shared memory support... " >&6; } if test ${php_cv_shm_ipc+y} then : @@ -50648,16 +50908,16 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_shm_ipc" >&5 -printf '%s\n' "$php_cv_shm_ipc" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_shm_ipc" >&5 +printf "%s\n" "$php_cv_shm_ipc" >&6; } if test "x$php_cv_shm_ipc" = xyes then : -printf '%s\n' "#define HAVE_SHM_IPC 1" >>confdefs.h +printf "%s\n" "#define HAVE_SHM_IPC 1" >>confdefs.h fi - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for mmap() using MAP_ANON shared memory support" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mmap() using MAP_ANON shared memory support" >&5 printf %s "checking for mmap() using MAP_ANON shared memory support... " >&6; } if test ${php_cv_shm_mmap_anon+y} then : @@ -50736,18 +50996,18 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_shm_mmap_anon" >&5 -printf '%s\n' "$php_cv_shm_mmap_anon" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_shm_mmap_anon" >&5 +printf "%s\n" "$php_cv_shm_mmap_anon" >&6; } if test "x$php_cv_shm_mmap_anon" = xyes then : -printf '%s\n' "#define HAVE_SHM_MMAP_ANON 1" >>confdefs.h +printf "%s\n" "#define HAVE_SHM_MMAP_ANON 1" >>confdefs.h fi LIBS_save=$LIBS LIBS= - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for library containing shm_open" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing shm_open" >&5 printf %s "checking for library containing shm_open... " >&6; } if test ${ac_cv_search_shm_open+y} then : @@ -50805,13 +51065,13 @@ LIBS=$ac_func_search_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_shm_open" >&5 -printf '%s\n' "$ac_cv_search_shm_open" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_shm_open" >&5 +printf "%s\n" "$ac_cv_search_shm_open" >&6; } ac_res=$ac_cv_search_shm_open if test "$ac_res" != no then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for mmap() using shm_open() shared memory support" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mmap() using shm_open() shared memory support" >&5 printf %s "checking for mmap() using shm_open() shared memory support... " >&6; } if test ${php_cv_shm_mmap_posix+y} then : @@ -50902,8 +51162,8 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_shm_mmap_posix" >&5 -printf '%s\n' "$php_cv_shm_mmap_posix" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_shm_mmap_posix" >&5 +printf "%s\n" "$php_cv_shm_mmap_posix" >&6; } fi @@ -50913,7 +51173,7 @@ then : -printf '%s\n' "#define HAVE_SHM_MMAP_POSIX 1" >>confdefs.h +printf "%s\n" "#define HAVE_SHM_MMAP_POSIX 1" >>confdefs.h case $ac_cv_search_shm_open in #( "none required"|no) : @@ -51170,7 +51430,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_OPCACHE 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_OPCACHE 1" >>confdefs.h fi fi @@ -51329,8 +51589,8 @@ if test "$php_cv_shm_ipc" != "yes" && test "$php_cv_shm_mmap_posix" != "yes" && test "$php_cv_shm_mmap_anon" != "yes"; then - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "No supported shared memory caching support was found when configuring opcache. See 'config.log' for more details" "$LINENO" 5; } fi @@ -51358,7 +51618,7 @@ php_enable_pcntl=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to enable pcntl support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable pcntl support" >&5 printf %s "checking whether to enable pcntl support... " >&6; } # Check whether --enable-pcntl was given. if test ${enable_pcntl+y} @@ -51395,22 +51655,22 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } if test "$PHP_PCNTL" != "no"; then for function in fork sigaction waitpid; do - as_ac_var=`printf '%s\n' "ac_cv_func_$function" | sed "$as_sed_sh"` + as_ac_var=`printf "%s\n" "ac_cv_func_$function" | sed "$as_sed_sh"` ac_fn_c_check_func "$LINENO" "$function" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes" then : else case e in #( - e) { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + e) { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "ext/pcntl: required function $function() not found. See 'config.log' for more details" "$LINENO" 5; } ;; esac @@ -51421,91 +51681,91 @@ ac_fn_c_check_func "$LINENO" "forkx" "ac_cv_func_forkx" if test "x$ac_cv_func_forkx" = xyes then : - printf '%s\n' "#define HAVE_FORKX 1" >>confdefs.h + printf "%s\n" "#define HAVE_FORKX 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "getcpuid" "ac_cv_func_getcpuid" if test "x$ac_cv_func_getcpuid" = xyes then : - printf '%s\n' "#define HAVE_GETCPUID 1" >>confdefs.h + printf "%s\n" "#define HAVE_GETCPUID 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "getpriority" "ac_cv_func_getpriority" if test "x$ac_cv_func_getpriority" = xyes then : - printf '%s\n' "#define HAVE_GETPRIORITY 1" >>confdefs.h + printf "%s\n" "#define HAVE_GETPRIORITY 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "pidfd_open" "ac_cv_func_pidfd_open" if test "x$ac_cv_func_pidfd_open" = xyes then : - printf '%s\n' "#define HAVE_PIDFD_OPEN 1" >>confdefs.h + printf "%s\n" "#define HAVE_PIDFD_OPEN 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "pset_bind" "ac_cv_func_pset_bind" if test "x$ac_cv_func_pset_bind" = xyes then : - printf '%s\n' "#define HAVE_PSET_BIND 1" >>confdefs.h + printf "%s\n" "#define HAVE_PSET_BIND 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "pthread_set_qos_class_self_np" "ac_cv_func_pthread_set_qos_class_self_np" if test "x$ac_cv_func_pthread_set_qos_class_self_np" = xyes then : - printf '%s\n' "#define HAVE_PTHREAD_SET_QOS_CLASS_SELF_NP 1" >>confdefs.h + printf "%s\n" "#define HAVE_PTHREAD_SET_QOS_CLASS_SELF_NP 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "rfork" "ac_cv_func_rfork" if test "x$ac_cv_func_rfork" = xyes then : - printf '%s\n' "#define HAVE_RFORK 1" >>confdefs.h + printf "%s\n" "#define HAVE_RFORK 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "sched_setaffinity" "ac_cv_func_sched_setaffinity" if test "x$ac_cv_func_sched_setaffinity" = xyes then : - printf '%s\n' "#define HAVE_SCHED_SETAFFINITY 1" >>confdefs.h + printf "%s\n" "#define HAVE_SCHED_SETAFFINITY 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "setpriority" "ac_cv_func_setpriority" if test "x$ac_cv_func_setpriority" = xyes then : - printf '%s\n' "#define HAVE_SETPRIORITY 1" >>confdefs.h + printf "%s\n" "#define HAVE_SETPRIORITY 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "sigwaitinfo" "ac_cv_func_sigwaitinfo" if test "x$ac_cv_func_sigwaitinfo" = xyes then : - printf '%s\n' "#define HAVE_SIGWAITINFO 1" >>confdefs.h + printf "%s\n" "#define HAVE_SIGWAITINFO 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "sigtimedwait" "ac_cv_func_sigtimedwait" if test "x$ac_cv_func_sigtimedwait" = xyes then : - printf '%s\n' "#define HAVE_SIGTIMEDWAIT 1" >>confdefs.h + printf "%s\n" "#define HAVE_SIGTIMEDWAIT 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "unshare" "ac_cv_func_unshare" if test "x$ac_cv_func_unshare" = xyes then : - printf '%s\n' "#define HAVE_UNSHARE 1" >>confdefs.h + printf "%s\n" "#define HAVE_UNSHARE 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "wait3" "ac_cv_func_wait3" if test "x$ac_cv_func_wait3" = xyes then : - printf '%s\n' "#define HAVE_WAIT3 1" >>confdefs.h + printf "%s\n" "#define HAVE_WAIT3 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "wait4" "ac_cv_func_wait4" if test "x$ac_cv_func_wait4" = xyes then : - printf '%s\n' "#define HAVE_WAIT4 1" >>confdefs.h + printf "%s\n" "#define HAVE_WAIT4 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "waitid" "ac_cv_func_waitid" if test "x$ac_cv_func_waitid" = xyes then : - printf '%s\n' "#define HAVE_WAITID 1" >>confdefs.h + printf "%s\n" "#define HAVE_WAITID 1" >>confdefs.h fi @@ -51516,14 +51776,14 @@ ac_fn_c_check_func "$LINENO" "WIFCONTINUED" "ac_cv_func_WIFCONTINUED" if test "x$ac_cv_func_WIFCONTINUED" = xyes then : - printf '%s\n' "#define HAVE_WIFCONTINUED 1" >>confdefs.h + printf "%s\n" "#define HAVE_WIFCONTINUED 1" >>confdefs.h else case e in #( e) ac_fn_check_decl "$LINENO" "WIFCONTINUED" "ac_cv_have_decl_WIFCONTINUED" "#include -" "$ac_c_undeclared_builtin_options$ac_c_future_darwin_options" "CFLAGS" +" "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_WIFCONTINUED" = xyes then : - printf '%s\n' "#define HAVE_WIFCONTINUED 1" >>confdefs.h + printf "%s\n" "#define HAVE_WIFCONTINUED 1" >>confdefs.h fi ;; esac @@ -51532,7 +51792,7 @@ done ac_fn_check_decl "$LINENO" "WCONTINUED" "ac_cv_have_decl_WCONTINUED" "#include -" "$ac_c_undeclared_builtin_options$ac_c_future_darwin_options" "CFLAGS" +" "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_WCONTINUED" = xyes then : ac_have_decl=1 @@ -51540,9 +51800,9 @@ e) ac_have_decl=0 ;; esac fi -printf '%s\n' "#define HAVE_DECL_WCONTINUED $ac_have_decl" >>confdefs.h +printf "%s\n" "#define HAVE_DECL_WCONTINUED $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "WEXITED" "ac_cv_have_decl_WEXITED" "#include -" "$ac_c_undeclared_builtin_options$ac_c_future_darwin_options" "CFLAGS" +" "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_WEXITED" = xyes then : ac_have_decl=1 @@ -51550,9 +51810,9 @@ e) ac_have_decl=0 ;; esac fi -printf '%s\n' "#define HAVE_DECL_WEXITED $ac_have_decl" >>confdefs.h +printf "%s\n" "#define HAVE_DECL_WEXITED $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "WSTOPPED" "ac_cv_have_decl_WSTOPPED" "#include -" "$ac_c_undeclared_builtin_options$ac_c_future_darwin_options" "CFLAGS" +" "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_WSTOPPED" = xyes then : ac_have_decl=1 @@ -51560,9 +51820,9 @@ e) ac_have_decl=0 ;; esac fi -printf '%s\n' "#define HAVE_DECL_WSTOPPED $ac_have_decl" >>confdefs.h +printf "%s\n" "#define HAVE_DECL_WSTOPPED $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "WNOWAIT" "ac_cv_have_decl_WNOWAIT" "#include -" "$ac_c_undeclared_builtin_options$ac_c_future_darwin_options" "CFLAGS" +" "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_WNOWAIT" = xyes then : ac_have_decl=1 @@ -51570,9 +51830,9 @@ e) ac_have_decl=0 ;; esac fi -printf '%s\n' "#define HAVE_DECL_WNOWAIT $ac_have_decl" >>confdefs.h +printf "%s\n" "#define HAVE_DECL_WNOWAIT $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "P_ALL" "ac_cv_have_decl_P_ALL" "#include -" "$ac_c_undeclared_builtin_options$ac_c_future_darwin_options" "CFLAGS" +" "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_P_ALL" = xyes then : ac_have_decl=1 @@ -51580,9 +51840,9 @@ e) ac_have_decl=0 ;; esac fi -printf '%s\n' "#define HAVE_DECL_P_ALL $ac_have_decl" >>confdefs.h +printf "%s\n" "#define HAVE_DECL_P_ALL $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "P_PIDFD" "ac_cv_have_decl_P_PIDFD" "#include -" "$ac_c_undeclared_builtin_options$ac_c_future_darwin_options" "CFLAGS" +" "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_P_PIDFD" = xyes then : ac_have_decl=1 @@ -51590,9 +51850,9 @@ e) ac_have_decl=0 ;; esac fi -printf '%s\n' "#define HAVE_DECL_P_PIDFD $ac_have_decl" >>confdefs.h +printf "%s\n" "#define HAVE_DECL_P_PIDFD $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "P_UID" "ac_cv_have_decl_P_UID" "#include -" "$ac_c_undeclared_builtin_options$ac_c_future_darwin_options" "CFLAGS" +" "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_P_UID" = xyes then : ac_have_decl=1 @@ -51600,9 +51860,9 @@ e) ac_have_decl=0 ;; esac fi -printf '%s\n' "#define HAVE_DECL_P_UID $ac_have_decl" >>confdefs.h +printf "%s\n" "#define HAVE_DECL_P_UID $ac_have_decl" >>confdefs.h ac_fn_check_decl "$LINENO" "P_JAILID" "ac_cv_have_decl_P_JAILID" "#include -" "$ac_c_undeclared_builtin_options$ac_c_future_darwin_options" "CFLAGS" +" "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_P_JAILID" = xyes then : ac_have_decl=1 @@ -51610,10 +51870,10 @@ e) ac_have_decl=0 ;; esac fi -printf '%s\n' "#define HAVE_DECL_P_JAILID $ac_have_decl" >>confdefs.h +printf "%s\n" "#define HAVE_DECL_P_JAILID $ac_have_decl" >>confdefs.h - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking if sched_getcpu is supported" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if sched_getcpu is supported" >&5 printf %s "checking if sched_getcpu is supported... " >&6; } if test ${php_cv_func_sched_getcpu+y} then : @@ -51649,12 +51909,12 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_func_sched_getcpu" >&5 -printf '%s\n' "$php_cv_func_sched_getcpu" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_func_sched_getcpu" >&5 +printf "%s\n" "$php_cv_func_sched_getcpu" >&6; } if test "x$php_cv_func_sched_getcpu" = xyes then : -printf '%s\n' "#define HAVE_SCHED_GETCPU 1" >>confdefs.h +printf "%s\n" "#define HAVE_SCHED_GETCPU 1" >>confdefs.h fi @@ -51801,7 +52061,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_PCNTL 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_PCNTL 1" >>confdefs.h fi fi @@ -51925,9 +52185,357 @@ +php_enable_pdo=yes + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable PDO support" >&5 +printf %s "checking whether to enable PDO support... " >&6; } +# Check whether --enable-pdo was given. +if test ${enable_pdo+y} +then : + enableval=$enable_pdo; PHP_PDO=$enableval +else case e in #( + e) + PHP_PDO=yes + test "$PHP_ENABLE_ALL" && PHP_PDO=$PHP_ENABLE_ALL + ;; +esac +fi + + + +ext_output="yes, shared" +ext_shared=yes +case $PHP_PDO in +shared,*) + PHP_PDO=$(echo "$PHP_PDO"|$SED 's/^shared,//') + ;; +shared) + PHP_PDO=yes + ;; +no) + ext_output=no + ext_shared=no + ;; +*) + ext_output=yes + ext_shared=no + ;; +esac + + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } + + + + +if test "$PHP_PDO" != "no"; then + PHP_PDO=yes + + + ext_builddir=ext/pdo + ext_srcdir=$abs_srcdir/ext/pdo + ext_dir=ext/pdo + + ac_extra= + + if test "$ext_shared" != "shared" && test "$ext_shared" != "yes" && test "" != "cli"; then + PHP_PDO_SHARED=no + + + case $ext_dir in + "") ac_srcdir="$abs_srcdir/"; unset ac_bdir; ac_inc="-I. -I$abs_srcdir" ;; + /*) ac_srcdir=$(echo "$ext_dir"|cut -c 2-)"/"; ac_bdir=$ac_srcdir; ac_inc="-I$ac_bdir -I$abs_srcdir/$ac_bdir" ;; + *) ac_srcdir="$abs_srcdir/$ext_dir/"; ac_bdir="$ext_dir/"; ac_inc="-I$ac_bdir -I$ac_srcdir" ;; + esac + + + + b_c_pre=$php_c_pre + b_cxx_pre=$php_cxx_pre + b_c_meta=$php_c_meta + b_cxx_meta=$php_cxx_meta + b_c_post=$php_c_post + b_cxx_post=$php_cxx_post + b_lo=$php_lo + + + old_IFS=$IFS + for ac_src in pdo.c pdo_dbh.c pdo_stmt.c pdo_sql_parser.c pdo_sqlstate.c; do + + IFS=. + set $ac_src + ac_obj=$1 + IFS=$old_IFS + + PHP_GLOBAL_OBJS="$PHP_GLOBAL_OBJS $ac_bdir$ac_obj.lo" + + case $ac_src in + *.c) ac_comp="$b_c_pre $ac_inc $b_c_meta $ac_extra -c $ac_srcdir$ac_src -o $ac_bdir$ac_obj.$b_lo $b_c_post" ;; + *.s) ac_comp="$b_c_pre $ac_inc $b_c_meta $ac_extra -c $ac_srcdir$ac_src -o $ac_bdir$ac_obj.$b_lo $b_c_post" ;; + *.S) ac_comp="$b_c_pre $ac_inc $b_c_meta $ac_extra -c $ac_srcdir$ac_src -o $ac_bdir$ac_obj.$b_lo $b_c_post" ;; + *.cpp|*.cc|*.cxx) ac_comp="$b_cxx_pre $ac_inc $b_cxx_meta $ac_extra -c $ac_srcdir$ac_src -o $ac_bdir$ac_obj.$b_lo $b_cxx_post" ;; + esac + + ac_comp="$ac_comp -MMD -MF $ac_bdir$ac_obj.dep -MT $ac_bdir$ac_obj.lo" + + cat >>Makefile.objects<>Makefile.objects<>Makefile.objects<>confdefs.h + + fi + fi + + if test "$ext_shared" != "shared" && test "$ext_shared" != "yes" && test "" = "cli"; then + PHP_PDO_SHARED=no + case "$PHP_SAPI" in + cgi|embed|phpdbg) + + + case $ext_dir in + "") ac_srcdir="$abs_srcdir/"; unset ac_bdir; ac_inc="-I. -I$abs_srcdir" ;; + /*) ac_srcdir=$(echo "$ext_dir"|cut -c 2-)"/"; ac_bdir=$ac_srcdir; ac_inc="-I$ac_bdir -I$abs_srcdir/$ac_bdir" ;; + *) ac_srcdir="$abs_srcdir/$ext_dir/"; ac_bdir="$ext_dir/"; ac_inc="-I$ac_bdir -I$ac_srcdir" ;; + esac + + + + b_c_pre=$php_c_pre + b_cxx_pre=$php_cxx_pre + b_c_meta=$php_c_meta + b_cxx_meta=$php_cxx_meta + b_c_post=$php_c_post + b_cxx_post=$php_cxx_post + b_lo=$php_lo + + + old_IFS=$IFS + for ac_src in pdo.c pdo_dbh.c pdo_stmt.c pdo_sql_parser.c pdo_sqlstate.c; do + + IFS=. + set $ac_src + ac_obj=$1 + IFS=$old_IFS + + PHP_GLOBAL_OBJS="$PHP_GLOBAL_OBJS $ac_bdir$ac_obj.lo" + + case $ac_src in + *.c) ac_comp="$b_c_pre $ac_inc $b_c_meta $ac_extra -c $ac_srcdir$ac_src -o $ac_bdir$ac_obj.$b_lo $b_c_post" ;; + *.s) ac_comp="$b_c_pre $ac_inc $b_c_meta $ac_extra -c $ac_srcdir$ac_src -o $ac_bdir$ac_obj.$b_lo $b_c_post" ;; + *.S) ac_comp="$b_c_pre $ac_inc $b_c_meta $ac_extra -c $ac_srcdir$ac_src -o $ac_bdir$ac_obj.$b_lo $b_c_post" ;; + *.cpp|*.cc|*.cxx) ac_comp="$b_cxx_pre $ac_inc $b_cxx_meta $ac_extra -c $ac_srcdir$ac_src -o $ac_bdir$ac_obj.$b_lo $b_cxx_post" ;; + esac + + ac_comp="$ac_comp -MMD -MF $ac_bdir$ac_obj.dep -MT $ac_bdir$ac_obj.lo" + + cat >>Makefile.objects<>Makefile.objects<> Makefile.fragments + +fi + + + + + php_with_pdo_dblib=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for PDO_DBLIB support via FreeTDS" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for PDO_DBLIB support via FreeTDS" >&5 printf %s "checking for PDO_DBLIB support via FreeTDS... " >&6; } # Check whether --with-pdo-dblib was given. @@ -51965,8 +52573,8 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -52093,7 +52701,7 @@ esac done - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for dbsqlexec in -lsybdb" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dbsqlexec in -lsybdb" >&5 printf %s "checking for dbsqlexec in -lsybdb... " >&6; } if test ${ac_cv_lib_sybdb_dbsqlexec+y} then : @@ -52134,8 +52742,8 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sybdb_dbsqlexec" >&5 -printf '%s\n' "$ac_cv_lib_sybdb_dbsqlexec" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sybdb_dbsqlexec" >&5 +printf "%s\n" "$ac_cv_lib_sybdb_dbsqlexec" >&6; } if test "x$ac_cv_lib_sybdb_dbsqlexec" = xyes then : @@ -52148,8 +52756,8 @@ LDFLAGS=$save_old_LDFLAGS ext_shared=$save_ext_shared unset ac_cv_lib_sybdb_dbsqlexec - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "Cannot find FreeTDS in known installation directories. See 'config.log' for more details" "$LINENO" 5; } ;; @@ -52340,7 +52948,7 @@ fi - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for PDO includes" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for PDO includes" >&5 printf %s "checking for PDO includes... " >&6; } if test ${pdo_cv_inc_path+y} then : @@ -52355,8 +52963,8 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $pdo_cv_inc_path" >&5 -printf '%s\n' "$pdo_cv_inc_path" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $pdo_cv_inc_path" >&5 +printf "%s\n" "$pdo_cv_inc_path" >&6; } if test -n "$pdo_cv_inc_path"; then : else @@ -52500,7 +53108,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_PDO_DBLIB 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_PDO_DBLIB 1" >>confdefs.h fi fi @@ -52649,7 +53257,7 @@ php_with_pdo_firebird=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for Firebird support for PDO" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Firebird support for PDO" >&5 printf %s "checking for Firebird support for PDO... " >&6; } # Check whether --with-pdo-firebird was given. @@ -52687,8 +53295,8 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -52696,7 +53304,7 @@ if test "$PHP_PDO_FIREBIRD" != "no"; then # Extract the first word of "fb_config", so it can be a program name with args. set dummy fb_config; ac_word=$2 -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_path_FB_CONFIG+y} then : @@ -52719,7 +53327,7 @@ for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_path_FB_CONFIG="$as_dir$ac_word$ac_exec_ext" - printf '%s\n' "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -52733,23 +53341,23 @@ fi FB_CONFIG=$ac_cv_path_FB_CONFIG if test -n "$FB_CONFIG"; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $FB_CONFIG" >&5 -printf '%s\n' "$FB_CONFIG" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $FB_CONFIG" >&5 +printf "%s\n" "$FB_CONFIG" >&6; } else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi if test -x "$FB_CONFIG" && test "$PHP_PDO_FIREBIRD" = "yes"; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for libfbconfig" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libfbconfig" >&5 printf %s "checking for libfbconfig... " >&6; } FB_CFLAGS=$($FB_CONFIG --cflags) FB_LIBDIR=$($FB_CONFIG --libs) FB_VERSION=$($FB_CONFIG --version) - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: version $FB_VERSION" >&5 -printf '%s\n' "version $FB_VERSION" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: version $FB_VERSION" >&5 +printf "%s\n" "version $FB_VERSION" >&6; } as_arg_v1=$FB_VERSION as_arg_v2=3.0 awk "$as_awk_strverscmp" v1="$as_arg_v1" v2="$as_arg_v2" /dev/null @@ -53053,7 +53661,7 @@ esac done - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for fb_get_master_interface in -lfbclient" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for fb_get_master_interface in -lfbclient" >&5 printf %s "checking for fb_get_master_interface in -lfbclient... " >&6; } if test ${ac_cv_lib_fbclient_fb_get_master_interface+y} then : @@ -53094,8 +53702,8 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fbclient_fb_get_master_interface" >&5 -printf '%s\n' "$ac_cv_lib_fbclient_fb_get_master_interface" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fbclient_fb_get_master_interface" >&5 +printf "%s\n" "$ac_cv_lib_fbclient_fb_get_master_interface" >&6; } if test "x$ac_cv_lib_fbclient_fb_get_master_interface" = xyes then : @@ -53108,8 +53716,8 @@ LDFLAGS=$save_old_LDFLAGS ext_shared=$save_ext_shared unset ac_cv_lib_fbclient_fb_get_master_interface - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "libfbclient not found. See 'config.log' for more details" "$LINENO" 5; } ;; @@ -53258,7 +53866,7 @@ fi - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for PDO includes" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for PDO includes" >&5 printf %s "checking for PDO includes... " >&6; } if test ${pdo_cv_inc_path+y} then : @@ -53273,8 +53881,8 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $pdo_cv_inc_path" >&5 -printf '%s\n' "$pdo_cv_inc_path" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $pdo_cv_inc_path" >&5 +printf "%s\n" "$pdo_cv_inc_path" >&6; } if test -n "$pdo_cv_inc_path"; then : else @@ -53417,7 +54025,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_PDO_FIREBIRD 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_PDO_FIREBIRD 1" >>confdefs.h fi fi @@ -53576,7 +54184,7 @@ do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_CXX+y} then : @@ -53597,7 +54205,7 @@ for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" - printf '%s\n' "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -53609,11 +54217,11 @@ fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 -printf '%s\n' "$CXX" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 +printf "%s\n" "$CXX" >&6; } else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -53626,7 +54234,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_CXX+y} then : @@ -53647,7 +54255,7 @@ for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CXX="$ac_prog" - printf '%s\n' "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -53659,11 +54267,11 @@ fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 -printf '%s\n' "$ac_ct_CXX" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 +printf "%s\n" "$ac_ct_CXX" >&6; } else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -53675,8 +54283,8 @@ else case $cross_compiling:$ac_tool_warned in yes:) -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -printf '%s\n' "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CXX=$ac_ct_CXX @@ -53686,7 +54294,7 @@ fi fi # Provide some information about the compiler. -printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 +printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do @@ -53696,7 +54304,7 @@ *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -printf '%s\n' "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then @@ -53706,11 +54314,11 @@ cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C++" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C++" >&5 printf %s "checking whether the compiler supports GNU C++... " >&6; } if test ${ac_cv_cxx_compiler_gnu+y} then : @@ -53742,8 +54350,8 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 -printf '%s\n' "$ac_cv_cxx_compiler_gnu" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_cxx_compiler_gnu" >&6; } ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test $ac_compiler_gnu = yes; then @@ -53753,7 +54361,7 @@ fi ac_test_CXXFLAGS=${CXXFLAGS+y} ac_save_CXXFLAGS=$CXXFLAGS -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 printf %s "checking whether $CXX accepts -g... " >&6; } if test ${ac_cv_prog_cxx_g+y} then : @@ -53821,8 +54429,8 @@ ac_cxx_werror_flag=$ac_save_cxx_werror_flag ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 -printf '%s\n' "$ac_cv_prog_cxx_g" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 +printf "%s\n" "$ac_cv_prog_cxx_g" >&6; } if test $ac_test_CXXFLAGS; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then @@ -53838,6 +54446,106 @@ CXXFLAGS= fi fi +ac_prog_cxx_stdcxx=no +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++11 features" >&5 +printf %s "checking for $CXX option to enable C++11 features... " >&6; } +if test ${ac_cv_prog_cxx_cxx11+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) ac_cv_prog_cxx_cxx11=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx11_program +_ACEOF +for ac_arg in '' -std=gnu++11 -std=gnu++0x -std=c++11 -std=c++0x -qlanglvl=extended0x -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx11" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX ;; +esac +fi + +if test "x$ac_cv_prog_cxx_cxx11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else case e in #( + e) if test "x$ac_cv_prog_cxx_cxx11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else case e in #( + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx11" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx11" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx11" ;; +esac +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx11 + ac_prog_cxx_stdcxx=cxx11 ;; +esac +fi +fi +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++98 features" >&5 +printf %s "checking for $CXX option to enable C++98 features... " >&6; } +if test ${ac_cv_prog_cxx_cxx98+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) ac_cv_prog_cxx_cxx98=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx98_program +_ACEOF +for ac_arg in '' -std=gnu++98 -std=c++98 -qlanglvl=extended -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx98=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx98" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX ;; +esac +fi + +if test "x$ac_cv_prog_cxx_cxx98" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else case e in #( + e) if test "x$ac_cv_prog_cxx_cxx98" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else case e in #( + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx98" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx98" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx98" ;; +esac +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx98 + ac_prog_cxx_stdcxx=cxx98 ;; +esac +fi +fi + ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -53849,7 +54557,7 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 printf %s "checking how to run the C++ preprocessor... " >&6; } if test -z "$CXXCPP"; then if test ${ac_cv_prog_CXXCPP+y} @@ -53916,8 +54624,8 @@ else ac_cv_prog_CXXCPP=$CXXCPP fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 -printf '%s\n' "$CXXCPP" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 +printf "%s\n" "$CXXCPP" >&6; } ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do @@ -53965,8 +54673,8 @@ then : else case e in #( - e) { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + e) { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check See 'config.log' for more details" "$LINENO" 5; } ;; esac @@ -54001,8 +54709,8 @@ for alternative in ${ax_cxx_compile_alternatives}; do for switch in -std=c++${alternative} +std=c++${alternative} "-h std=c++${alternative}"; do - cachevar=`printf '%s\n' "ax_cv_cxx_compile_cxx11_$switch" | sed "$as_sed_sh"` - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++11 features with $switch" >&5 + cachevar=`printf "%s\n" "ax_cv_cxx_compile_cxx11_$switch" | sed "$as_sed_sh"` + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++11 features with $switch" >&5 printf %s "checking whether $CXX supports C++11 features with $switch... " >&6; } if eval test \${$cachevar+y} then : @@ -54313,8 +55021,8 @@ esac fi eval ac_res=\$$cachevar - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf '%s\n' "$ac_res" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } if eval test x\$$cachevar = xyes; then eval PHP_PDO_FIREBIRD_STDCXX="$switch" ac_success=yes @@ -54338,8 +55046,8 @@ fi fi if test x$ac_success = xno; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: No compiler with C++11 support was found" >&5 -printf '%s\n' "$as_me: No compiler with C++11 support was found" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: No compiler with C++11 support was found" >&5 +printf "%s\n" "$as_me: No compiler with C++11 support was found" >&6;} fi @@ -54449,7 +55157,7 @@ php_with_pdo_mysql=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for MySQL support for PDO" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MySQL support for PDO" >&5 printf %s "checking for MySQL support for PDO... " >&6; } # Check whether --with-pdo-mysql was given. @@ -54487,14 +55195,14 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } if test "$PHP_PDO_MYSQL" != "no"; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for MySQL Unix socket location" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MySQL Unix socket location" >&5 printf %s "checking for MySQL Unix socket location... " >&6; } case $PHP_MYSQL_SOCK in #( yes) : @@ -54518,29 +55226,29 @@ if ${MYSQL_SOCK:+false} : then : - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } else case e in #( e) -printf '%s\n' "#define PHP_MYSQL_UNIX_SOCK_ADDR \"$MYSQL_SOCK\"" >>confdefs.h +printf "%s\n" "#define PHP_MYSQL_UNIX_SOCK_ADDR \"$MYSQL_SOCK\"" >>confdefs.h - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $MYSQL_SOCK" >&5 -printf '%s\n' "$MYSQL_SOCK" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MYSQL_SOCK" >&5 +printf "%s\n" "$MYSQL_SOCK" >&6; } ;; esac fi ;; #( no) : - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } ;; #( + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } ;; #( *) : -printf '%s\n' "#define PHP_MYSQL_UNIX_SOCK_ADDR \"$PHP_MYSQL_SOCK\"" >>confdefs.h +printf "%s\n" "#define PHP_MYSQL_UNIX_SOCK_ADDR \"$PHP_MYSQL_SOCK\"" >>confdefs.h - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $PHP_MYSQL_SOCK" >&5 -printf '%s\n' "$PHP_MYSQL_SOCK" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PHP_MYSQL_SOCK" >&5 +printf "%s\n" "$PHP_MYSQL_SOCK" >&6; } ;; esac @@ -54549,12 +55257,12 @@ PHP_MYSQLND_ENABLED=yes -printf '%s\n' "#define PDO_USE_MYSQLND 1" >>confdefs.h +printf "%s\n" "#define PDO_USE_MYSQLND 1" >>confdefs.h ;; #( *) : - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for mysql_config" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mysql_config" >&5 printf %s "checking for mysql_config... " >&6; } if test -f $PHP_PDO_MYSQL && test -x $PHP_PDO_MYSQL ; then PDO_MYSQL_CONFIG=$PHP_PDO_MYSQL @@ -54569,18 +55277,18 @@ fi if test -n "$PDO_MYSQL_CONFIG"; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $PDO_MYSQL_CONFIG" >&5 -printf '%s\n' "$PDO_MYSQL_CONFIG" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PDO_MYSQL_CONFIG" >&5 +printf "%s\n" "$PDO_MYSQL_CONFIG" >&6; } PDO_MYSQL_LIBS=$($PDO_MYSQL_CONFIG --libs | $SED -e "s/'//g") PDO_MYSQL_INCLUDE=$($PDO_MYSQL_CONFIG --cflags | $SED -e "s/'//g") PDO_MYSQL_SOCKET=$($PDO_MYSQL_CONFIG --socket) -printf '%s\n' "#define PDO_MYSQL_UNIX_ADDR \"$PDO_MYSQL_SOCKET\"" >>confdefs.h +printf "%s\n" "#define PDO_MYSQL_UNIX_ADDR \"$PDO_MYSQL_SOCKET\"" >>confdefs.h elif test -n "$PDO_MYSQL_DIR"; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: not found" >&5 -printf '%s\n' "not found" >&6; } - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for mysql install under $PDO_MYSQL_DIR" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 +printf "%s\n" "not found" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mysql install under $PDO_MYSQL_DIR" >&5 printf %s "checking for mysql install under $PDO_MYSQL_DIR... " >&6; } if test -r $PDO_MYSQL_DIR/include/mysql; then PDO_MYSQL_INC_DIR=$PDO_MYSQL_DIR/include/mysql @@ -54594,19 +55302,19 @@ fi if test -r "$PDO_MYSQL_LIB_DIR"; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: libs under $PDO_MYSQL_LIB_DIR; seems promising" >&5 -printf '%s\n' "libs under $PDO_MYSQL_LIB_DIR; seems promising" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: libs under $PDO_MYSQL_LIB_DIR; seems promising" >&5 +printf "%s\n" "libs under $PDO_MYSQL_LIB_DIR; seems promising" >&6; } else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: can not find it" >&5 -printf '%s\n' "can not find it" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: can not find it" >&5 +printf "%s\n" "can not find it" >&6; } as_fn_error $? "Unable to find your mysql installation" "$LINENO" 5 fi PDO_MYSQL_INCLUDE=-I$PDO_MYSQL_INC_DIR PDO_MYSQL_LIBS="-L$PDO_MYSQL_LIB_DIR -lmysqlclient" else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: not found" >&5 -printf '%s\n' "not found" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 +printf "%s\n" "not found" >&6; } as_fn_error $? "Unable to find your mysql installation" "$LINENO" 5 fi @@ -54769,7 +55477,7 @@ esac - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for PDO includes" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for PDO includes" >&5 printf %s "checking for PDO includes... " >&6; } if test ${pdo_cv_inc_path+y} then : @@ -54784,8 +55492,8 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $pdo_cv_inc_path" >&5 -printf '%s\n' "$pdo_cv_inc_path" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $pdo_cv_inc_path" >&5 +printf "%s\n" "$pdo_cv_inc_path" >&6; } if test -n "$pdo_cv_inc_path"; then : else @@ -54928,7 +55636,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_PDO_MYSQL 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_PDO_MYSQL 1" >>confdefs.h fi fi @@ -55112,7 +55820,7 @@ php_with_pdo_odbc=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for ODBC v3 support for PDO" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ODBC v3 support for PDO" >&5 printf %s "checking for ODBC v3 support for PDO... " >&6; } # Check whether --with-pdo-odbc was given. @@ -55150,8 +55858,8 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -55160,7 +55868,7 @@ if test "$PHP_PDO_ODBC" != "no"; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for PDO includes" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for PDO includes" >&5 printf %s "checking for PDO includes... " >&6; } if test ${pdo_cv_inc_path+y} then : @@ -55175,8 +55883,8 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $pdo_cv_inc_path" >&5 -printf '%s\n' "$pdo_cv_inc_path" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $pdo_cv_inc_path" >&5 +printf "%s\n" "$pdo_cv_inc_path" >&6; } if test -n "$pdo_cv_inc_path"; then : else @@ -55184,7 +55892,7 @@ fi - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for selected PDO ODBC flavour" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for selected PDO ODBC flavour" >&5 printf %s "checking for selected PDO ODBC flavour... " >&6; } pdo_odbc_flavour="$(echo $PHP_PDO_ODBC | cut -d, -f1)" @@ -55228,21 +55936,21 @@ esac if test -n "$pdo_odbc_pkgconfig_module"; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $pdo_odbc_flavour using pkg-config" >&5 -printf '%s\n' "$pdo_odbc_flavour using pkg-config" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $pdo_odbc_flavour using pkg-config" >&5 +printf "%s\n" "$pdo_odbc_flavour using pkg-config" >&6; } pkg_failed=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for $pdo_odbc_pkgconfig_module" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $pdo_odbc_pkgconfig_module" >&5 printf %s "checking for $pdo_odbc_pkgconfig_module... " >&6; } if test -n "$PDO_ODBC_CFLAGS"; then pkg_cv_PDO_ODBC_CFLAGS="$PDO_ODBC_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$pdo_odbc_pkgconfig_module\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$pdo_odbc_pkgconfig_module\""; } >&5 ($PKG_CONFIG --exists --print-errors "$pdo_odbc_pkgconfig_module") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_PDO_ODBC_CFLAGS=`$PKG_CONFIG --cflags "$pdo_odbc_pkgconfig_module" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -55256,10 +55964,10 @@ pkg_cv_PDO_ODBC_LIBS="$PDO_ODBC_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$pdo_odbc_pkgconfig_module\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$pdo_odbc_pkgconfig_module\""; } >&5 ($PKG_CONFIG --exists --print-errors "$pdo_odbc_pkgconfig_module") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_PDO_ODBC_LIBS=`$PKG_CONFIG --libs "$pdo_odbc_pkgconfig_module" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -55273,8 +55981,8 @@ if test $pkg_failed = yes; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -55300,10 +56008,10 @@ and PDO_ODBC_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -55317,8 +56025,8 @@ else PDO_ODBC_CFLAGS=$pkg_cv_PDO_ODBC_CFLAGS PDO_ODBC_LIBS=$pkg_cv_PDO_ODBC_LIBS - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } fi else @@ -55336,16 +56044,16 @@ esac fi - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $pdo_odbc_flavour + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $pdo_odbc_flavour libs $PDO_ODBC_LIBDIR, headers $PDO_ODBC_INCDIR" >&5 -printf '%s\n' "$pdo_odbc_flavour +printf "%s\n" "$pdo_odbc_flavour libs $PDO_ODBC_LIBDIR, headers $PDO_ODBC_INCDIR" >&6; } if test ! -d "$PDO_ODBC_LIBDIR" ; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: WARNING: library dir $PDO_ODBC_LIBDIR does not exist" >&5 -printf '%s\n' "$as_me: WARNING: library dir $PDO_ODBC_LIBDIR does not exist" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: library dir $PDO_ODBC_LIBDIR does not exist" >&5 +printf "%s\n" "$as_me: WARNING: library dir $PDO_ODBC_LIBDIR does not exist" >&2;} fi PDO_ODBC_CFLAGS="$pdo_odbc_def_cflags -I$PDO_ODBC_INCDIR" @@ -55469,8 +56177,8 @@ esac done - as_ac_Lib=`printf '%s\n' "ac_cv_lib_$pdo_odbc_def_lib""_SQLBindCol" | sed "$as_sed_sh"` -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for SQLBindCol in -l$pdo_odbc_def_lib" >&5 + as_ac_Lib=`printf "%s\n" "ac_cv_lib_$pdo_odbc_def_lib""_SQLBindCol" | sed "$as_sed_sh"` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for SQLBindCol in -l$pdo_odbc_def_lib" >&5 printf %s "checking for SQLBindCol in -l$pdo_odbc_def_lib... " >&6; } if eval test \${$as_ac_Lib+y} then : @@ -55512,8 +56220,8 @@ esac fi eval ac_res=\$$as_ac_Lib - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf '%s\n' "$ac_res" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } if eval test \"x\$"$as_ac_Lib"\" = x"yes" then : @@ -55637,8 +56345,8 @@ esac done - as_ac_Lib=`printf '%s\n' "ac_cv_lib_$pdo_odbc_def_lib""_SQLAllocHandle" | sed "$as_sed_sh"` -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for SQLAllocHandle in -l$pdo_odbc_def_lib" >&5 + as_ac_Lib=`printf "%s\n" "ac_cv_lib_$pdo_odbc_def_lib""_SQLAllocHandle" | sed "$as_sed_sh"` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for SQLAllocHandle in -l$pdo_odbc_def_lib" >&5 printf %s "checking for SQLAllocHandle in -l$pdo_odbc_def_lib... " >&6; } if eval test \${$as_ac_Lib+y} then : @@ -55680,8 +56388,8 @@ esac fi eval ac_res=\$$as_ac_Lib - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf '%s\n' "$ac_res" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } if eval test \"x\$"$as_ac_Lib"\" = x"yes" then : @@ -55694,8 +56402,8 @@ LDFLAGS=$save_old_LDFLAGS ext_shared=$save_ext_shared unset ac_cv_lib_$pdo_odbc_def_lib_SQLAllocHandle - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? " Your ODBC library does not appear to be ODBC 3 compatible. You should consider using iODBC or unixODBC instead, and loading your @@ -55713,8 +56421,8 @@ LDFLAGS=$save_old_LDFLAGS ext_shared=$save_ext_shared unset ac_cv_lib_$pdo_odbc_def_lib_SQLBindCol - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "Your ODBC library does not exist or there was an error. See 'config.log' for more details" "$LINENO" 5; } ;; @@ -55881,7 +56589,7 @@ OLD_CPPFLAGS=$CPPFLAGS CPPFLAGS="$CPPFLAGS $PDO_ODBC_CFLAGS" - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for cli0cli.h" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cli0cli.h" >&5 printf %s "checking for cli0cli.h... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -55899,19 +56607,19 @@ php_pdo_odbc_have_header=yes -printf '%s\n' "#define HAVE_CLI0CLI_H 1" >>confdefs.h +printf "%s\n" "#define HAVE_CLI0CLI_H 1" >>confdefs.h - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } else case e in #( - e) { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } ;; + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } ;; esac fi rm -f conftest.err conftest.i conftest.$ac_ext - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for cli0core.h" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cli0core.h" >&5 printf %s "checking for cli0core.h... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -55929,19 +56637,19 @@ php_pdo_odbc_have_header=yes -printf '%s\n' "#define HAVE_CLI0CORE_H 1" >>confdefs.h +printf "%s\n" "#define HAVE_CLI0CORE_H 1" >>confdefs.h - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } else case e in #( - e) { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } ;; + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } ;; esac fi rm -f conftest.err conftest.i conftest.$ac_ext - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for cli0defs.h" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cli0defs.h" >&5 printf %s "checking for cli0defs.h... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -55959,19 +56667,19 @@ php_pdo_odbc_have_header=yes -printf '%s\n' "#define HAVE_CLI0DEFS_H 1" >>confdefs.h +printf "%s\n" "#define HAVE_CLI0DEFS_H 1" >>confdefs.h - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } else case e in #( - e) { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } ;; + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } ;; esac fi rm -f conftest.err conftest.i conftest.$ac_ext - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for cli0env.h" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cli0env.h" >&5 printf %s "checking for cli0env.h... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -55989,19 +56697,19 @@ php_pdo_odbc_have_header=yes -printf '%s\n' "#define HAVE_CLI0ENV_H 1" >>confdefs.h +printf "%s\n" "#define HAVE_CLI0ENV_H 1" >>confdefs.h - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } else case e in #( - e) { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } ;; + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } ;; esac fi rm -f conftest.err conftest.i conftest.$ac_ext - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for cli0ext.h" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cli0ext.h" >&5 printf %s "checking for cli0ext.h... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -56019,19 +56727,19 @@ php_pdo_odbc_have_header=yes -printf '%s\n' "#define HAVE_CLI0EXT_H 1" >>confdefs.h +printf "%s\n" "#define HAVE_CLI0EXT_H 1" >>confdefs.h - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } else case e in #( - e) { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } ;; + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } ;; esac fi rm -f conftest.err conftest.i conftest.$ac_ext - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for iodbc.h" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for iodbc.h" >&5 printf %s "checking for iodbc.h... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -56049,19 +56757,19 @@ php_pdo_odbc_have_header=yes -printf '%s\n' "#define HAVE_IODBC_H 1" >>confdefs.h +printf "%s\n" "#define HAVE_IODBC_H 1" >>confdefs.h - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } else case e in #( - e) { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } ;; + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } ;; esac fi rm -f conftest.err conftest.i conftest.$ac_ext - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for isql.h" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for isql.h" >&5 printf %s "checking for isql.h... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -56079,19 +56787,19 @@ php_pdo_odbc_have_header=yes -printf '%s\n' "#define HAVE_ISQL_H 1" >>confdefs.h +printf "%s\n" "#define HAVE_ISQL_H 1" >>confdefs.h - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } else case e in #( - e) { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } ;; + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } ;; esac fi rm -f conftest.err conftest.i conftest.$ac_ext - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for isqlext.h" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for isqlext.h" >&5 printf %s "checking for isqlext.h... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -56109,19 +56817,19 @@ php_pdo_odbc_have_header=yes -printf '%s\n' "#define HAVE_ISQLEXT_H 1" >>confdefs.h +printf "%s\n" "#define HAVE_ISQLEXT_H 1" >>confdefs.h - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } else case e in #( - e) { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } ;; + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } ;; esac fi rm -f conftest.err conftest.i conftest.$ac_ext - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for LibraryManager.h" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for LibraryManager.h" >&5 printf %s "checking for LibraryManager.h... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -56139,19 +56847,19 @@ php_pdo_odbc_have_header=yes -printf '%s\n' "#define HAVE_LIBRARYMANAGER_H 1" >>confdefs.h +printf "%s\n" "#define HAVE_LIBRARYMANAGER_H 1" >>confdefs.h - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } else case e in #( - e) { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } ;; + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } ;; esac fi rm -f conftest.err conftest.i conftest.$ac_ext - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for odbc.h" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for odbc.h" >&5 printf %s "checking for odbc.h... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -56169,19 +56877,19 @@ php_pdo_odbc_have_header=yes -printf '%s\n' "#define HAVE_ODBC_H 1" >>confdefs.h +printf "%s\n" "#define HAVE_ODBC_H 1" >>confdefs.h - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } else case e in #( - e) { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } ;; + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } ;; esac fi rm -f conftest.err conftest.i conftest.$ac_ext - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for sql.h" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sql.h" >&5 printf %s "checking for sql.h... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -56199,19 +56907,19 @@ php_pdo_odbc_have_header=yes -printf '%s\n' "#define HAVE_SQL_H 1" >>confdefs.h +printf "%s\n" "#define HAVE_SQL_H 1" >>confdefs.h - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } else case e in #( - e) { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } ;; + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } ;; esac fi rm -f conftest.err conftest.i conftest.$ac_ext - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for sqlcli1.h" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sqlcli1.h" >&5 printf %s "checking for sqlcli1.h... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -56229,19 +56937,19 @@ php_pdo_odbc_have_header=yes -printf '%s\n' "#define HAVE_SQLCLI1_H 1" >>confdefs.h +printf "%s\n" "#define HAVE_SQLCLI1_H 1" >>confdefs.h - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } else case e in #( - e) { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } ;; + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } ;; esac fi rm -f conftest.err conftest.i conftest.$ac_ext - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for sqlext.h" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sqlext.h" >&5 printf %s "checking for sqlext.h... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -56259,19 +56967,19 @@ php_pdo_odbc_have_header=yes -printf '%s\n' "#define HAVE_SQLEXT_H 1" >>confdefs.h +printf "%s\n" "#define HAVE_SQLEXT_H 1" >>confdefs.h - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } else case e in #( - e) { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } ;; + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } ;; esac fi rm -f conftest.err conftest.i conftest.$ac_ext - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for sqltypes.h" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sqltypes.h" >&5 printf %s "checking for sqltypes.h... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -56289,19 +56997,19 @@ php_pdo_odbc_have_header=yes -printf '%s\n' "#define HAVE_SQLTYPES_H 1" >>confdefs.h +printf "%s\n" "#define HAVE_SQLTYPES_H 1" >>confdefs.h - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } else case e in #( - e) { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } ;; + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } ;; esac fi rm -f conftest.err conftest.i conftest.$ac_ext - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for sqlucode.h" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sqlucode.h" >&5 printf %s "checking for sqlucode.h... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -56319,19 +57027,19 @@ php_pdo_odbc_have_header=yes -printf '%s\n' "#define HAVE_SQLUCODE_H 1" >>confdefs.h +printf "%s\n" "#define HAVE_SQLUCODE_H 1" >>confdefs.h - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } else case e in #( - e) { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } ;; + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } ;; esac fi rm -f conftest.err conftest.i conftest.$ac_ext - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for sqlunix.h" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sqlunix.h" >&5 printf %s "checking for sqlunix.h... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -56349,19 +57057,19 @@ php_pdo_odbc_have_header=yes -printf '%s\n' "#define HAVE_SQLUNIX_H 1" >>confdefs.h +printf "%s\n" "#define HAVE_SQLUNIX_H 1" >>confdefs.h - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } else case e in #( - e) { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } ;; + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } ;; esac fi rm -f conftest.err conftest.i conftest.$ac_ext - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for udbcext.h" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for udbcext.h" >&5 printf %s "checking for udbcext.h... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -56379,14 +57087,14 @@ php_pdo_odbc_have_header=yes -printf '%s\n' "#define HAVE_UDBCEXT_H 1" >>confdefs.h +printf "%s\n" "#define HAVE_UDBCEXT_H 1" >>confdefs.h - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } else case e in #( - e) { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } ;; + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } ;; esac fi rm -f conftest.err conftest.i conftest.$ac_ext @@ -56402,7 +57110,7 @@ fi -printf '%s\n' "#define PDO_ODBC_TYPE \"$pdo_odbc_flavour\"" >>confdefs.h +printf "%s\n" "#define PDO_ODBC_TYPE \"$pdo_odbc_flavour\"" >>confdefs.h @@ -56540,7 +57248,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_PDO_ODBC 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_PDO_ODBC 1" >>confdefs.h fi fi @@ -56688,7 +57396,7 @@ php_with_pdo_pgsql=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for PostgreSQL support for PDO" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for PostgreSQL support for PDO" >&5 printf %s "checking for PostgreSQL support for PDO... " >&6; } # Check whether --with-pdo-pgsql was given. @@ -56726,8 +57434,8 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -56744,17 +57452,17 @@ then : pkg_failed=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for libpq >= 10.0" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libpq >= 10.0" >&5 printf %s "checking for libpq >= 10.0... " >&6; } if test -n "$PGSQL_CFLAGS"; then pkg_cv_PGSQL_CFLAGS="$PGSQL_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libpq >= 10.0\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libpq >= 10.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "libpq >= 10.0") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_PGSQL_CFLAGS=`$PKG_CONFIG --cflags "libpq >= 10.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -56768,10 +57476,10 @@ pkg_cv_PGSQL_LIBS="$PGSQL_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libpq >= 10.0\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libpq >= 10.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "libpq >= 10.0") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_PGSQL_LIBS=`$PKG_CONFIG --libs "libpq >= 10.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -56785,8 +57493,8 @@ if test $pkg_failed = yes; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -56803,21 +57511,21 @@ found_pgsql=no elif test $pkg_failed = untried; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } found_pgsql=no else PGSQL_CFLAGS=$pkg_cv_PGSQL_CFLAGS PGSQL_LIBS=$pkg_cv_PGSQL_LIBS - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } found_pgsql=yes fi fi if test "x$found_pgsql" = xno then : - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for pg_config" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pg_config" >&5 printf %s "checking for pg_config... " >&6; } for i in $pgsql_dir $pgsql_dir/bin /usr/local/pgsql/bin /usr/local/bin /usr/bin ""; do if test -x $i/pg_config @@ -56828,8 +57536,8 @@ if ${PG_CONFIG:+false} : then : - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: not found" >&5 -printf '%s\n' "not found" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 +printf "%s\n" "not found" >&6; } if ${pgsql_dir:+false} : then : pgsql_search_paths="/usr /usr/local /usr/local/pgsql" @@ -56855,8 +57563,8 @@ done else case e in #( - e) { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $PG_CONFIG" >&5 -printf '%s\n' "$PG_CONFIG" >&6; } + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PG_CONFIG" >&5 +printf "%s\n" "$PG_CONFIG" >&6; } PGSQL_INCLUDE=$($PG_CONFIG --includedir) PGSQL_LIBDIR=$($PG_CONFIG --libdir) ;; @@ -57148,7 +57856,7 @@ esac done - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for PQencryptPasswordConn in -lpq" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for PQencryptPasswordConn in -lpq" >&5 printf %s "checking for PQencryptPasswordConn in -lpq... " >&6; } if test ${ac_cv_lib_pq_PQencryptPasswordConn+y} then : @@ -57189,8 +57897,8 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pq_PQencryptPasswordConn" >&5 -printf '%s\n' "$ac_cv_lib_pq_PQencryptPasswordConn" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pq_PQencryptPasswordConn" >&5 +printf "%s\n" "$ac_cv_lib_pq_PQencryptPasswordConn" >&6; } if test "x$ac_cv_lib_pq_PQencryptPasswordConn" = xyes then : @@ -57203,8 +57911,8 @@ LDFLAGS=$save_old_LDFLAGS ext_shared=$save_ext_shared unset ac_cv_lib_pq_PQencryptPasswordConn - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "PostgreSQL check failed: libpq 10.0 or later is required. See 'config.log' for more details" "$LINENO" 5; } ;; @@ -57213,8 +57921,8 @@ else case e in #( - e) { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + e) { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "Cannot find libpq-fe.h or pq library (libpq). Please specify the correct PostgreSQL installation path with environment variables PGSQL_CFLAGS and PGSQL_LIBS or provide the PostgreSQL installation directory. @@ -57227,7 +57935,7 @@ -printf '%s\n' "#define HAVE_PDO_PGSQL 1" >>confdefs.h +printf "%s\n" "#define HAVE_PDO_PGSQL 1" >>confdefs.h @@ -57348,7 +58056,7 @@ esac done - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for PQresultMemorySize in -lpq" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for PQresultMemorySize in -lpq" >&5 printf %s "checking for PQresultMemorySize in -lpq... " >&6; } if test ${ac_cv_lib_pq_PQresultMemorySize+y} then : @@ -57389,15 +58097,15 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pq_PQresultMemorySize" >&5 -printf '%s\n' "$ac_cv_lib_pq_PQresultMemorySize" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pq_PQresultMemorySize" >&5 +printf "%s\n" "$ac_cv_lib_pq_PQresultMemorySize" >&6; } if test "x$ac_cv_lib_pq_PQresultMemorySize" = xyes then : LDFLAGS=$save_old_LDFLAGS ext_shared=$save_ext_shared -printf '%s\n' "#define HAVE_PG_RESULT_MEMORY_SIZE 1" >>confdefs.h +printf "%s\n" "#define HAVE_PG_RESULT_MEMORY_SIZE 1" >>confdefs.h else case e in #( @@ -57529,7 +58237,7 @@ esac done - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for PQclosePrepared in -lpq" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for PQclosePrepared in -lpq" >&5 printf %s "checking for PQclosePrepared in -lpq... " >&6; } if test ${ac_cv_lib_pq_PQclosePrepared+y} then : @@ -57570,15 +58278,15 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pq_PQclosePrepared" >&5 -printf '%s\n' "$ac_cv_lib_pq_PQclosePrepared" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pq_PQclosePrepared" >&5 +printf "%s\n" "$ac_cv_lib_pq_PQclosePrepared" >&6; } if test "x$ac_cv_lib_pq_PQclosePrepared" = xyes then : LDFLAGS=$save_old_LDFLAGS ext_shared=$save_ext_shared -printf '%s\n' "#define HAVE_PQCLOSEPREPARED 1" >>confdefs.h +printf "%s\n" "#define HAVE_PQCLOSEPREPARED 1" >>confdefs.h else case e in #( @@ -57593,7 +58301,188 @@ - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for PDO includes" >&5 + save_old_LDFLAGS=$LDFLAGS + ac_stuff="$PGSQL_LIBS" + + save_ext_shared=$ext_shared + ext_shared=yes + + for ac_i in $ac_stuff; do + case $ac_i in #( + -pthread) : + + if test "x$ext_shared" = xyes +then : + LDFLAGS="$LDFLAGS -pthread" +else case e in #( + e) + + + unique=$(echo $ac_i|$SED 's/[^a-zA-Z0-9]/_/g') + + cmd="echo $ac_n \"\$EXTRA_LDFLAGS$unique$ac_c\"" + if test -n "$unique" && test "$(eval $cmd)" = "" ; then + eval "EXTRA_LDFLAGS$unique=set" + EXTRA_LDFLAGS="$EXTRA_LDFLAGS $ac_i" + fi + + + + unique=$(echo $ac_i|$SED 's/[^a-zA-Z0-9]/_/g') + + cmd="echo $ac_n \"\$EXTRA_LDFLAGS_PROGRAM$unique$ac_c\"" + if test -n "$unique" && test "$(eval $cmd)" = "" ; then + eval "EXTRA_LDFLAGS_PROGRAM$unique=set" + EXTRA_LDFLAGS_PROGRAM="$EXTRA_LDFLAGS_PROGRAM $ac_i" + fi + + ;; +esac +fi + ;; #( + -l*) : + + ac_ii=$(echo $ac_i|cut -c 3-) + + + case $ac_ii in + c|c_r) ;; + *) + if test "$ext_shared" = "yes"; then + LDFLAGS="$LDFLAGS -l$ac_ii" + else + + + case $ac_ii in + c|c_r) ;; + *) + LIBS="$LIBS -l$ac_ii" + ;; + esac + + + fi + ;; + esac + + + ;; #( + -L*) : + + ac_ii=$(echo $ac_i|cut -c 3-) + + if test "$ac_ii" != "/usr/$PHP_LIBDIR" && test "$ac_ii" != "/usr/lib"; then + + if test -z "$ac_ii" || echo "$ac_ii" | grep '^/' >/dev/null ; then + ai_p=$ac_ii + else + + ep_dir=$(echo $ac_ii|$SED 's%/*[^/][^/]*/*$%%') + + if test -z $ep_dir ; then + ep_realdir=$(pwd) + else + ep_realdir=$(cd "$ep_dir" && pwd) + fi + ai_p="$ep_realdir"/$(basename "$ac_ii") + fi + + + if test "$ext_shared" = "yes"; then + LDFLAGS="-L$ai_p $LDFLAGS" + test -n "$ld_runpath_switch" && LDFLAGS="$ld_runpath_switch$ai_p $LDFLAGS" + else + + + + unique=$(echo $ai_p|$SED 's/[^a-zA-Z0-9]/_/g') + + cmd="echo $ac_n \"\$LIBPATH$unique$ac_c\"" + if test -n "$unique" && test "$(eval $cmd)" = "" ; then + eval "LIBPATH$unique=set" + + test -n "$ld_runpath_switch" && LDFLAGS="$LDFLAGS $ld_runpath_switch$ai_p" + LDFLAGS="$LDFLAGS -L$ai_p" + PHP_RPATHS="$PHP_RPATHS $ai_p" + + fi + + + fi + + fi + + ;; #( + *) : + ;; +esac + done + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for PQclosePortal in -lpq" >&5 +printf %s "checking for PQclosePortal in -lpq... " >&6; } +if test ${ac_cv_lib_pq_PQclosePortal+y} +then : + printf %s "(cached) " >&6 +else case e in #( + e) ac_check_lib_save_LIBS=$LIBS +LIBS="-lpq $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. + The 'extern "C"' is for builds by C++ compilers; + although this is not generally supported in C code supporting it here + has little cost and some practical benefit (sr 110532). */ +#ifdef __cplusplus +extern "C" +#endif +char PQclosePortal (void); +int +main (void) +{ +return PQclosePortal (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_pq_PQclosePortal=yes +else case e in #( + e) ac_cv_lib_pq_PQclosePortal=no ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS ;; +esac +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pq_PQclosePortal" >&5 +printf "%s\n" "$ac_cv_lib_pq_PQclosePortal" >&6; } +if test "x$ac_cv_lib_pq_PQclosePortal" = xyes +then : + + LDFLAGS=$save_old_LDFLAGS + ext_shared=$save_ext_shared + +printf "%s\n" "#define HAVE_PQCLOSEPORTAL 1" >>confdefs.h + + +else case e in #( + e) + LDFLAGS=$save_old_LDFLAGS + ext_shared=$save_ext_shared + unset ac_cv_lib_pq_PQclosePortal + + ;; +esac +fi + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for PDO includes" >&5 printf %s "checking for PDO includes... " >&6; } if test ${pdo_cv_inc_path+y} then : @@ -57608,8 +58497,8 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $pdo_cv_inc_path" >&5 -printf '%s\n' "$pdo_cv_inc_path" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $pdo_cv_inc_path" >&5 +printf "%s\n" "$pdo_cv_inc_path" >&6; } if test -n "$pdo_cv_inc_path"; then : else @@ -57752,7 +58641,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_PDO_PGSQL 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_PDO_PGSQL 1" >>confdefs.h fi fi @@ -57902,7 +58791,7 @@ php_with_pdo_sqlite=$PHP_PDO -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for sqlite 3 support for PDO" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sqlite 3 support for PDO" >&5 printf %s "checking for sqlite 3 support for PDO... " >&6; } # Check whether --with-pdo-sqlite was given. @@ -57940,15 +58829,15 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } if test "$PHP_PDO_SQLITE" != "no"; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for PDO includes" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for PDO includes" >&5 printf %s "checking for PDO includes... " >&6; } if test ${pdo_cv_inc_path+y} then : @@ -57963,8 +58852,8 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $pdo_cv_inc_path" >&5 -printf '%s\n' "$pdo_cv_inc_path" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $pdo_cv_inc_path" >&5 +printf "%s\n" "$pdo_cv_inc_path" >&6; } if test -n "$pdo_cv_inc_path"; then : else @@ -57975,17 +58864,17 @@ pkg_failed=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for sqlite3 >= 3.7.7" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sqlite3 >= 3.7.7" >&5 printf %s "checking for sqlite3 >= 3.7.7... " >&6; } if test -n "$SQLITE_CFLAGS"; then pkg_cv_SQLITE_CFLAGS="$SQLITE_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"sqlite3 >= 3.7.7\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"sqlite3 >= 3.7.7\""; } >&5 ($PKG_CONFIG --exists --print-errors "sqlite3 >= 3.7.7") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_SQLITE_CFLAGS=`$PKG_CONFIG --cflags "sqlite3 >= 3.7.7" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -57999,10 +58888,10 @@ pkg_cv_SQLITE_LIBS="$SQLITE_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"sqlite3 >= 3.7.7\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"sqlite3 >= 3.7.7\""; } >&5 ($PKG_CONFIG --exists --print-errors "sqlite3 >= 3.7.7") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_SQLITE_LIBS=`$PKG_CONFIG --libs "sqlite3 >= 3.7.7" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -58016,8 +58905,8 @@ if test $pkg_failed = yes; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -58043,10 +58932,10 @@ and SQLITE_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -58060,8 +58949,8 @@ else SQLITE_CFLAGS=$pkg_cv_SQLITE_CFLAGS SQLITE_LIBS=$pkg_cv_SQLITE_LIBS - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } for ac_i in $SQLITE_CFLAGS; do @@ -58340,7 +59229,7 @@ esac done - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for sqlite3_close_v2 in -lsqlite3" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sqlite3_close_v2 in -lsqlite3" >&5 printf %s "checking for sqlite3_close_v2 in -lsqlite3... " >&6; } if test ${ac_cv_lib_sqlite3_sqlite3_close_v2+y} then : @@ -58381,15 +59270,15 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sqlite3_sqlite3_close_v2" >&5 -printf '%s\n' "$ac_cv_lib_sqlite3_sqlite3_close_v2" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sqlite3_sqlite3_close_v2" >&5 +printf "%s\n" "$ac_cv_lib_sqlite3_sqlite3_close_v2" >&6; } if test "x$ac_cv_lib_sqlite3_sqlite3_close_v2" = xyes then : LDFLAGS=$save_old_LDFLAGS ext_shared=$save_ext_shared -printf '%s\n' "#define HAVE_SQLITE3_CLOSE_V2 1" >>confdefs.h +printf "%s\n" "#define HAVE_SQLITE3_CLOSE_V2 1" >>confdefs.h else case e in #( @@ -58521,7 +59410,7 @@ esac done - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for sqlite3_column_table_name in -lsqlite3" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sqlite3_column_table_name in -lsqlite3" >&5 printf %s "checking for sqlite3_column_table_name in -lsqlite3... " >&6; } if test ${ac_cv_lib_sqlite3_sqlite3_column_table_name+y} then : @@ -58562,15 +59451,15 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sqlite3_sqlite3_column_table_name" >&5 -printf '%s\n' "$ac_cv_lib_sqlite3_sqlite3_column_table_name" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sqlite3_sqlite3_column_table_name" >&5 +printf "%s\n" "$ac_cv_lib_sqlite3_sqlite3_column_table_name" >&6; } if test "x$ac_cv_lib_sqlite3_sqlite3_column_table_name" = xyes then : LDFLAGS=$save_old_LDFLAGS ext_shared=$save_ext_shared -printf '%s\n' "#define HAVE_SQLITE3_COLUMN_TABLE_NAME 1" >>confdefs.h +printf "%s\n" "#define HAVE_SQLITE3_COLUMN_TABLE_NAME 1" >>confdefs.h else case e in #( @@ -58702,7 +59591,7 @@ esac done - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for sqlite3_load_extension in -lsqlite3" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sqlite3_load_extension in -lsqlite3" >&5 printf %s "checking for sqlite3_load_extension in -lsqlite3... " >&6; } if test ${ac_cv_lib_sqlite3_sqlite3_load_extension+y} then : @@ -58743,8 +59632,8 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sqlite3_sqlite3_load_extension" >&5 -printf '%s\n' "$ac_cv_lib_sqlite3_sqlite3_load_extension" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sqlite3_sqlite3_load_extension" >&5 +printf "%s\n" "$ac_cv_lib_sqlite3_sqlite3_load_extension" >&6; } if test "x$ac_cv_lib_sqlite3_sqlite3_load_extension" = xyes then : @@ -58758,7 +59647,7 @@ ext_shared=$save_ext_shared unset ac_cv_lib_sqlite3_sqlite3_load_extension -printf '%s\n' "#define PDO_SQLITE_OMIT_LOAD_EXTENSION 1" >>confdefs.h +printf "%s\n" "#define PDO_SQLITE_OMIT_LOAD_EXTENSION 1" >>confdefs.h ;; esac @@ -58903,7 +59792,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_PDO_SQLITE 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_PDO_SQLITE 1" >>confdefs.h fi fi @@ -59052,357 +59941,9 @@ -php_enable_pdo=yes - -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to enable PDO support" >&5 -printf %s "checking whether to enable PDO support... " >&6; } -# Check whether --enable-pdo was given. -if test ${enable_pdo+y} -then : - enableval=$enable_pdo; PHP_PDO=$enableval -else case e in #( - e) - PHP_PDO=yes - test "$PHP_ENABLE_ALL" && PHP_PDO=$PHP_ENABLE_ALL - ;; -esac -fi - - - -ext_output="yes, shared" -ext_shared=yes -case $PHP_PDO in -shared,*) - PHP_PDO=$(echo "$PHP_PDO"|$SED 's/^shared,//') - ;; -shared) - PHP_PDO=yes - ;; -no) - ext_output=no - ext_shared=no - ;; -*) - ext_output=yes - ext_shared=no - ;; -esac - - - -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } - - - - -if test "$PHP_PDO" != "no"; then - PHP_PDO=yes - - - ext_builddir=ext/pdo - ext_srcdir=$abs_srcdir/ext/pdo - ext_dir=ext/pdo - - ac_extra= - - if test "$ext_shared" != "shared" && test "$ext_shared" != "yes" && test "" != "cli"; then - PHP_PDO_SHARED=no - - - case $ext_dir in - "") ac_srcdir="$abs_srcdir/"; unset ac_bdir; ac_inc="-I. -I$abs_srcdir" ;; - /*) ac_srcdir=$(echo "$ext_dir"|cut -c 2-)"/"; ac_bdir=$ac_srcdir; ac_inc="-I$ac_bdir -I$abs_srcdir/$ac_bdir" ;; - *) ac_srcdir="$abs_srcdir/$ext_dir/"; ac_bdir="$ext_dir/"; ac_inc="-I$ac_bdir -I$ac_srcdir" ;; - esac - - - - b_c_pre=$php_c_pre - b_cxx_pre=$php_cxx_pre - b_c_meta=$php_c_meta - b_cxx_meta=$php_cxx_meta - b_c_post=$php_c_post - b_cxx_post=$php_cxx_post - b_lo=$php_lo - - - old_IFS=$IFS - for ac_src in pdo.c pdo_dbh.c pdo_stmt.c pdo_sql_parser.c pdo_sqlstate.c; do - - IFS=. - set $ac_src - ac_obj=$1 - IFS=$old_IFS - - PHP_GLOBAL_OBJS="$PHP_GLOBAL_OBJS $ac_bdir$ac_obj.lo" - - case $ac_src in - *.c) ac_comp="$b_c_pre $ac_inc $b_c_meta $ac_extra -c $ac_srcdir$ac_src -o $ac_bdir$ac_obj.$b_lo $b_c_post" ;; - *.s) ac_comp="$b_c_pre $ac_inc $b_c_meta $ac_extra -c $ac_srcdir$ac_src -o $ac_bdir$ac_obj.$b_lo $b_c_post" ;; - *.S) ac_comp="$b_c_pre $ac_inc $b_c_meta $ac_extra -c $ac_srcdir$ac_src -o $ac_bdir$ac_obj.$b_lo $b_c_post" ;; - *.cpp|*.cc|*.cxx) ac_comp="$b_cxx_pre $ac_inc $b_cxx_meta $ac_extra -c $ac_srcdir$ac_src -o $ac_bdir$ac_obj.$b_lo $b_cxx_post" ;; - esac - - ac_comp="$ac_comp -MMD -MF $ac_bdir$ac_obj.dep -MT $ac_bdir$ac_obj.lo" - - cat >>Makefile.objects<>Makefile.objects<>Makefile.objects<>confdefs.h - - fi - fi - - if test "$ext_shared" != "shared" && test "$ext_shared" != "yes" && test "" = "cli"; then - PHP_PDO_SHARED=no - case "$PHP_SAPI" in - cgi|embed|phpdbg) - - - case $ext_dir in - "") ac_srcdir="$abs_srcdir/"; unset ac_bdir; ac_inc="-I. -I$abs_srcdir" ;; - /*) ac_srcdir=$(echo "$ext_dir"|cut -c 2-)"/"; ac_bdir=$ac_srcdir; ac_inc="-I$ac_bdir -I$abs_srcdir/$ac_bdir" ;; - *) ac_srcdir="$abs_srcdir/$ext_dir/"; ac_bdir="$ext_dir/"; ac_inc="-I$ac_bdir -I$ac_srcdir" ;; - esac - - - - b_c_pre=$php_c_pre - b_cxx_pre=$php_cxx_pre - b_c_meta=$php_c_meta - b_cxx_meta=$php_cxx_meta - b_c_post=$php_c_post - b_cxx_post=$php_cxx_post - b_lo=$php_lo - - - old_IFS=$IFS - for ac_src in pdo.c pdo_dbh.c pdo_stmt.c pdo_sql_parser.c pdo_sqlstate.c; do - - IFS=. - set $ac_src - ac_obj=$1 - IFS=$old_IFS - - PHP_GLOBAL_OBJS="$PHP_GLOBAL_OBJS $ac_bdir$ac_obj.lo" - - case $ac_src in - *.c) ac_comp="$b_c_pre $ac_inc $b_c_meta $ac_extra -c $ac_srcdir$ac_src -o $ac_bdir$ac_obj.$b_lo $b_c_post" ;; - *.s) ac_comp="$b_c_pre $ac_inc $b_c_meta $ac_extra -c $ac_srcdir$ac_src -o $ac_bdir$ac_obj.$b_lo $b_c_post" ;; - *.S) ac_comp="$b_c_pre $ac_inc $b_c_meta $ac_extra -c $ac_srcdir$ac_src -o $ac_bdir$ac_obj.$b_lo $b_c_post" ;; - *.cpp|*.cc|*.cxx) ac_comp="$b_cxx_pre $ac_inc $b_cxx_meta $ac_extra -c $ac_srcdir$ac_src -o $ac_bdir$ac_obj.$b_lo $b_cxx_post" ;; - esac - - ac_comp="$ac_comp -MMD -MF $ac_bdir$ac_obj.dep -MT $ac_bdir$ac_obj.lo" - - cat >>Makefile.objects<>Makefile.objects<> Makefile.fragments - -fi - - - - - php_with_pgsql=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for PostgreSQL support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for PostgreSQL support" >&5 printf %s "checking for PostgreSQL support... " >&6; } # Check whether --with-pgsql was given. @@ -59440,8 +59981,8 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -59458,17 +59999,17 @@ then : pkg_failed=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for libpq >= 10.0" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libpq >= 10.0" >&5 printf %s "checking for libpq >= 10.0... " >&6; } if test -n "$PGSQL_CFLAGS"; then pkg_cv_PGSQL_CFLAGS="$PGSQL_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libpq >= 10.0\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libpq >= 10.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "libpq >= 10.0") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_PGSQL_CFLAGS=`$PKG_CONFIG --cflags "libpq >= 10.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -59482,10 +60023,10 @@ pkg_cv_PGSQL_LIBS="$PGSQL_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libpq >= 10.0\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libpq >= 10.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "libpq >= 10.0") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_PGSQL_LIBS=`$PKG_CONFIG --libs "libpq >= 10.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -59499,8 +60040,8 @@ if test $pkg_failed = yes; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -59517,21 +60058,21 @@ found_pgsql=no elif test $pkg_failed = untried; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } found_pgsql=no else PGSQL_CFLAGS=$pkg_cv_PGSQL_CFLAGS PGSQL_LIBS=$pkg_cv_PGSQL_LIBS - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } found_pgsql=yes fi fi if test "x$found_pgsql" = xno then : - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for pg_config" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pg_config" >&5 printf %s "checking for pg_config... " >&6; } for i in $pgsql_dir $pgsql_dir/bin /usr/local/pgsql/bin /usr/local/bin /usr/bin ""; do if test -x $i/pg_config @@ -59542,8 +60083,8 @@ if ${PG_CONFIG:+false} : then : - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: not found" >&5 -printf '%s\n' "not found" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 +printf "%s\n" "not found" >&6; } if ${pgsql_dir:+false} : then : pgsql_search_paths="/usr /usr/local /usr/local/pgsql" @@ -59569,8 +60110,8 @@ done else case e in #( - e) { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $PG_CONFIG" >&5 -printf '%s\n' "$PG_CONFIG" >&6; } + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PG_CONFIG" >&5 +printf "%s\n" "$PG_CONFIG" >&6; } PGSQL_INCLUDE=$($PG_CONFIG --includedir) PGSQL_LIBDIR=$($PG_CONFIG --libdir) ;; @@ -59862,7 +60403,7 @@ esac done - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for PQencryptPasswordConn in -lpq" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for PQencryptPasswordConn in -lpq" >&5 printf %s "checking for PQencryptPasswordConn in -lpq... " >&6; } if test ${ac_cv_lib_pq_PQencryptPasswordConn+y} then : @@ -59903,8 +60444,8 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pq_PQencryptPasswordConn" >&5 -printf '%s\n' "$ac_cv_lib_pq_PQencryptPasswordConn" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pq_PQencryptPasswordConn" >&5 +printf "%s\n" "$ac_cv_lib_pq_PQencryptPasswordConn" >&6; } if test "x$ac_cv_lib_pq_PQencryptPasswordConn" = xyes then : @@ -59917,8 +60458,8 @@ LDFLAGS=$save_old_LDFLAGS ext_shared=$save_ext_shared unset ac_cv_lib_pq_PQencryptPasswordConn - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "PostgreSQL check failed: libpq 10.0 or later is required. See 'config.log' for more details" "$LINENO" 5; } ;; @@ -59927,8 +60468,8 @@ else case e in #( - e) { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + e) { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "Cannot find libpq-fe.h or pq library (libpq). Please specify the correct PostgreSQL installation path with environment variables PGSQL_CFLAGS and PGSQL_LIBS or provide the PostgreSQL installation directory. @@ -59941,7 +60482,7 @@ -printf '%s\n' "#define HAVE_PGSQL 1" >>confdefs.h +printf "%s\n" "#define HAVE_PGSQL 1" >>confdefs.h @@ -60062,7 +60603,7 @@ esac done - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for PQresultMemorySize in -lpq" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for PQresultMemorySize in -lpq" >&5 printf %s "checking for PQresultMemorySize in -lpq... " >&6; } if test ${ac_cv_lib_pq_PQresultMemorySize+y} then : @@ -60103,15 +60644,15 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pq_PQresultMemorySize" >&5 -printf '%s\n' "$ac_cv_lib_pq_PQresultMemorySize" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pq_PQresultMemorySize" >&5 +printf "%s\n" "$ac_cv_lib_pq_PQresultMemorySize" >&6; } if test "x$ac_cv_lib_pq_PQresultMemorySize" = xyes then : LDFLAGS=$save_old_LDFLAGS ext_shared=$save_ext_shared -printf '%s\n' "#define HAVE_PG_RESULT_MEMORY_SIZE 1" >>confdefs.h +printf "%s\n" "#define HAVE_PG_RESULT_MEMORY_SIZE 1" >>confdefs.h else case e in #( @@ -60242,7 +60783,7 @@ esac done - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for PQchangePassword in -lpq" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for PQchangePassword in -lpq" >&5 printf %s "checking for PQchangePassword in -lpq... " >&6; } if test ${ac_cv_lib_pq_PQchangePassword+y} then : @@ -60283,15 +60824,15 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pq_PQchangePassword" >&5 -printf '%s\n' "$ac_cv_lib_pq_PQchangePassword" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pq_PQchangePassword" >&5 +printf "%s\n" "$ac_cv_lib_pq_PQchangePassword" >&6; } if test "x$ac_cv_lib_pq_PQchangePassword" = xyes then : LDFLAGS=$save_old_LDFLAGS ext_shared=$save_ext_shared -printf '%s\n' "#define HAVE_PG_CHANGE_PASSWORD 1" >>confdefs.h +printf "%s\n" "#define HAVE_PG_CHANGE_PASSWORD 1" >>confdefs.h else case e in #( @@ -60422,7 +60963,7 @@ esac done - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for PQsocketPoll in -lpq" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for PQsocketPoll in -lpq" >&5 printf %s "checking for PQsocketPoll in -lpq... " >&6; } if test ${ac_cv_lib_pq_PQsocketPoll+y} then : @@ -60463,15 +61004,15 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pq_PQsocketPoll" >&5 -printf '%s\n' "$ac_cv_lib_pq_PQsocketPoll" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pq_PQsocketPoll" >&5 +printf "%s\n" "$ac_cv_lib_pq_PQsocketPoll" >&6; } if test "x$ac_cv_lib_pq_PQsocketPoll" = xyes then : LDFLAGS=$save_old_LDFLAGS ext_shared=$save_ext_shared -printf '%s\n' "#define HAVE_PG_SOCKET_POLL 1" >>confdefs.h +printf "%s\n" "#define HAVE_PG_SOCKET_POLL 1" >>confdefs.h else case e in #( @@ -60490,7 +61031,7 @@ ac_fn_check_decl "$LINENO" "PGRES_TUPLES_CHUNK" "ac_cv_have_decl_PGRES_TUPLES_CHUNK" "#include -" "$ac_c_undeclared_builtin_options$ac_c_future_darwin_options" "CFLAGS" +" "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_PGRES_TUPLES_CHUNK" = xyes then : ac_have_decl=1 @@ -60498,7 +61039,7 @@ e) ac_have_decl=0 ;; esac fi -printf '%s\n' "#define HAVE_DECL_PGRES_TUPLES_CHUNK $ac_have_decl" >>confdefs.h +printf "%s\n" "#define HAVE_DECL_PGRES_TUPLES_CHUNK $ac_have_decl" >>confdefs.h if test $ac_have_decl = 1 then : @@ -60619,7 +61160,7 @@ esac done - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for PQsetChunkedRowsMode in -lpq" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for PQsetChunkedRowsMode in -lpq" >&5 printf %s "checking for PQsetChunkedRowsMode in -lpq... " >&6; } if test ${ac_cv_lib_pq_PQsetChunkedRowsMode+y} then : @@ -60660,15 +61201,15 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pq_PQsetChunkedRowsMode" >&5 -printf '%s\n' "$ac_cv_lib_pq_PQsetChunkedRowsMode" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pq_PQsetChunkedRowsMode" >&5 +printf "%s\n" "$ac_cv_lib_pq_PQsetChunkedRowsMode" >&6; } if test "x$ac_cv_lib_pq_PQsetChunkedRowsMode" = xyes then : LDFLAGS=$save_old_LDFLAGS ext_shared=$save_ext_shared -printf '%s\n' "#define HAVE_PG_SET_CHUNKED_ROWS_SIZE 1" >>confdefs.h +printf "%s\n" "#define HAVE_PG_SET_CHUNKED_ROWS_SIZE 1" >>confdefs.h else case e in #( @@ -60684,7 +61225,7 @@ fi - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking if PGVerbosity enum has PQERRORS_SQLSTATE" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if PGVerbosity enum has PQERRORS_SQLSTATE" >&5 printf %s "checking if PGVerbosity enum has PQERRORS_SQLSTATE... " >&6; } if test ${php_cv_enum_pgverbosity_pqerrors_sqlstate+y} then : @@ -60711,12 +61252,12 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_enum_pgverbosity_pqerrors_sqlstate" >&5 -printf '%s\n' "$php_cv_enum_pgverbosity_pqerrors_sqlstate" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_enum_pgverbosity_pqerrors_sqlstate" >&5 +printf "%s\n" "$php_cv_enum_pgverbosity_pqerrors_sqlstate" >&6; } if test "x$php_cv_enum_pgverbosity_pqerrors_sqlstate" = xyes then : -printf '%s\n' "#define HAVE_PQERRORS_SQLSTATE 1" >>confdefs.h +printf "%s\n" "#define HAVE_PQERRORS_SQLSTATE 1" >>confdefs.h fi @@ -60857,7 +61398,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_PGSQL 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_PGSQL 1" >>confdefs.h fi fi @@ -61002,7 +61543,7 @@ php_enable_phar=yes -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for phar archive support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for phar archive support" >&5 printf %s "checking for phar archive support... " >&6; } # Check whether --enable-phar was given. if test ${enable_phar+y} @@ -61039,8 +61580,8 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -61181,7 +61722,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_PHAR 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_PHAR 1" >>confdefs.h fi fi @@ -61300,25 +61841,25 @@ fi - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for phar openssl support" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for phar openssl support" >&5 printf %s "checking for phar openssl support... " >&6; } if test "x$PHP_OPENSSL_SHARED" = xyes then : - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no (shared openssl)" >&5 -printf '%s\n' "no (shared openssl)" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no (shared openssl)" >&5 +printf "%s\n" "no (shared openssl)" >&6; } else case e in #( e) if test "x$PHP_OPENSSL" = xyes then : - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } -printf '%s\n' "#define PHAR_HAVE_OPENSSL 1" >>confdefs.h +printf "%s\n" "#define PHAR_HAVE_OPENSSL 1" >>confdefs.h else case e in #( - e) { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } ;; + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } ;; esac fi ;; esac @@ -61396,7 +61937,7 @@ php_enable_posix=yes -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to enable POSIX-like functions" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable POSIX-like functions" >&5 printf %s "checking whether to enable POSIX-like functions... " >&6; } # Check whether --enable-posix was given. if test ${enable_posix+y} @@ -61433,15 +61974,15 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } if test "$PHP_POSIX" = "yes"; then -printf '%s\n' "#define HAVE_POSIX 1" >>confdefs.h +printf "%s\n" "#define HAVE_POSIX 1" >>confdefs.h ext_builddir=ext/posix @@ -61578,7 +62119,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_POSIX 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_POSIX 1" >>confdefs.h fi fi @@ -61700,85 +62241,85 @@ ac_fn_c_check_func "$LINENO" "ctermid" "ac_cv_func_ctermid" if test "x$ac_cv_func_ctermid" = xyes then : - printf '%s\n' "#define HAVE_CTERMID 1" >>confdefs.h + printf "%s\n" "#define HAVE_CTERMID 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "eaccess" "ac_cv_func_eaccess" if test "x$ac_cv_func_eaccess" = xyes then : - printf '%s\n' "#define HAVE_EACCESS 1" >>confdefs.h + printf "%s\n" "#define HAVE_EACCESS 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "getgrgid_r" "ac_cv_func_getgrgid_r" if test "x$ac_cv_func_getgrgid_r" = xyes then : - printf '%s\n' "#define HAVE_GETGRGID_R 1" >>confdefs.h + printf "%s\n" "#define HAVE_GETGRGID_R 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "getgroups" "ac_cv_func_getgroups" if test "x$ac_cv_func_getgroups" = xyes then : - printf '%s\n' "#define HAVE_GETGROUPS 1" >>confdefs.h + printf "%s\n" "#define HAVE_GETGROUPS 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "getpgid" "ac_cv_func_getpgid" if test "x$ac_cv_func_getpgid" = xyes then : - printf '%s\n' "#define HAVE_GETPGID 1" >>confdefs.h + printf "%s\n" "#define HAVE_GETPGID 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "getrlimit" "ac_cv_func_getrlimit" if test "x$ac_cv_func_getrlimit" = xyes then : - printf '%s\n' "#define HAVE_GETRLIMIT 1" >>confdefs.h + printf "%s\n" "#define HAVE_GETRLIMIT 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "getsid" "ac_cv_func_getsid" if test "x$ac_cv_func_getsid" = xyes then : - printf '%s\n' "#define HAVE_GETSID 1" >>confdefs.h + printf "%s\n" "#define HAVE_GETSID 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "initgroups" "ac_cv_func_initgroups" if test "x$ac_cv_func_initgroups" = xyes then : - printf '%s\n' "#define HAVE_INITGROUPS 1" >>confdefs.h + printf "%s\n" "#define HAVE_INITGROUPS 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "mkfifo" "ac_cv_func_mkfifo" if test "x$ac_cv_func_mkfifo" = xyes then : - printf '%s\n' "#define HAVE_MKFIFO 1" >>confdefs.h + printf "%s\n" "#define HAVE_MKFIFO 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "mknod" "ac_cv_func_mknod" if test "x$ac_cv_func_mknod" = xyes then : - printf '%s\n' "#define HAVE_MKNOD 1" >>confdefs.h + printf "%s\n" "#define HAVE_MKNOD 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "setegid" "ac_cv_func_setegid" if test "x$ac_cv_func_setegid" = xyes then : - printf '%s\n' "#define HAVE_SETEGID 1" >>confdefs.h + printf "%s\n" "#define HAVE_SETEGID 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "seteuid" "ac_cv_func_seteuid" if test "x$ac_cv_func_seteuid" = xyes then : - printf '%s\n' "#define HAVE_SETEUID 1" >>confdefs.h + printf "%s\n" "#define HAVE_SETEUID 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "setrlimit" "ac_cv_func_setrlimit" if test "x$ac_cv_func_setrlimit" = xyes then : - printf '%s\n' "#define HAVE_SETRLIMIT 1" >>confdefs.h + printf "%s\n" "#define HAVE_SETRLIMIT 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "setsid" "ac_cv_func_setsid" if test "x$ac_cv_func_setsid" = xyes then : - printf '%s\n' "#define HAVE_SETSID 1" >>confdefs.h + printf "%s\n" "#define HAVE_SETSID 1" >>confdefs.h fi @@ -61789,7 +62330,7 @@ ac_fn_c_check_func "$LINENO" "makedev" "ac_cv_func_makedev" if test "x$ac_cv_func_makedev" = xyes then : - printf '%s\n' "#define HAVE_MAKEDEV 1" >>confdefs.h + printf "%s\n" "#define HAVE_MAKEDEV 1" >>confdefs.h else case e in #( e) ac_fn_check_decl "$LINENO" "makedev" "ac_cv_have_decl_makedev" " @@ -61800,10 +62341,10 @@ # include #endif -" "$ac_c_undeclared_builtin_options$ac_c_future_darwin_options" "CFLAGS" +" "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_makedev" = xyes then : - printf '%s\n' "#define HAVE_MAKEDEV 1" >>confdefs.h + printf "%s\n" "#define HAVE_MAKEDEV 1" >>confdefs.h fi ;; esac @@ -61818,20 +62359,20 @@ e) ac_fn_c_check_func "$LINENO" "pathconf" "ac_cv_func_pathconf" if test "x$ac_cv_func_pathconf" = xyes then : - printf '%s\n' "#define HAVE_PATHCONF 1" >>confdefs.h + printf "%s\n" "#define HAVE_PATHCONF 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "fpathconf" "ac_cv_func_fpathconf" if test "x$ac_cv_func_fpathconf" = xyes then : - printf '%s\n' "#define HAVE_FPATHCONF 1" >>confdefs.h + printf "%s\n" "#define HAVE_FPATHCONF 1" >>confdefs.h fi ;; esac fi - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for working ttyname_r() implementation" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working ttyname_r() implementation" >&5 printf %s "checking for working ttyname_r() implementation... " >&6; } if test ${php_cv_func_ttyname_r+y} then : @@ -61877,16 +62418,16 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_func_ttyname_r" >&5 -printf '%s\n' "$php_cv_func_ttyname_r" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_func_ttyname_r" >&5 +printf "%s\n" "$php_cv_func_ttyname_r" >&6; } if test "x$php_cv_func_ttyname_r" = xyes then : -printf '%s\n' "#define HAVE_TTYNAME_R 1" >>confdefs.h +printf "%s\n" "#define HAVE_TTYNAME_R 1" >>confdefs.h else case e in #( - e) { printf '%s\n' "$as_me:${as_lineno-$LINENO}: posix_ttyname() will be thread-unsafe" >&5 -printf '%s\n' "$as_me: posix_ttyname() will be thread-unsafe" >&6;} ;; + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: posix_ttyname() will be thread-unsafe" >&5 +printf "%s\n" "$as_me: posix_ttyname() will be thread-unsafe" >&6;} ;; esac fi @@ -61900,7 +62441,7 @@ if test "x$ac_cv_member_struct_utsname_domainname" = xyes then : -printf '%s\n' "#define HAVE_STRUCT_UTSNAME_DOMAINNAME 1" >>confdefs.h +printf "%s\n" "#define HAVE_STRUCT_UTSNAME_DOMAINNAME 1" >>confdefs.h fi @@ -61910,11 +62451,11 @@ -ac_fn_check_decl "$LINENO" "arc4random_buf" "ac_cv_have_decl_arc4random_buf" "$ac_includes_default" "$ac_c_undeclared_builtin_options$ac_c_future_darwin_options" "CFLAGS" +ac_fn_check_decl "$LINENO" "arc4random_buf" "ac_cv_have_decl_arc4random_buf" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_arc4random_buf" = xyes then : -printf '%s\n' "#define HAVE_ARC4RANDOM_BUF 1" >>confdefs.h +printf "%s\n" "#define HAVE_ARC4RANDOM_BUF 1" >>confdefs.h fi @@ -61925,7 +62466,7 @@ " if test "x$ac_cv_header_CommonCrypto_CommonRandom_h" = xyes then : - printf '%s\n' "#define HAVE_COMMONCRYPTO_COMMONRANDOM_H 1" >>confdefs.h + printf "%s\n" "#define HAVE_COMMONCRYPTO_COMMONRANDOM_H 1" >>confdefs.h fi @@ -61933,7 +62474,7 @@ ac_fn_c_check_func "$LINENO" "getrandom" "ac_cv_func_getrandom" if test "x$ac_cv_func_getrandom" = xyes then : - printf '%s\n' "#define HAVE_GETRANDOM 1" >>confdefs.h + printf "%s\n" "#define HAVE_GETRANDOM 1" >>confdefs.h fi @@ -62073,7 +62614,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_RANDOM 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_RANDOM 1" >>confdefs.h fi fi @@ -62215,7 +62756,7 @@ php_with_libedit=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for libedit readline replacement" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libedit readline replacement" >&5 printf %s "checking for libedit readline replacement... " >&6; } # Check whether --with-libedit was given. @@ -62253,8 +62794,8 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -62263,7 +62804,7 @@ php_with_readline=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for readline support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for readline support" >&5 printf %s "checking for readline support... " >&6; } # Check whether --with-readline was given. @@ -62301,8 +62842,8 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -62359,7 +62900,7 @@ PHP_READLINE_LIBS="" - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for tgetent in -lncurses" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for tgetent in -lncurses" >&5 printf %s "checking for tgetent in -lncurses... " >&6; } if test ${ac_cv_lib_ncurses_tgetent+y} then : @@ -62400,8 +62941,8 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ncurses_tgetent" >&5 -printf '%s\n' "$ac_cv_lib_ncurses_tgetent" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ncurses_tgetent" >&5 +printf "%s\n" "$ac_cv_lib_ncurses_tgetent" >&6; } if test "x$ac_cv_lib_ncurses_tgetent" = xyes then : @@ -62431,7 +62972,7 @@ PHP_READLINE_LIBS="$PHP_READLINE_LIBS -lncurses" else case e in #( - e) { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for tgetent in -ltermcap" >&5 + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for tgetent in -ltermcap" >&5 printf %s "checking for tgetent in -ltermcap... " >&6; } if test ${ac_cv_lib_termcap_tgetent+y} then : @@ -62472,8 +63013,8 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_termcap_tgetent" >&5 -printf '%s\n' "$ac_cv_lib_termcap_tgetent" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_termcap_tgetent" >&5 +printf "%s\n" "$ac_cv_lib_termcap_tgetent" >&6; } if test "x$ac_cv_lib_termcap_tgetent" = xyes then : @@ -62627,7 +63168,7 @@ esac done - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for readline in -lreadline" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for readline in -lreadline" >&5 printf %s "checking for readline in -lreadline... " >&6; } if test ${ac_cv_lib_readline_readline+y} then : @@ -62668,8 +63209,8 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_readline_readline" >&5 -printf '%s\n' "$ac_cv_lib_readline_readline" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_readline_readline" >&5 +printf "%s\n" "$ac_cv_lib_readline_readline" >&6; } if test "x$ac_cv_lib_readline_readline" = xyes then : @@ -62786,8 +63327,8 @@ LDFLAGS=$save_old_LDFLAGS ext_shared=$save_ext_shared unset ac_cv_lib_readline_readline - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "The readline library not found. See 'config.log' for more details" "$LINENO" 5; } ;; @@ -62913,7 +63454,7 @@ esac done - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for rl_callback_read_char in -lreadline" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for rl_callback_read_char in -lreadline" >&5 printf %s "checking for rl_callback_read_char in -lreadline... " >&6; } if test ${ac_cv_lib_readline_rl_callback_read_char+y} then : @@ -62954,14 +63495,14 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_readline_rl_callback_read_char" >&5 -printf '%s\n' "$ac_cv_lib_readline_rl_callback_read_char" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_readline_rl_callback_read_char" >&5 +printf "%s\n" "$ac_cv_lib_readline_rl_callback_read_char" >&6; } if test "x$ac_cv_lib_readline_rl_callback_read_char" = xyes then : LDFLAGS=$save_old_LDFLAGS ext_shared=$save_ext_shared - printf '%s\n' "#define HAVE_RL_CALLBACK_READ_CHAR 1" >>confdefs.h + printf "%s\n" "#define HAVE_RL_CALLBACK_READ_CHAR 1" >>confdefs.h else case e in #( @@ -63093,7 +63634,7 @@ esac done - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for rl_on_new_line in -lreadline" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for rl_on_new_line in -lreadline" >&5 printf %s "checking for rl_on_new_line in -lreadline... " >&6; } if test ${ac_cv_lib_readline_rl_on_new_line+y} then : @@ -63134,14 +63675,14 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_readline_rl_on_new_line" >&5 -printf '%s\n' "$ac_cv_lib_readline_rl_on_new_line" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_readline_rl_on_new_line" >&5 +printf "%s\n" "$ac_cv_lib_readline_rl_on_new_line" >&6; } if test "x$ac_cv_lib_readline_rl_on_new_line" = xyes then : LDFLAGS=$save_old_LDFLAGS ext_shared=$save_ext_shared - printf '%s\n' "#define HAVE_RL_ON_NEW_LINE 1" >>confdefs.h + printf "%s\n" "#define HAVE_RL_ON_NEW_LINE 1" >>confdefs.h else case e in #( @@ -63273,7 +63814,7 @@ esac done - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for rl_completion_matches in -lreadline" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for rl_completion_matches in -lreadline" >&5 printf %s "checking for rl_completion_matches in -lreadline... " >&6; } if test ${ac_cv_lib_readline_rl_completion_matches+y} then : @@ -63314,14 +63855,14 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_readline_rl_completion_matches" >&5 -printf '%s\n' "$ac_cv_lib_readline_rl_completion_matches" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_readline_rl_completion_matches" >&5 +printf "%s\n" "$ac_cv_lib_readline_rl_completion_matches" >&6; } if test "x$ac_cv_lib_readline_rl_completion_matches" = xyes then : LDFLAGS=$save_old_LDFLAGS ext_shared=$save_ext_shared - printf '%s\n' "#define HAVE_RL_COMPLETION_MATCHES 1" >>confdefs.h + printf "%s\n" "#define HAVE_RL_COMPLETION_MATCHES 1" >>confdefs.h else case e in #( @@ -63346,13 +63887,13 @@ #include #include -" "$ac_c_undeclared_builtin_options$ac_c_future_darwin_options" "CFLAGS" +" "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_rl_pending_input" = xyes then : else case e in #( - e) { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + e) { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? " Invalid readline installation detected. Try --with-libedit instead. @@ -63364,20 +63905,20 @@ #include #include -" "$ac_c_undeclared_builtin_options$ac_c_future_darwin_options" "CFLAGS" +" "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_rl_erase_empty_line" = xyes then : - printf '%s\n' "#define HAVE_ERASE_EMPTY_LINE 1" >>confdefs.h + printf "%s\n" "#define HAVE_ERASE_EMPTY_LINE 1" >>confdefs.h fi CFLAGS=$CFLAGS_SAVE LDFLAGS=$LDFLAGS_SAVE LIBS=$LIBS_SAVE - printf '%s\n' "#define HAVE_HISTORY_LIST 1" >>confdefs.h + printf "%s\n" "#define HAVE_HISTORY_LIST 1" >>confdefs.h -printf '%s\n' "#define HAVE_LIBREADLINE 1" >>confdefs.h +printf "%s\n" "#define HAVE_LIBREADLINE 1" >>confdefs.h elif test "$PHP_LIBEDIT" != "no"; then @@ -63385,10 +63926,10 @@ then : else case e in #( - e) { printf '%s\n' "$as_me:${as_lineno-$LINENO}: WARNING: The libedit directory argument is not supported anymore, rely on pkg-config. + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: The libedit directory argument is not supported anymore, rely on pkg-config. Replace '--with-libedit=$PHP_LIBEDIT' with '--with-libedit' and use environment variables 'PKG_CONFIG_PATH', 'EDIT_LIBS', or 'EDIT_CFLAGS'." >&5 -printf '%s\n' "$as_me: WARNING: The libedit directory argument is not supported anymore, rely on pkg-config. +printf "%s\n" "$as_me: WARNING: The libedit directory argument is not supported anymore, rely on pkg-config. Replace '--with-libedit=$PHP_LIBEDIT' with '--with-libedit' and use environment variables 'PKG_CONFIG_PATH', 'EDIT_LIBS', or 'EDIT_CFLAGS'." >&2;} ;; esac @@ -63396,17 +63937,17 @@ pkg_failed=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for libedit" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libedit" >&5 printf %s "checking for libedit... " >&6; } if test -n "$EDIT_CFLAGS"; then pkg_cv_EDIT_CFLAGS="$EDIT_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libedit\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libedit\""; } >&5 ($PKG_CONFIG --exists --print-errors "libedit") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_EDIT_CFLAGS=`$PKG_CONFIG --cflags "libedit" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -63420,10 +63961,10 @@ pkg_cv_EDIT_LIBS="$EDIT_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libedit\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libedit\""; } >&5 ($PKG_CONFIG --exists --print-errors "libedit") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_EDIT_LIBS=`$PKG_CONFIG --libs "libedit" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -63437,8 +63978,8 @@ if test $pkg_failed = yes; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -63464,10 +64005,10 @@ and EDIT_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -63481,8 +64022,8 @@ else EDIT_CFLAGS=$pkg_cv_EDIT_CFLAGS EDIT_LIBS=$pkg_cv_EDIT_LIBS - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } fi @@ -63641,7 +64182,7 @@ done - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for tgetent in -lncurses" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for tgetent in -lncurses" >&5 printf %s "checking for tgetent in -lncurses... " >&6; } if test ${ac_cv_lib_ncurses_tgetent+y} then : @@ -63682,8 +64223,8 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ncurses_tgetent" >&5 -printf '%s\n' "$ac_cv_lib_ncurses_tgetent" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ncurses_tgetent" >&5 +printf "%s\n" "$ac_cv_lib_ncurses_tgetent" >&6; } if test "x$ac_cv_lib_ncurses_tgetent" = xyes then : @@ -63710,7 +64251,7 @@ else case e in #( - e) { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for tgetent in -ltermcap" >&5 + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for tgetent in -ltermcap" >&5 printf %s "checking for tgetent in -ltermcap... " >&6; } if test ${ac_cv_lib_termcap_tgetent+y} then : @@ -63751,8 +64292,8 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_termcap_tgetent" >&5 -printf '%s\n' "$ac_cv_lib_termcap_tgetent" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_termcap_tgetent" >&5 +printf "%s\n" "$ac_cv_lib_termcap_tgetent" >&6; } if test "x$ac_cv_lib_termcap_tgetent" = xyes then : @@ -63902,7 +64443,7 @@ esac done - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for readline in -ledit" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for readline in -ledit" >&5 printf %s "checking for readline in -ledit... " >&6; } if test ${ac_cv_lib_edit_readline+y} then : @@ -63943,8 +64484,8 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_edit_readline" >&5 -printf '%s\n' "$ac_cv_lib_edit_readline" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_edit_readline" >&5 +printf "%s\n" "$ac_cv_lib_edit_readline" >&6; } if test "x$ac_cv_lib_edit_readline" = xyes then : @@ -63957,8 +64498,8 @@ LDFLAGS=$save_old_LDFLAGS ext_shared=$save_ext_shared unset ac_cv_lib_edit_readline - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "The edit library required by readline extension not found. See 'config.log' for more details" "$LINENO" 5; } ;; @@ -64084,7 +64625,7 @@ esac done - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for rl_callback_read_char in -ledit" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for rl_callback_read_char in -ledit" >&5 printf %s "checking for rl_callback_read_char in -ledit... " >&6; } if test ${ac_cv_lib_edit_rl_callback_read_char+y} then : @@ -64125,15 +64666,15 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_edit_rl_callback_read_char" >&5 -printf '%s\n' "$ac_cv_lib_edit_rl_callback_read_char" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_edit_rl_callback_read_char" >&5 +printf "%s\n" "$ac_cv_lib_edit_rl_callback_read_char" >&6; } if test "x$ac_cv_lib_edit_rl_callback_read_char" = xyes then : LDFLAGS=$save_old_LDFLAGS ext_shared=$save_ext_shared -printf '%s\n' "#define HAVE_RL_CALLBACK_READ_CHAR 1" >>confdefs.h +printf "%s\n" "#define HAVE_RL_CALLBACK_READ_CHAR 1" >>confdefs.h else case e in #( @@ -64265,7 +64806,7 @@ esac done - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for rl_on_new_line in -ledit" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for rl_on_new_line in -ledit" >&5 printf %s "checking for rl_on_new_line in -ledit... " >&6; } if test ${ac_cv_lib_edit_rl_on_new_line+y} then : @@ -64306,15 +64847,15 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_edit_rl_on_new_line" >&5 -printf '%s\n' "$ac_cv_lib_edit_rl_on_new_line" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_edit_rl_on_new_line" >&5 +printf "%s\n" "$ac_cv_lib_edit_rl_on_new_line" >&6; } if test "x$ac_cv_lib_edit_rl_on_new_line" = xyes then : LDFLAGS=$save_old_LDFLAGS ext_shared=$save_ext_shared -printf '%s\n' "#define HAVE_RL_ON_NEW_LINE 1" >>confdefs.h +printf "%s\n" "#define HAVE_RL_ON_NEW_LINE 1" >>confdefs.h else case e in #( @@ -64446,7 +64987,7 @@ esac done - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for rl_completion_matches in -ledit" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for rl_completion_matches in -ledit" >&5 printf %s "checking for rl_completion_matches in -ledit... " >&6; } if test ${ac_cv_lib_edit_rl_completion_matches+y} then : @@ -64487,15 +65028,15 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_edit_rl_completion_matches" >&5 -printf '%s\n' "$ac_cv_lib_edit_rl_completion_matches" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_edit_rl_completion_matches" >&5 +printf "%s\n" "$ac_cv_lib_edit_rl_completion_matches" >&6; } if test "x$ac_cv_lib_edit_rl_completion_matches" = xyes then : LDFLAGS=$save_old_LDFLAGS ext_shared=$save_ext_shared -printf '%s\n' "#define HAVE_RL_COMPLETION_MATCHES 1" >>confdefs.h +printf "%s\n" "#define HAVE_RL_COMPLETION_MATCHES 1" >>confdefs.h else case e in #( @@ -64627,7 +65168,7 @@ esac done - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for history_list in -ledit" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for history_list in -ledit" >&5 printf %s "checking for history_list in -ledit... " >&6; } if test ${ac_cv_lib_edit_history_list+y} then : @@ -64668,15 +65209,15 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_edit_history_list" >&5 -printf '%s\n' "$ac_cv_lib_edit_history_list" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_edit_history_list" >&5 +printf "%s\n" "$ac_cv_lib_edit_history_list" >&6; } if test "x$ac_cv_lib_edit_history_list" = xyes then : LDFLAGS=$save_old_LDFLAGS ext_shared=$save_ext_shared -printf '%s\n' "#define HAVE_HISTORY_LIST 1" >>confdefs.h +printf "%s\n" "#define HAVE_HISTORY_LIST 1" >>confdefs.h else case e in #( @@ -64695,18 +65236,18 @@ CFLAGS="$CFLAGS $EDIT_CFLAGS" LIBS="$LIBS $EDIT_LIBS" ac_fn_check_decl "$LINENO" "rl_erase_empty_line" "ac_cv_have_decl_rl_erase_empty_line" "#include -" "$ac_c_undeclared_builtin_options$ac_c_future_darwin_options" "CFLAGS" +" "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_rl_erase_empty_line" = xyes then : -printf '%s\n' "#define HAVE_ERASE_EMPTY_LINE 1" >>confdefs.h +printf "%s\n" "#define HAVE_ERASE_EMPTY_LINE 1" >>confdefs.h fi CFLAGS=$CFLAGS_SAVE LIBS=$LIBS_SAVE -printf '%s\n' "#define HAVE_LIBEDIT 1" >>confdefs.h +printf "%s\n" "#define HAVE_LIBEDIT 1" >>confdefs.h fi @@ -64846,7 +65387,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_READLINE 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_READLINE 1" >>confdefs.h fi fi @@ -65107,7 +65648,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_REFLECTION 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_REFLECTION 1" >>confdefs.h fi fi @@ -65232,7 +65773,7 @@ php_enable_session=yes -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to enable PHP sessions" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable PHP sessions" >&5 printf %s "checking whether to enable PHP sessions... " >&6; } # Check whether --enable-session was given. if test ${enable_session+y} @@ -65269,8 +65810,8 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -65278,7 +65819,7 @@ php_with_mm=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for mm support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mm support" >&5 printf %s "checking for mm support... " >&6; } # Check whether --with-mm was given. @@ -65295,15 +65836,15 @@ ext_output=$PHP_MM -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } if test "$PHP_SESSION" != "no"; then -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether pwrite works" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether pwrite works" >&5 printf %s "checking whether pwrite works... " >&6; } if test ${php_cv_func_pwrite+y} then : @@ -65400,8 +65941,8 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_func_pwrite" >&5 -printf '%s\n' "$php_cv_func_pwrite" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_func_pwrite" >&5 +printf "%s\n" "$php_cv_func_pwrite" >&6; } if test "x$php_cv_func_pwrite" = xno then : @@ -65409,12 +65950,12 @@ else case e in #( e) -printf '%s\n' "#define HAVE_PWRITE 1" >>confdefs.h +printf "%s\n" "#define HAVE_PWRITE 1" >>confdefs.h if test "x$php_cv_func_pwrite" = x64 then : -printf '%s\n' "#define PHP_PWRITE_64 1" >>confdefs.h +printf "%s\n" "#define PHP_PWRITE_64 1" >>confdefs.h fi ;; @@ -65422,7 +65963,7 @@ fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether pread works" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether pread works" >&5 printf %s "checking whether pread works... " >&6; } if test ${php_cv_func_pread+y} then : @@ -65521,8 +66062,8 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_func_pread" >&5 -printf '%s\n' "$php_cv_func_pread" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_func_pread" >&5 +printf "%s\n" "$php_cv_func_pread" >&6; } if test "x$php_cv_func_pread" = xno then : @@ -65530,12 +66071,12 @@ else case e in #( e) -printf '%s\n' "#define HAVE_PREAD 1" >>confdefs.h +printf "%s\n" "#define HAVE_PREAD 1" >>confdefs.h if test "x$php_cv_func_pread" = x64 then : -printf '%s\n' "#define PHP_PREAD_64 1" >>confdefs.h +printf "%s\n" "#define PHP_PREAD_64 1" >>confdefs.h fi ;; @@ -65677,7 +66218,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_SESSION 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_SESSION 1" >>confdefs.h fi fi @@ -65856,7 +66397,7 @@ -printf '%s\n' "#define HAVE_PHP_SESSION 1" >>confdefs.h +printf "%s\n" "#define HAVE_PHP_SESSION 1" >>confdefs.h if test "x$PHP_MM" = xno @@ -66041,7 +66582,7 @@ -printf '%s\n' "#define HAVE_LIBMM 1" >>confdefs.h +printf "%s\n" "#define HAVE_LIBMM 1" >>confdefs.h ;; esac @@ -66054,7 +66595,7 @@ php_enable_shmop=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to enable shmop support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable shmop support" >&5 printf %s "checking whether to enable shmop support... " >&6; } # Check whether --enable-shmop was given. if test ${enable_shmop+y} @@ -66091,15 +66632,15 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } if test "$PHP_SHMOP" != "no"; then -printf '%s\n' "#define HAVE_SHMOP 1" >>confdefs.h +printf "%s\n" "#define HAVE_SHMOP 1" >>confdefs.h ext_builddir=ext/shmop @@ -66236,7 +66777,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_SHMOP 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_SHMOP 1" >>confdefs.h fi fi @@ -66362,7 +66903,7 @@ php_enable_simplexml=yes -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to enable SimpleXML support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable SimpleXML support" >&5 printf %s "checking whether to enable SimpleXML support... " >&6; } # Check whether --enable-simplexml was given. if test ${enable_simplexml+y} @@ -66399,8 +66940,8 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -66409,17 +66950,17 @@ pkg_failed=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for libxml-2.0 >= 2.9.4" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libxml-2.0 >= 2.9.4" >&5 printf %s "checking for libxml-2.0 >= 2.9.4... " >&6; } if test -n "$LIBXML_CFLAGS"; then pkg_cv_LIBXML_CFLAGS="$LIBXML_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libxml-2.0 >= 2.9.4\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libxml-2.0 >= 2.9.4\""; } >&5 ($PKG_CONFIG --exists --print-errors "libxml-2.0 >= 2.9.4") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_LIBXML_CFLAGS=`$PKG_CONFIG --cflags "libxml-2.0 >= 2.9.4" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -66433,10 +66974,10 @@ pkg_cv_LIBXML_LIBS="$LIBXML_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libxml-2.0 >= 2.9.4\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libxml-2.0 >= 2.9.4\""; } >&5 ($PKG_CONFIG --exists --print-errors "libxml-2.0 >= 2.9.4") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_LIBXML_LIBS=`$PKG_CONFIG --libs "libxml-2.0 >= 2.9.4" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -66450,8 +66991,8 @@ if test $pkg_failed = yes; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -66477,10 +67018,10 @@ and LIBXML_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -66494,8 +67035,8 @@ else LIBXML_CFLAGS=$pkg_cv_LIBXML_CFLAGS LIBXML_LIBS=$pkg_cv_LIBXML_LIBS - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } fi @@ -66655,7 +67196,7 @@ -printf '%s\n' "#define HAVE_SIMPLEXML 1" >>confdefs.h +printf "%s\n" "#define HAVE_SIMPLEXML 1" >>confdefs.h ext_builddir=ext/simplexml @@ -66792,7 +67333,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_SIMPLEXML 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_SIMPLEXML 1" >>confdefs.h fi fi @@ -66978,7 +67519,7 @@ php_with_snmp=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for SNMP support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for SNMP support" >&5 printf %s "checking for SNMP support... " >&6; } # Check whether --with-snmp was given. @@ -67016,8 +67557,8 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -67028,17 +67569,17 @@ then : pkg_failed=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for netsnmp >= 5.3" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for netsnmp >= 5.3" >&5 printf %s "checking for netsnmp >= 5.3... " >&6; } if test -n "$SNMP_CFLAGS"; then pkg_cv_SNMP_CFLAGS="$SNMP_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"netsnmp >= 5.3\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"netsnmp >= 5.3\""; } >&5 ($PKG_CONFIG --exists --print-errors "netsnmp >= 5.3") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_SNMP_CFLAGS=`$PKG_CONFIG --cflags "netsnmp >= 5.3" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -67052,10 +67593,10 @@ pkg_cv_SNMP_LIBS="$SNMP_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"netsnmp >= 5.3\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"netsnmp >= 5.3\""; } >&5 ($PKG_CONFIG --exists --print-errors "netsnmp >= 5.3") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_SNMP_LIBS=`$PKG_CONFIG --libs "netsnmp >= 5.3" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -67069,8 +67610,8 @@ if test $pkg_failed = yes; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -67087,14 +67628,14 @@ : elif test $pkg_failed = untried; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } : else SNMP_CFLAGS=$pkg_cv_SNMP_CFLAGS SNMP_LIBS=$pkg_cv_SNMP_LIBS - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } snmp_found=yes fi fi @@ -67106,7 +67647,7 @@ then : # Extract the first word of "net-snmp-config", so it can be a program name with args. set dummy net-snmp-config; ac_word=$2 -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_path_SNMP_CONFIG+y} then : @@ -67130,7 +67671,7 @@ for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_path_SNMP_CONFIG="$as_dir$ac_word$ac_exec_ext" - printf '%s\n' "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -67143,11 +67684,11 @@ fi SNMP_CONFIG=$ac_cv_path_SNMP_CONFIG if test -n "$SNMP_CONFIG"; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $SNMP_CONFIG" >&5 -printf '%s\n' "$SNMP_CONFIG" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $SNMP_CONFIG" >&5 +printf "%s\n" "$SNMP_CONFIG" >&6; } else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -67464,8 +68005,8 @@ esac done - as_ac_Lib=`printf '%s\n' "ac_cv_lib_$SNMP_LIBNAME""_init_snmp" | sed "$as_sed_sh"` -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for init_snmp in -l$SNMP_LIBNAME" >&5 + as_ac_Lib=`printf "%s\n" "ac_cv_lib_$SNMP_LIBNAME""_init_snmp" | sed "$as_sed_sh"` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for init_snmp in -l$SNMP_LIBNAME" >&5 printf %s "checking for init_snmp in -l$SNMP_LIBNAME... " >&6; } if eval test \${$as_ac_Lib+y} then : @@ -67507,15 +68048,15 @@ esac fi eval ac_res=\$$as_ac_Lib - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf '%s\n' "$ac_res" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } if eval test \"x\$"$as_ac_Lib"\" = x"yes" then : LDFLAGS=$save_old_LDFLAGS ext_shared=$save_ext_shared -printf '%s\n' "#define HAVE_SNMP 1" >>confdefs.h +printf "%s\n" "#define HAVE_SNMP 1" >>confdefs.h else case e in #( @@ -67523,8 +68064,8 @@ LDFLAGS=$save_old_LDFLAGS ext_shared=$save_ext_shared unset ac_cv_lib_$SNMP_LIBNAME_init_snmp - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "SNMP sanity check failed. See 'config.log' for more details" "$LINENO" 5; } ;; @@ -67650,8 +68191,8 @@ esac done - as_ac_Lib=`printf '%s\n' "ac_cv_lib_$SNMP_LIBNAME""_shutdown_snmp_logging" | sed "$as_sed_sh"` -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for shutdown_snmp_logging in -l$SNMP_LIBNAME" >&5 + as_ac_Lib=`printf "%s\n" "ac_cv_lib_$SNMP_LIBNAME""_shutdown_snmp_logging" | sed "$as_sed_sh"` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for shutdown_snmp_logging in -l$SNMP_LIBNAME" >&5 printf %s "checking for shutdown_snmp_logging in -l$SNMP_LIBNAME... " >&6; } if eval test \${$as_ac_Lib+y} then : @@ -67693,15 +68234,15 @@ esac fi eval ac_res=\$$as_ac_Lib - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf '%s\n' "$ac_res" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } if eval test \"x\$"$as_ac_Lib"\" = x"yes" then : LDFLAGS=$save_old_LDFLAGS ext_shared=$save_ext_shared -printf '%s\n' "#define HAVE_SHUTDOWN_SNMP_LOGGING 1" >>confdefs.h +printf "%s\n" "#define HAVE_SHUTDOWN_SNMP_LOGGING 1" >>confdefs.h else case e in #( @@ -67724,11 +68265,11 @@ #include #include -" "$ac_c_undeclared_builtin_options$ac_c_future_darwin_options" "CFLAGS" +" "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_usmHMAC192SHA256AuthProtocol" = xyes then : -printf '%s\n' "#define HAVE_SNMP_SHA256 1" >>confdefs.h +printf "%s\n" "#define HAVE_SNMP_SHA256 1" >>confdefs.h fi @@ -67736,11 +68277,11 @@ #include #include -" "$ac_c_undeclared_builtin_options$ac_c_future_darwin_options" "CFLAGS" +" "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_usmHMAC384SHA512AuthProtocol" = xyes then : -printf '%s\n' "#define HAVE_SNMP_SHA512 1" >>confdefs.h +printf "%s\n" "#define HAVE_SNMP_SHA512 1" >>confdefs.h fi @@ -67882,7 +68423,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_SNMP 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_SNMP 1" >>confdefs.h fi fi @@ -68030,7 +68571,7 @@ php_enable_soap=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to enable SOAP support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable SOAP support" >&5 printf %s "checking whether to enable SOAP support... " >&6; } # Check whether --enable-soap was given. if test ${enable_soap+y} @@ -68067,8 +68608,8 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -68077,17 +68618,17 @@ pkg_failed=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for libxml-2.0 >= 2.9.4" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libxml-2.0 >= 2.9.4" >&5 printf %s "checking for libxml-2.0 >= 2.9.4... " >&6; } if test -n "$LIBXML_CFLAGS"; then pkg_cv_LIBXML_CFLAGS="$LIBXML_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libxml-2.0 >= 2.9.4\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libxml-2.0 >= 2.9.4\""; } >&5 ($PKG_CONFIG --exists --print-errors "libxml-2.0 >= 2.9.4") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_LIBXML_CFLAGS=`$PKG_CONFIG --cflags "libxml-2.0 >= 2.9.4" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -68101,10 +68642,10 @@ pkg_cv_LIBXML_LIBS="$LIBXML_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libxml-2.0 >= 2.9.4\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libxml-2.0 >= 2.9.4\""; } >&5 ($PKG_CONFIG --exists --print-errors "libxml-2.0 >= 2.9.4") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_LIBXML_LIBS=`$PKG_CONFIG --libs "libxml-2.0 >= 2.9.4" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -68118,8 +68659,8 @@ if test $pkg_failed = yes; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -68145,10 +68686,10 @@ and LIBXML_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -68162,8 +68703,8 @@ else LIBXML_CFLAGS=$pkg_cv_LIBXML_CFLAGS LIBXML_LIBS=$pkg_cv_LIBXML_LIBS - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } fi @@ -68323,7 +68864,7 @@ -printf '%s\n' "#define HAVE_SOAP 1" >>confdefs.h +printf "%s\n" "#define HAVE_SOAP 1" >>confdefs.h ext_builddir=ext/soap @@ -68460,7 +69001,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_SOAP 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_SOAP 1" >>confdefs.h fi fi @@ -68667,7 +69208,7 @@ php_enable_sockets=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to enable sockets support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable sockets support" >&5 printf %s "checking whether to enable sockets support... " >&6; } # Check whether --enable-sockets was given. if test ${enable_sockets+y} @@ -68704,8 +69245,8 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -68714,43 +69255,43 @@ ac_fn_c_check_func "$LINENO" "hstrerror" "ac_cv_func_hstrerror" if test "x$ac_cv_func_hstrerror" = xyes then : - printf '%s\n' "#define HAVE_HSTRERROR 1" >>confdefs.h + printf "%s\n" "#define HAVE_HSTRERROR 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "if_nametoindex" "ac_cv_func_if_nametoindex" if test "x$ac_cv_func_if_nametoindex" = xyes then : - printf '%s\n' "#define HAVE_IF_NAMETOINDEX 1" >>confdefs.h + printf "%s\n" "#define HAVE_IF_NAMETOINDEX 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "if_indextoname" "ac_cv_func_if_indextoname" if test "x$ac_cv_func_if_indextoname" = xyes then : - printf '%s\n' "#define HAVE_IF_INDEXTONAME 1" >>confdefs.h + printf "%s\n" "#define HAVE_IF_INDEXTONAME 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "sockatmark" "ac_cv_func_sockatmark" if test "x$ac_cv_func_sockatmark" = xyes then : - printf '%s\n' "#define HAVE_SOCKATMARK 1" >>confdefs.h + printf "%s\n" "#define HAVE_SOCKATMARK 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "sys/sockio.h" "ac_cv_header_sys_sockio_h" "$ac_includes_default" if test "x$ac_cv_header_sys_sockio_h" = xyes then : - printf '%s\n' "#define HAVE_SYS_SOCKIO_H 1" >>confdefs.h + printf "%s\n" "#define HAVE_SYS_SOCKIO_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "linux/filter.h" "ac_cv_header_linux_filter_h" "$ac_includes_default" if test "x$ac_cv_header_linux_filter_h" = xyes then : - printf '%s\n' "#define HAVE_LINUX_FILTER_H 1" >>confdefs.h + printf "%s\n" "#define HAVE_LINUX_FILTER_H 1" >>confdefs.h fi -printf '%s\n' "#define HAVE_SOCKETS 1" >>confdefs.h +printf "%s\n" "#define HAVE_SOCKETS 1" >>confdefs.h ac_fn_c_check_member "$LINENO" "struct sockaddr_storage" "ss_family" "ac_cv_member_struct_sockaddr_storage_ss_family" "#include @@ -68758,7 +69299,7 @@ if test "x$ac_cv_member_struct_sockaddr_storage_ss_family" = xyes then : -printf '%s\n' "#define HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY 1" >>confdefs.h +printf "%s\n" "#define HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY 1" >>confdefs.h fi @@ -68774,7 +69315,7 @@ if test "x$ac_cv_type_struct_ucred" = xyes then : -printf '%s\n' "#define HAVE_STRUCT_UCRED 1" >>confdefs.h +printf "%s\n" "#define HAVE_STRUCT_UCRED 1" >>confdefs.h fi @@ -68785,7 +69326,7 @@ if test "x$ac_cv_type_struct_cmsgcred" = xyes then : -printf '%s\n' "#define HAVE_STRUCT_CMSGCRED 1" >>confdefs.h +printf "%s\n" "#define HAVE_STRUCT_CMSGCRED 1" >>confdefs.h fi @@ -68934,7 +69475,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_SOCKETS 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_SOCKETS 1" >>confdefs.h fi fi @@ -69077,7 +69618,7 @@ php_with_sodium=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for sodium support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sodium support" >&5 printf %s "checking for sodium support... " >&6; } # Check whether --with-sodium was given. @@ -69115,8 +69656,8 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -69124,17 +69665,17 @@ if test "$PHP_SODIUM" != "no"; then pkg_failed=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for libsodium >= 1.0.8" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libsodium >= 1.0.8" >&5 printf %s "checking for libsodium >= 1.0.8... " >&6; } if test -n "$LIBSODIUM_CFLAGS"; then pkg_cv_LIBSODIUM_CFLAGS="$LIBSODIUM_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsodium >= 1.0.8\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsodium >= 1.0.8\""; } >&5 ($PKG_CONFIG --exists --print-errors "libsodium >= 1.0.8") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_LIBSODIUM_CFLAGS=`$PKG_CONFIG --cflags "libsodium >= 1.0.8" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -69148,10 +69689,10 @@ pkg_cv_LIBSODIUM_LIBS="$LIBSODIUM_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsodium >= 1.0.8\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsodium >= 1.0.8\""; } >&5 ($PKG_CONFIG --exists --print-errors "libsodium >= 1.0.8") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_LIBSODIUM_LIBS=`$PKG_CONFIG --libs "libsodium >= 1.0.8" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -69165,8 +69706,8 @@ if test $pkg_failed = yes; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -69192,10 +69733,10 @@ and LIBSODIUM_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -69209,8 +69750,8 @@ else LIBSODIUM_CFLAGS=$pkg_cv_LIBSODIUM_CFLAGS LIBSODIUM_LIBS=$pkg_cv_LIBSODIUM_LIBS - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } fi @@ -69371,7 +69912,7 @@ -printf '%s\n' "#define HAVE_LIBSODIUMLIB 1" >>confdefs.h +printf "%s\n" "#define HAVE_LIBSODIUMLIB 1" >>confdefs.h SODIUM_COMPILER_FLAGS=$LIBSODIUM_CFLAGS @@ -69380,7 +69921,7 @@ # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like 'int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking size of long" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of long" >&5 printf %s "checking size of long... " >&6; } if test ${ac_cv_sizeof_long+y} then : @@ -69390,25 +69931,32 @@ then : else case e in #( - e) ac_cv_sizeof_long=0 ;; + e) if test "$ac_cv_type_long" = yes; then + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} +as_fn_error 77 "cannot compute sizeof (long) +See 'config.log' for more details" "$LINENO" 5; } + else + ac_cv_sizeof_long=0 + fi ;; esac fi ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long" >&5 -printf '%s\n' "$ac_cv_sizeof_long" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long" >&5 +printf "%s\n" "$ac_cv_sizeof_long" >&6; } -printf '%s\n' "#define SIZEOF_LONG $ac_cv_sizeof_long" >>confdefs.h +printf "%s\n" "#define SIZEOF_LONG $ac_cv_sizeof_long" >>confdefs.h if test "$ac_cv_sizeof_long" -eq 4 then : SODIUM_COMPILER_FLAGS="$SODIUM_COMPILER_FLAGS -Wno-type-limits" - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether the C compiler accepts -Wno-logical-op" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler accepts -Wno-logical-op" >&5 printf %s "checking whether the C compiler accepts -Wno-logical-op... " >&6; } if test ${ax_cv_check_cflags__Werror__Wno_logical_op+y} then : @@ -69439,8 +69987,8 @@ CFLAGS=$ax_check_save_flags ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags__Werror__Wno_logical_op" >&5 -printf '%s\n' "$ax_cv_check_cflags__Werror__Wno_logical_op" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags__Werror__Wno_logical_op" >&5 +printf "%s\n" "$ax_cv_check_cflags__Werror__Wno_logical_op" >&6; } if test "x$ax_cv_check_cflags__Werror__Wno_logical_op" = xyes then : SODIUM_COMPILER_FLAGS="$SODIUM_COMPILER_FLAGS -Wno-logical-op" @@ -69587,7 +70135,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_SODIUM 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_SODIUM 1" >>confdefs.h fi fi @@ -69865,7 +70413,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_SPL 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_SPL 1" >>confdefs.h fi fi @@ -70061,7 +70609,7 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether flush should be called explicitly after a buffered io" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether flush should be called explicitly after a buffered io" >&5 printf %s "checking whether flush should be called explicitly after a buffered io... " >&6; } if test ${php_cv_have_flush_io+y} then : @@ -70147,19 +70695,19 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_have_flush_io" >&5 -printf '%s\n' "$php_cv_have_flush_io" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_have_flush_io" >&5 +printf "%s\n" "$php_cv_have_flush_io" >&6; } if test "x$php_cv_have_flush_io" = xyes then : -printf '%s\n' "#define HAVE_FLUSHIO 1" >>confdefs.h +printf "%s\n" "#define HAVE_FLUSHIO 1" >>confdefs.h fi php_with_external_libcrypt=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for external libcrypt or libxcrypt" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for external libcrypt or libxcrypt" >&5 printf %s "checking for external libcrypt or libxcrypt... " >&6; } # Check whether --with-external-libcrypt was given. @@ -70176,8 +70724,8 @@ ext_output=$PHP_EXTERNAL_LIBCRYPT -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -70188,13 +70736,13 @@ if test "x$PHP_EXTERNAL_LIBCRYPT" = xno then : - printf '%s\n' "#define PHP_USE_PHP_CRYPT_R 1" >>confdefs.h + printf "%s\n" "#define PHP_USE_PHP_CRYPT_R 1" >>confdefs.h php_ext_standard_sources=" crypt_blowfish.c crypt_freesec.c crypt_sha256.c crypt_sha512.c php_crypt_r.c " else case e in #( e) -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for library containing crypt" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing crypt" >&5 printf %s "checking for library containing crypt... " >&6; } if test ${ac_cv_search_crypt+y} then : @@ -70252,25 +70800,25 @@ LIBS=$ac_func_search_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_crypt" >&5 -printf '%s\n' "$ac_cv_search_crypt" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_crypt" >&5 +printf "%s\n" "$ac_cv_search_crypt" >&6; } ac_res=$ac_cv_search_crypt if test "$ac_res" != no then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" -printf '%s\n' "#define HAVE_CRYPT 1" >>confdefs.h +printf "%s\n" "#define HAVE_CRYPT 1" >>confdefs.h else case e in #( - e) { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + e) { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "Cannot use external libcrypt as crypt() is missing. See 'config.log' for more details" "$LINENO" 5; } ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for library containing crypt_r" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing crypt_r" >&5 printf %s "checking for library containing crypt_r... " >&6; } if test ${ac_cv_search_crypt_r+y} then : @@ -70328,25 +70876,25 @@ LIBS=$ac_func_search_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_crypt_r" >&5 -printf '%s\n' "$ac_cv_search_crypt_r" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_crypt_r" >&5 +printf "%s\n" "$ac_cv_search_crypt_r" >&6; } ac_res=$ac_cv_search_crypt_r if test "$ac_res" != no then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" -printf '%s\n' "#define HAVE_CRYPT_R 1" >>confdefs.h +printf "%s\n" "#define HAVE_CRYPT_R 1" >>confdefs.h else case e in #( - e) { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + e) { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "Cannot use external libcrypt as crypt_r() is missing. See 'config.log' for more details" "$LINENO" 5; } ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking which data struct is used by crypt_r" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking which data struct is used by crypt_r" >&5 printf %s "checking which data struct is used by crypt_r... " >&6; } if test ${php_cv_crypt_r_style+y} then : @@ -70459,20 +71007,20 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_crypt_r_style" >&5 -printf '%s\n' "$php_cv_crypt_r_style" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_crypt_r_style" >&5 +printf "%s\n" "$php_cv_crypt_r_style" >&6; } if test "x$php_cv_crypt_r_style" = xcryptd then : -printf '%s\n' "#define CRYPT_R_CRYPTD 1" >>confdefs.h +printf "%s\n" "#define CRYPT_R_CRYPTD 1" >>confdefs.h fi case $php_cv_crypt_r_style in #( struct_crypt_data|struct_crypt_data_gnu_source) : -printf '%s\n' "#define CRYPT_R_STRUCT_CRYPT_DATA 1" >>confdefs.h +printf "%s\n" "#define CRYPT_R_STRUCT_CRYPT_DATA 1" >>confdefs.h ;; #( *) : ;; @@ -70481,14 +71029,14 @@ if test "x$php_cv_crypt_r_style" = xstruct_crypt_data_gnu_source then : -printf '%s\n' "#define CRYPT_R_GNU_SOURCE 1" >>confdefs.h +printf "%s\n" "#define CRYPT_R_GNU_SOURCE 1" >>confdefs.h fi if test "x$php_cv_crypt_r_style" = xnone then : - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "Unable to detect data struct used by crypt_r. See 'config.log' for more details" "$LINENO" 5; } fi @@ -70496,12 +71044,12 @@ ac_fn_c_check_header_compile "$LINENO" "crypt.h" "ac_cv_header_crypt_h" "$ac_includes_default" if test "x$ac_cv_header_crypt_h" = xyes then : - printf '%s\n' "#define HAVE_CRYPT_H 1" >>confdefs.h + printf "%s\n" "#define HAVE_CRYPT_H 1" >>confdefs.h fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for standard DES crypt" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for standard DES crypt" >&5 printf %s "checking for standard DES crypt... " >&6; } if test ${ac_cv_crypt_des+y} then : @@ -70544,10 +71092,10 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_crypt_des" >&5 -printf '%s\n' "$ac_cv_crypt_des" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_crypt_des" >&5 +printf "%s\n" "$ac_cv_crypt_des" >&6; } -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for extended DES crypt" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for extended DES crypt" >&5 printf %s "checking for extended DES crypt... " >&6; } if test ${ac_cv_crypt_ext_des+y} then : @@ -70590,10 +71138,10 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_crypt_ext_des" >&5 -printf '%s\n' "$ac_cv_crypt_ext_des" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_crypt_ext_des" >&5 +printf "%s\n" "$ac_cv_crypt_ext_des" >&6; } -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for MD5 crypt" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MD5 crypt" >&5 printf %s "checking for MD5 crypt... " >&6; } if test ${ac_cv_crypt_md5+y} then : @@ -70646,10 +71194,10 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_crypt_md5" >&5 -printf '%s\n' "$ac_cv_crypt_md5" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_crypt_md5" >&5 +printf "%s\n" "$ac_cv_crypt_md5" >&6; } -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for Blowfish crypt" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Blowfish crypt" >&5 printf %s "checking for Blowfish crypt... " >&6; } if test ${ac_cv_crypt_blowfish+y} then : @@ -70700,10 +71248,10 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_crypt_blowfish" >&5 -printf '%s\n' "$ac_cv_crypt_blowfish" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_crypt_blowfish" >&5 +printf "%s\n" "$ac_cv_crypt_blowfish" >&6; } -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for SHA512 crypt" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for SHA512 crypt" >&5 printf %s "checking for SHA512 crypt... " >&6; } if test ${ac_cv_crypt_sha512+y} then : @@ -70752,10 +71300,10 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_crypt_sha512" >&5 -printf '%s\n' "$ac_cv_crypt_sha512" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_crypt_sha512" >&5 +printf "%s\n" "$ac_cv_crypt_sha512" >&6; } -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for SHA256 crypt" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for SHA256 crypt" >&5 printf %s "checking for SHA256 crypt... " >&6; } if test ${ac_cv_crypt_sha256+y} then : @@ -70804,17 +71352,17 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_crypt_sha256" >&5 -printf '%s\n' "$ac_cv_crypt_sha256" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_crypt_sha256" >&5 +printf "%s\n" "$ac_cv_crypt_sha256" >&6; } if test "$ac_cv_crypt_blowfish" = "no" || test "$ac_cv_crypt_des" = "no" || test "$ac_cv_crypt_ext_des" = "no" || test "$ac_cv_crypt_md5" = "no" || test "$ac_cv_crypt_sha512" = "no" || test "$ac_cv_crypt_sha256" = "no"; then - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "Cannot use external libcrypt as some algo are missing. See 'config.log' for more details" "$LINENO" 5; } fi - printf '%s\n' "#define PHP_USE_PHP_CRYPT_R 0" >>confdefs.h + printf "%s\n" "#define PHP_USE_PHP_CRYPT_R 0" >>confdefs.h ;; esac @@ -70824,19 +71372,19 @@ then : case $host_alias in #( *linux*) : - printf '%s\n' "#define HAVE_FNMATCH 1" >>confdefs.h + printf "%s\n" "#define HAVE_FNMATCH 1" >>confdefs.h ;; #( *) : ;; esac else case e in #( - e) { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for working POSIX fnmatch" >&5 + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working POSIX fnmatch" >&5 printf %s "checking for working POSIX fnmatch... " >&6; } if test ${ac_cv_func_fnmatch_works+y} then : printf %s "(cached) " >&6 else case e in #( - e) # Some versions of Solaris and the GNU C Library + e) # Some versions of Solaris, SCO, and the GNU C Library # have a broken or incompatible fnmatch. # So we run a test program. If we are cross-compiling, take no chance. # Thanks to John Oleynick, François Pinard, and Paul Eggert for this test. @@ -70879,12 +71427,12 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_fnmatch_works" >&5 -printf '%s\n' "$ac_cv_func_fnmatch_works" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_fnmatch_works" >&5 +printf "%s\n" "$ac_cv_func_fnmatch_works" >&6; } if test $ac_cv_func_fnmatch_works = yes then : -printf '%s\n' "#define HAVE_FNMATCH 1" >>confdefs.h +printf "%s\n" "#define HAVE_FNMATCH 1" >>confdefs.h fi @@ -70895,12 +71443,12 @@ for ac_func in fork CreateProcess do : - as_ac_var=`printf '%s\n' "ac_cv_func_$ac_func" | sed "$as_sed_sh"` + as_ac_var=`printf "%s\n" "ac_cv_func_$ac_func" | sed "$as_sed_sh"` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes" then : cat >>confdefs.h <<_ACEOF -#define `printf '%s\n' "HAVE_$ac_func" | sed "$as_sed_cpp"` 1 +#define `printf "%s\n" "HAVE_$ac_func" | sed "$as_sed_cpp"` 1 _ACEOF php_can_support_proc_open=yes; break; else case e in #( @@ -70909,16 +71457,16 @@ fi done -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking if your OS can spawn processes with inherited handles" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if your OS can spawn processes with inherited handles" >&5 printf %s "checking if your OS can spawn processes with inherited handles... " >&6; } if test "x$php_can_support_proc_open" = xyes then : -printf '%s\n' "#define PHP_CAN_SUPPORT_PROC_OPEN 1" >>confdefs.h +printf "%s\n" "#define PHP_CAN_SUPPORT_PROC_OPEN 1" >>confdefs.h fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_can_support_proc_open" >&5 -printf '%s\n' "$php_can_support_proc_open" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_can_support_proc_open" >&5 +printf "%s\n" "$php_can_support_proc_open" >&6; } PHP_ENABLE_CHROOT_FUNC=no case "$PHP_SAPI" in @@ -70945,7 +71493,7 @@ if test "x$PHP_ENABLE_CHROOT_FUNC" = xyes then : -printf '%s\n' "#define ENABLE_CHROOT_FUNC 1" >>confdefs.h +printf "%s\n" "#define ENABLE_CHROOT_FUNC 1" >>confdefs.h fi @@ -70975,7 +71523,7 @@ case $found in yes) -printf '%s\n' "#define HAVE_RES_NSEARCH 1" >>confdefs.h +printf "%s\n" "#define HAVE_RES_NSEARCH 1" >>confdefs.h ac_cv_func_res_nsearch=yes ;; @@ -70985,7 +71533,7 @@ unset ac_cv_lib_resolv_res_nsearch unset ac_cv_lib_resolv___res_nsearch unset found - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for res_nsearch in -lresolv" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for res_nsearch in -lresolv" >&5 printf %s "checking for res_nsearch in -lresolv... " >&6; } if test ${ac_cv_lib_resolv_res_nsearch+y} then : @@ -71026,14 +71574,14 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_resolv_res_nsearch" >&5 -printf '%s\n' "$ac_cv_lib_resolv_res_nsearch" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_resolv_res_nsearch" >&5 +printf "%s\n" "$ac_cv_lib_resolv_res_nsearch" >&6; } if test "x$ac_cv_lib_resolv_res_nsearch" = xyes then : found=yes else case e in #( e) - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for __res_nsearch in -lresolv" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __res_nsearch in -lresolv" >&5 printf %s "checking for __res_nsearch in -lresolv... " >&6; } if test ${ac_cv_lib_resolv___res_nsearch+y} then : @@ -71074,8 +71622,8 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_resolv___res_nsearch" >&5 -printf '%s\n' "$ac_cv_lib_resolv___res_nsearch" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_resolv___res_nsearch" >&5 +printf "%s\n" "$ac_cv_lib_resolv___res_nsearch" >&6; } if test "x$ac_cv_lib_resolv___res_nsearch" = xyes then : found=yes @@ -71136,10 +71684,10 @@ -printf '%s\n' "#define HAVE_RES_NSEARCH 1" >>confdefs.h +printf "%s\n" "#define HAVE_RES_NSEARCH 1" >>confdefs.h -printf '%s\n' "#define HAVE_LIBRESOLV 1" >>confdefs.h +printf "%s\n" "#define HAVE_LIBRESOLV 1" >>confdefs.h ac_cv_func_res_nsearch=yes else @@ -71148,7 +71696,7 @@ unset ac_cv_lib_socket_res_nsearch unset ac_cv_lib_socket___res_nsearch unset found - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for res_nsearch in -lsocket" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for res_nsearch in -lsocket" >&5 printf %s "checking for res_nsearch in -lsocket... " >&6; } if test ${ac_cv_lib_socket_res_nsearch+y} then : @@ -71189,14 +71737,14 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_res_nsearch" >&5 -printf '%s\n' "$ac_cv_lib_socket_res_nsearch" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_res_nsearch" >&5 +printf "%s\n" "$ac_cv_lib_socket_res_nsearch" >&6; } if test "x$ac_cv_lib_socket_res_nsearch" = xyes then : found=yes else case e in #( e) - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for __res_nsearch in -lsocket" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __res_nsearch in -lsocket" >&5 printf %s "checking for __res_nsearch in -lsocket... " >&6; } if test ${ac_cv_lib_socket___res_nsearch+y} then : @@ -71237,8 +71785,8 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket___res_nsearch" >&5 -printf '%s\n' "$ac_cv_lib_socket___res_nsearch" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket___res_nsearch" >&5 +printf "%s\n" "$ac_cv_lib_socket___res_nsearch" >&6; } if test "x$ac_cv_lib_socket___res_nsearch" = xyes then : found=yes @@ -71299,10 +71847,10 @@ -printf '%s\n' "#define HAVE_RES_NSEARCH 1" >>confdefs.h +printf "%s\n" "#define HAVE_RES_NSEARCH 1" >>confdefs.h -printf '%s\n' "#define HAVE_LIBSOCKET 1" >>confdefs.h +printf "%s\n" "#define HAVE_LIBSOCKET 1" >>confdefs.h ac_cv_func_res_nsearch=yes else @@ -71344,7 +71892,7 @@ case $found in yes) -printf '%s\n' "#define HAVE_RES_NDESTROY 1" >>confdefs.h +printf "%s\n" "#define HAVE_RES_NDESTROY 1" >>confdefs.h ac_cv_func_res_ndestroy=yes ;; @@ -71354,7 +71902,7 @@ unset ac_cv_lib_resolv_res_ndestroy unset ac_cv_lib_resolv___res_ndestroy unset found - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for res_ndestroy in -lresolv" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for res_ndestroy in -lresolv" >&5 printf %s "checking for res_ndestroy in -lresolv... " >&6; } if test ${ac_cv_lib_resolv_res_ndestroy+y} then : @@ -71395,14 +71943,14 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_resolv_res_ndestroy" >&5 -printf '%s\n' "$ac_cv_lib_resolv_res_ndestroy" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_resolv_res_ndestroy" >&5 +printf "%s\n" "$ac_cv_lib_resolv_res_ndestroy" >&6; } if test "x$ac_cv_lib_resolv_res_ndestroy" = xyes then : found=yes else case e in #( e) - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for __res_ndestroy in -lresolv" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __res_ndestroy in -lresolv" >&5 printf %s "checking for __res_ndestroy in -lresolv... " >&6; } if test ${ac_cv_lib_resolv___res_ndestroy+y} then : @@ -71443,8 +71991,8 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_resolv___res_ndestroy" >&5 -printf '%s\n' "$ac_cv_lib_resolv___res_ndestroy" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_resolv___res_ndestroy" >&5 +printf "%s\n" "$ac_cv_lib_resolv___res_ndestroy" >&6; } if test "x$ac_cv_lib_resolv___res_ndestroy" = xyes then : found=yes @@ -71505,10 +72053,10 @@ -printf '%s\n' "#define HAVE_RES_NDESTROY 1" >>confdefs.h +printf "%s\n" "#define HAVE_RES_NDESTROY 1" >>confdefs.h -printf '%s\n' "#define HAVE_LIBRESOLV 1" >>confdefs.h +printf "%s\n" "#define HAVE_LIBRESOLV 1" >>confdefs.h ac_cv_func_res_ndestroy=yes else @@ -71517,7 +72065,7 @@ unset ac_cv_lib_socket_res_ndestroy unset ac_cv_lib_socket___res_ndestroy unset found - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for res_ndestroy in -lsocket" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for res_ndestroy in -lsocket" >&5 printf %s "checking for res_ndestroy in -lsocket... " >&6; } if test ${ac_cv_lib_socket_res_ndestroy+y} then : @@ -71558,14 +72106,14 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_res_ndestroy" >&5 -printf '%s\n' "$ac_cv_lib_socket_res_ndestroy" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_res_ndestroy" >&5 +printf "%s\n" "$ac_cv_lib_socket_res_ndestroy" >&6; } if test "x$ac_cv_lib_socket_res_ndestroy" = xyes then : found=yes else case e in #( e) - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for __res_ndestroy in -lsocket" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __res_ndestroy in -lsocket" >&5 printf %s "checking for __res_ndestroy in -lsocket... " >&6; } if test ${ac_cv_lib_socket___res_ndestroy+y} then : @@ -71606,8 +72154,8 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket___res_ndestroy" >&5 -printf '%s\n' "$ac_cv_lib_socket___res_ndestroy" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket___res_ndestroy" >&5 +printf "%s\n" "$ac_cv_lib_socket___res_ndestroy" >&6; } if test "x$ac_cv_lib_socket___res_ndestroy" = xyes then : found=yes @@ -71668,10 +72216,10 @@ -printf '%s\n' "#define HAVE_RES_NDESTROY 1" >>confdefs.h +printf "%s\n" "#define HAVE_RES_NDESTROY 1" >>confdefs.h -printf '%s\n' "#define HAVE_LIBSOCKET 1" >>confdefs.h +printf "%s\n" "#define HAVE_LIBSOCKET 1" >>confdefs.h ac_cv_func_res_ndestroy=yes else @@ -71713,7 +72261,7 @@ case $found in yes) -printf '%s\n' "#define HAVE_DNS_SEARCH 1" >>confdefs.h +printf "%s\n" "#define HAVE_DNS_SEARCH 1" >>confdefs.h ac_cv_func_dns_search=yes ;; @@ -71723,7 +72271,7 @@ unset ac_cv_lib_resolv_dns_search unset ac_cv_lib_resolv___dns_search unset found - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for dns_search in -lresolv" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dns_search in -lresolv" >&5 printf %s "checking for dns_search in -lresolv... " >&6; } if test ${ac_cv_lib_resolv_dns_search+y} then : @@ -71764,14 +72312,14 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_resolv_dns_search" >&5 -printf '%s\n' "$ac_cv_lib_resolv_dns_search" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_resolv_dns_search" >&5 +printf "%s\n" "$ac_cv_lib_resolv_dns_search" >&6; } if test "x$ac_cv_lib_resolv_dns_search" = xyes then : found=yes else case e in #( e) - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for __dns_search in -lresolv" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __dns_search in -lresolv" >&5 printf %s "checking for __dns_search in -lresolv... " >&6; } if test ${ac_cv_lib_resolv___dns_search+y} then : @@ -71812,8 +72360,8 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_resolv___dns_search" >&5 -printf '%s\n' "$ac_cv_lib_resolv___dns_search" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_resolv___dns_search" >&5 +printf "%s\n" "$ac_cv_lib_resolv___dns_search" >&6; } if test "x$ac_cv_lib_resolv___dns_search" = xyes then : found=yes @@ -71874,10 +72422,10 @@ -printf '%s\n' "#define HAVE_DNS_SEARCH 1" >>confdefs.h +printf "%s\n" "#define HAVE_DNS_SEARCH 1" >>confdefs.h -printf '%s\n' "#define HAVE_LIBRESOLV 1" >>confdefs.h +printf "%s\n" "#define HAVE_LIBRESOLV 1" >>confdefs.h ac_cv_func_dns_search=yes else @@ -71886,7 +72434,7 @@ unset ac_cv_lib_socket_dns_search unset ac_cv_lib_socket___dns_search unset found - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for dns_search in -lsocket" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dns_search in -lsocket" >&5 printf %s "checking for dns_search in -lsocket... " >&6; } if test ${ac_cv_lib_socket_dns_search+y} then : @@ -71927,14 +72475,14 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_dns_search" >&5 -printf '%s\n' "$ac_cv_lib_socket_dns_search" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_dns_search" >&5 +printf "%s\n" "$ac_cv_lib_socket_dns_search" >&6; } if test "x$ac_cv_lib_socket_dns_search" = xyes then : found=yes else case e in #( e) - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for __dns_search in -lsocket" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __dns_search in -lsocket" >&5 printf %s "checking for __dns_search in -lsocket... " >&6; } if test ${ac_cv_lib_socket___dns_search+y} then : @@ -71975,8 +72523,8 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket___dns_search" >&5 -printf '%s\n' "$ac_cv_lib_socket___dns_search" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket___dns_search" >&5 +printf "%s\n" "$ac_cv_lib_socket___dns_search" >&6; } if test "x$ac_cv_lib_socket___dns_search" = xyes then : found=yes @@ -72037,10 +72585,10 @@ -printf '%s\n' "#define HAVE_DNS_SEARCH 1" >>confdefs.h +printf "%s\n" "#define HAVE_DNS_SEARCH 1" >>confdefs.h -printf '%s\n' "#define HAVE_LIBSOCKET 1" >>confdefs.h +printf "%s\n" "#define HAVE_LIBSOCKET 1" >>confdefs.h ac_cv_func_dns_search=yes else @@ -72082,7 +72630,7 @@ case $found in yes) -printf '%s\n' "#define HAVE_DN_EXPAND 1" >>confdefs.h +printf "%s\n" "#define HAVE_DN_EXPAND 1" >>confdefs.h ac_cv_func_dn_expand=yes ;; @@ -72092,7 +72640,7 @@ unset ac_cv_lib_resolv_dn_expand unset ac_cv_lib_resolv___dn_expand unset found - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for dn_expand in -lresolv" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dn_expand in -lresolv" >&5 printf %s "checking for dn_expand in -lresolv... " >&6; } if test ${ac_cv_lib_resolv_dn_expand+y} then : @@ -72133,14 +72681,14 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_resolv_dn_expand" >&5 -printf '%s\n' "$ac_cv_lib_resolv_dn_expand" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_resolv_dn_expand" >&5 +printf "%s\n" "$ac_cv_lib_resolv_dn_expand" >&6; } if test "x$ac_cv_lib_resolv_dn_expand" = xyes then : found=yes else case e in #( e) - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for __dn_expand in -lresolv" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __dn_expand in -lresolv" >&5 printf %s "checking for __dn_expand in -lresolv... " >&6; } if test ${ac_cv_lib_resolv___dn_expand+y} then : @@ -72181,8 +72729,8 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_resolv___dn_expand" >&5 -printf '%s\n' "$ac_cv_lib_resolv___dn_expand" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_resolv___dn_expand" >&5 +printf "%s\n" "$ac_cv_lib_resolv___dn_expand" >&6; } if test "x$ac_cv_lib_resolv___dn_expand" = xyes then : found=yes @@ -72243,10 +72791,10 @@ -printf '%s\n' "#define HAVE_DN_EXPAND 1" >>confdefs.h +printf "%s\n" "#define HAVE_DN_EXPAND 1" >>confdefs.h -printf '%s\n' "#define HAVE_LIBRESOLV 1" >>confdefs.h +printf "%s\n" "#define HAVE_LIBRESOLV 1" >>confdefs.h ac_cv_func_dn_expand=yes else @@ -72255,7 +72803,7 @@ unset ac_cv_lib_socket_dn_expand unset ac_cv_lib_socket___dn_expand unset found - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for dn_expand in -lsocket" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dn_expand in -lsocket" >&5 printf %s "checking for dn_expand in -lsocket... " >&6; } if test ${ac_cv_lib_socket_dn_expand+y} then : @@ -72296,14 +72844,14 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_dn_expand" >&5 -printf '%s\n' "$ac_cv_lib_socket_dn_expand" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_dn_expand" >&5 +printf "%s\n" "$ac_cv_lib_socket_dn_expand" >&6; } if test "x$ac_cv_lib_socket_dn_expand" = xyes then : found=yes else case e in #( e) - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for __dn_expand in -lsocket" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __dn_expand in -lsocket" >&5 printf %s "checking for __dn_expand in -lsocket... " >&6; } if test ${ac_cv_lib_socket___dn_expand+y} then : @@ -72344,8 +72892,8 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket___dn_expand" >&5 -printf '%s\n' "$ac_cv_lib_socket___dn_expand" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket___dn_expand" >&5 +printf "%s\n" "$ac_cv_lib_socket___dn_expand" >&6; } if test "x$ac_cv_lib_socket___dn_expand" = xyes then : found=yes @@ -72406,10 +72954,10 @@ -printf '%s\n' "#define HAVE_DN_EXPAND 1" >>confdefs.h +printf "%s\n" "#define HAVE_DN_EXPAND 1" >>confdefs.h -printf '%s\n' "#define HAVE_LIBSOCKET 1" >>confdefs.h +printf "%s\n" "#define HAVE_LIBSOCKET 1" >>confdefs.h ac_cv_func_dn_expand=yes else @@ -72451,7 +72999,7 @@ case $found in yes) -printf '%s\n' "#define HAVE_DN_SKIPNAME 1" >>confdefs.h +printf "%s\n" "#define HAVE_DN_SKIPNAME 1" >>confdefs.h ac_cv_func_dn_skipname=yes ;; @@ -72461,7 +73009,7 @@ unset ac_cv_lib_resolv_dn_skipname unset ac_cv_lib_resolv___dn_skipname unset found - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for dn_skipname in -lresolv" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dn_skipname in -lresolv" >&5 printf %s "checking for dn_skipname in -lresolv... " >&6; } if test ${ac_cv_lib_resolv_dn_skipname+y} then : @@ -72502,14 +73050,14 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_resolv_dn_skipname" >&5 -printf '%s\n' "$ac_cv_lib_resolv_dn_skipname" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_resolv_dn_skipname" >&5 +printf "%s\n" "$ac_cv_lib_resolv_dn_skipname" >&6; } if test "x$ac_cv_lib_resolv_dn_skipname" = xyes then : found=yes else case e in #( e) - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for __dn_skipname in -lresolv" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __dn_skipname in -lresolv" >&5 printf %s "checking for __dn_skipname in -lresolv... " >&6; } if test ${ac_cv_lib_resolv___dn_skipname+y} then : @@ -72550,8 +73098,8 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_resolv___dn_skipname" >&5 -printf '%s\n' "$ac_cv_lib_resolv___dn_skipname" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_resolv___dn_skipname" >&5 +printf "%s\n" "$ac_cv_lib_resolv___dn_skipname" >&6; } if test "x$ac_cv_lib_resolv___dn_skipname" = xyes then : found=yes @@ -72612,10 +73160,10 @@ -printf '%s\n' "#define HAVE_DN_SKIPNAME 1" >>confdefs.h +printf "%s\n" "#define HAVE_DN_SKIPNAME 1" >>confdefs.h -printf '%s\n' "#define HAVE_LIBRESOLV 1" >>confdefs.h +printf "%s\n" "#define HAVE_LIBRESOLV 1" >>confdefs.h ac_cv_func_dn_skipname=yes else @@ -72624,7 +73172,7 @@ unset ac_cv_lib_socket_dn_skipname unset ac_cv_lib_socket___dn_skipname unset found - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for dn_skipname in -lsocket" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dn_skipname in -lsocket" >&5 printf %s "checking for dn_skipname in -lsocket... " >&6; } if test ${ac_cv_lib_socket_dn_skipname+y} then : @@ -72665,14 +73213,14 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_dn_skipname" >&5 -printf '%s\n' "$ac_cv_lib_socket_dn_skipname" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_dn_skipname" >&5 +printf "%s\n" "$ac_cv_lib_socket_dn_skipname" >&6; } if test "x$ac_cv_lib_socket_dn_skipname" = xyes then : found=yes else case e in #( e) - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for __dn_skipname in -lsocket" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __dn_skipname in -lsocket" >&5 printf %s "checking for __dn_skipname in -lsocket... " >&6; } if test ${ac_cv_lib_socket___dn_skipname+y} then : @@ -72713,8 +73261,8 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket___dn_skipname" >&5 -printf '%s\n' "$ac_cv_lib_socket___dn_skipname" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket___dn_skipname" >&5 +printf "%s\n" "$ac_cv_lib_socket___dn_skipname" >&6; } if test "x$ac_cv_lib_socket___dn_skipname" = xyes then : found=yes @@ -72775,10 +73323,10 @@ -printf '%s\n' "#define HAVE_DN_SKIPNAME 1" >>confdefs.h +printf "%s\n" "#define HAVE_DN_SKIPNAME 1" >>confdefs.h -printf '%s\n' "#define HAVE_LIBSOCKET 1" >>confdefs.h +printf "%s\n" "#define HAVE_LIBSOCKET 1" >>confdefs.h ac_cv_func_dn_skipname=yes else @@ -72822,7 +73370,7 @@ case $found in yes) -printf '%s\n' "#define HAVE_RES_SEARCH 1" >>confdefs.h +printf "%s\n" "#define HAVE_RES_SEARCH 1" >>confdefs.h ac_cv_func_res_search=yes ;; @@ -72832,7 +73380,7 @@ unset ac_cv_lib_resolv_res_search unset ac_cv_lib_resolv___res_search unset found - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for res_search in -lresolv" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for res_search in -lresolv" >&5 printf %s "checking for res_search in -lresolv... " >&6; } if test ${ac_cv_lib_resolv_res_search+y} then : @@ -72873,14 +73421,14 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_resolv_res_search" >&5 -printf '%s\n' "$ac_cv_lib_resolv_res_search" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_resolv_res_search" >&5 +printf "%s\n" "$ac_cv_lib_resolv_res_search" >&6; } if test "x$ac_cv_lib_resolv_res_search" = xyes then : found=yes else case e in #( e) - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for __res_search in -lresolv" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __res_search in -lresolv" >&5 printf %s "checking for __res_search in -lresolv... " >&6; } if test ${ac_cv_lib_resolv___res_search+y} then : @@ -72921,8 +73469,8 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_resolv___res_search" >&5 -printf '%s\n' "$ac_cv_lib_resolv___res_search" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_resolv___res_search" >&5 +printf "%s\n" "$ac_cv_lib_resolv___res_search" >&6; } if test "x$ac_cv_lib_resolv___res_search" = xyes then : found=yes @@ -72983,10 +73531,10 @@ -printf '%s\n' "#define HAVE_RES_SEARCH 1" >>confdefs.h +printf "%s\n" "#define HAVE_RES_SEARCH 1" >>confdefs.h -printf '%s\n' "#define HAVE_LIBRESOLV 1" >>confdefs.h +printf "%s\n" "#define HAVE_LIBRESOLV 1" >>confdefs.h ac_cv_func_res_search=yes else @@ -72995,7 +73543,7 @@ unset ac_cv_lib_socket_res_search unset ac_cv_lib_socket___res_search unset found - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for res_search in -lsocket" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for res_search in -lsocket" >&5 printf %s "checking for res_search in -lsocket... " >&6; } if test ${ac_cv_lib_socket_res_search+y} then : @@ -73036,14 +73584,14 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_res_search" >&5 -printf '%s\n' "$ac_cv_lib_socket_res_search" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_res_search" >&5 +printf "%s\n" "$ac_cv_lib_socket_res_search" >&6; } if test "x$ac_cv_lib_socket_res_search" = xyes then : found=yes else case e in #( e) - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for __res_search in -lsocket" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __res_search in -lsocket" >&5 printf %s "checking for __res_search in -lsocket... " >&6; } if test ${ac_cv_lib_socket___res_search+y} then : @@ -73084,8 +73632,8 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket___res_search" >&5 -printf '%s\n' "$ac_cv_lib_socket___res_search" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket___res_search" >&5 +printf "%s\n" "$ac_cv_lib_socket___res_search" >&6; } if test "x$ac_cv_lib_socket___res_search" = xyes then : found=yes @@ -73146,10 +73694,10 @@ -printf '%s\n' "#define HAVE_RES_SEARCH 1" >>confdefs.h +printf "%s\n" "#define HAVE_RES_SEARCH 1" >>confdefs.h -printf '%s\n' "#define HAVE_LIBSOCKET 1" >>confdefs.h +printf "%s\n" "#define HAVE_LIBSOCKET 1" >>confdefs.h ac_cv_func_res_search=yes else @@ -73169,30 +73717,30 @@ ac_fn_c_check_func "$LINENO" "posix_spawn_file_actions_addchdir_np" "ac_cv_func_posix_spawn_file_actions_addchdir_np" if test "x$ac_cv_func_posix_spawn_file_actions_addchdir_np" = xyes then : - printf '%s\n' "#define HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR_NP 1" >>confdefs.h + printf "%s\n" "#define HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR_NP 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "elf_aux_info" "ac_cv_func_elf_aux_info" if test "x$ac_cv_func_elf_aux_info" = xyes then : - printf '%s\n' "#define HAVE_ELF_AUX_INFO 1" >>confdefs.h + printf "%s\n" "#define HAVE_ELF_AUX_INFO 1" >>confdefs.h fi ac_fn_check_decl "$LINENO" "strptime" "ac_cv_have_decl_strptime" "#include -" "$ac_c_undeclared_builtin_options$ac_c_future_darwin_options" "CFLAGS" +" "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_strptime" = xyes then : -printf '%s\n' "#define HAVE_DECL_STRPTIME 1" >>confdefs.h +printf "%s\n" "#define HAVE_DECL_STRPTIME 1" >>confdefs.h fi php_with_password_argon2=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for Argon2 support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Argon2 support" >&5 printf %s "checking for Argon2 support... " >&6; } # Check whether --with-password-argon2 was given. @@ -73230,8 +73778,8 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -73243,17 +73791,17 @@ e) pkg_failed=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for libargon2" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libargon2" >&5 printf %s "checking for libargon2... " >&6; } if test -n "$ARGON2_CFLAGS"; then pkg_cv_ARGON2_CFLAGS="$ARGON2_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libargon2\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libargon2\""; } >&5 ($PKG_CONFIG --exists --print-errors "libargon2") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_ARGON2_CFLAGS=`$PKG_CONFIG --cflags "libargon2" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -73267,10 +73815,10 @@ pkg_cv_ARGON2_LIBS="$ARGON2_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libargon2\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libargon2\""; } >&5 ($PKG_CONFIG --exists --print-errors "libargon2") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_ARGON2_LIBS=`$PKG_CONFIG --libs "libargon2" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -73284,8 +73832,8 @@ if test $pkg_failed = yes; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -73311,10 +73859,10 @@ and ARGON2_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -73328,8 +73876,8 @@ else ARGON2_CFLAGS=$pkg_cv_ARGON2_CFLAGS ARGON2_LIBS=$pkg_cv_ARGON2_LIBS - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } fi @@ -73471,7 +74019,7 @@ -printf '%s\n' "#define HAVE_ARGON2LIB 1" >>confdefs.h +printf "%s\n" "#define HAVE_ARGON2LIB 1" >>confdefs.h ;; esac @@ -73484,12 +74032,12 @@ " if test "x$ac_cv_header_net_if_h" = xyes then : - printf '%s\n' "#define HAVE_NET_IF_H 1" >>confdefs.h + printf "%s\n" "#define HAVE_NET_IF_H 1" >>confdefs.h fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for usable getifaddrs" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for usable getifaddrs" >&5 printf %s "checking for usable getifaddrs... " >&6; } if test ${php_cv_func_getifaddrs+y} then : @@ -73525,12 +74073,12 @@ conftest$ac_exeext conftest.$ac_ext ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_func_getifaddrs" >&5 -printf '%s\n' "$php_cv_func_getifaddrs" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_func_getifaddrs" >&5 +printf "%s\n" "$php_cv_func_getifaddrs" >&6; } if test "x$php_cv_func_getifaddrs" = xyes then : -printf '%s\n' "#define HAVE_GETIFADDRS 1" >>confdefs.h +printf "%s\n" "#define HAVE_GETIFADDRS 1" >>confdefs.h fi @@ -73669,7 +74217,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_STANDARD 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_STANDARD 1" >>confdefs.h fi fi @@ -73818,7 +74366,7 @@ php_enable_sysvmsg=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to enable System V IPC support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable System V IPC support" >&5 printf %s "checking whether to enable System V IPC support... " >&6; } # Check whether --enable-sysvmsg was given. if test ${enable_sysvmsg+y} @@ -73855,8 +74403,8 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -73867,8 +74415,8 @@ then : else case e in #( - e) { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + e) { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "Cannot enable System V IPC support. Required header file not found. See 'config.log' for more details" "$LINENO" 5; } ;; @@ -73877,7 +74425,7 @@ -printf '%s\n' "#define HAVE_SYSVMSG 1" >>confdefs.h +printf "%s\n" "#define HAVE_SYSVMSG 1" >>confdefs.h ext_builddir=ext/sysvmsg @@ -74014,7 +74562,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_SYSVMSG 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_SYSVMSG 1" >>confdefs.h fi fi @@ -74140,7 +74688,7 @@ php_enable_sysvsem=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to enable System V semaphore support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable System V semaphore support" >&5 printf %s "checking whether to enable System V semaphore support... " >&6; } # Check whether --enable-sysvsem was given. if test ${enable_sysvsem+y} @@ -74177,8 +74725,8 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -74319,7 +74867,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_SYSVSEM 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_SYSVSEM 1" >>confdefs.h fi fi @@ -74438,7 +74986,7 @@ fi -printf '%s\n' "#define HAVE_SYSVSEM 1" >>confdefs.h +printf "%s\n" "#define HAVE_SYSVSEM 1" >>confdefs.h ac_fn_c_check_type "$LINENO" "union semun" "ac_cv_type_union_semun" " #include @@ -74449,7 +74997,7 @@ if test "x$ac_cv_type_union_semun" = xyes then : -printf '%s\n' "#define HAVE_UNION_SEMUN 1" >>confdefs.h +printf "%s\n" "#define HAVE_UNION_SEMUN 1" >>confdefs.h fi @@ -74462,7 +75010,7 @@ php_enable_sysvshm=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to enable System V shared memory support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable System V shared memory support" >&5 printf %s "checking whether to enable System V shared memory support... " >&6; } # Check whether --enable-sysvshm was given. if test ${enable_sysvshm+y} @@ -74499,15 +75047,15 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } if test "$PHP_SYSVSHM" != "no"; then -printf '%s\n' "#define HAVE_SYSVSHM 1" >>confdefs.h +printf "%s\n" "#define HAVE_SYSVSHM 1" >>confdefs.h ext_builddir=ext/sysvshm @@ -74644,7 +75192,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_SYSVSHM 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_SYSVSHM 1" >>confdefs.h fi fi @@ -74770,7 +75318,7 @@ php_with_tidy=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for TIDY support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for TIDY support" >&5 printf %s "checking for TIDY support... " >&6; } # Check whether --with-tidy was given. @@ -74808,8 +75356,8 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -74853,7 +75401,7 @@ if test -f "$TIDY_INCDIR/tidybuffio.h" then : -printf '%s\n' "#define HAVE_TIDYBUFFIO_H 1" >>confdefs.h +printf "%s\n" "#define HAVE_TIDYBUFFIO_H 1" >>confdefs.h fi @@ -74861,11 +75409,11 @@ if test "x$TIDY_LIB_NAME" = xtidyp then : -printf '%s\n' "#define HAVE_TIDYP_H 1" >>confdefs.h +printf "%s\n" "#define HAVE_TIDYP_H 1" >>confdefs.h else case e in #( e) -printf '%s\n' "#define HAVE_TIDY_H 1" >>confdefs.h +printf "%s\n" "#define HAVE_TIDY_H 1" >>confdefs.h ;; esac fi @@ -74988,8 +75536,8 @@ esac done - as_ac_Lib=`printf '%s\n' "ac_cv_lib_$TIDY_LIB_NAME""_tidyOptGetDoc" | sed "$as_sed_sh"` -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for tidyOptGetDoc in -l$TIDY_LIB_NAME" >&5 + as_ac_Lib=`printf "%s\n" "ac_cv_lib_$TIDY_LIB_NAME""_tidyOptGetDoc" | sed "$as_sed_sh"` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for tidyOptGetDoc in -l$TIDY_LIB_NAME" >&5 printf %s "checking for tidyOptGetDoc in -l$TIDY_LIB_NAME... " >&6; } if eval test \${$as_ac_Lib+y} then : @@ -75031,15 +75579,15 @@ esac fi eval ac_res=\$$as_ac_Lib - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf '%s\n' "$ac_res" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } if eval test \"x\$"$as_ac_Lib"\" = x"yes" then : LDFLAGS=$save_old_LDFLAGS ext_shared=$save_ext_shared -printf '%s\n' "#define HAVE_TIDYOPTGETDOC 1" >>confdefs.h +printf "%s\n" "#define HAVE_TIDYOPTGETDOC 1" >>confdefs.h else case e in #( @@ -75165,7 +75713,7 @@ esac done - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for tidyOptGetDoc in -ltidy5" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for tidyOptGetDoc in -ltidy5" >&5 printf %s "checking for tidyOptGetDoc in -ltidy5... " >&6; } if test ${ac_cv_lib_tidy5_tidyOptGetDoc+y} then : @@ -75206,15 +75754,15 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_tidy5_tidyOptGetDoc" >&5 -printf '%s\n' "$ac_cv_lib_tidy5_tidyOptGetDoc" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_tidy5_tidyOptGetDoc" >&5 +printf "%s\n" "$ac_cv_lib_tidy5_tidyOptGetDoc" >&6; } if test "x$ac_cv_lib_tidy5_tidyOptGetDoc" = xyes then : LDFLAGS=$save_old_LDFLAGS ext_shared=$save_ext_shared TIDY_LIB_NAME=tidy5 - printf '%s\n' "#define HAVE_TIDYOPTGETDOC 1" >>confdefs.h + printf "%s\n" "#define HAVE_TIDYOPTGETDOC 1" >>confdefs.h else case e in #( @@ -75350,8 +75898,8 @@ esac done - as_ac_Lib=`printf '%s\n' "ac_cv_lib_$TIDY_LIB_NAME""_tidyReleaseDate" | sed "$as_sed_sh"` -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for tidyReleaseDate in -l$TIDY_LIB_NAME" >&5 + as_ac_Lib=`printf "%s\n" "ac_cv_lib_$TIDY_LIB_NAME""_tidyReleaseDate" | sed "$as_sed_sh"` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for tidyReleaseDate in -l$TIDY_LIB_NAME" >&5 printf %s "checking for tidyReleaseDate in -l$TIDY_LIB_NAME... " >&6; } if eval test \${$as_ac_Lib+y} then : @@ -75393,15 +75941,15 @@ esac fi eval ac_res=\$$as_ac_Lib - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf '%s\n' "$ac_res" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } if eval test \"x\$"$as_ac_Lib"\" = x"yes" then : LDFLAGS=$save_old_LDFLAGS ext_shared=$save_ext_shared -printf '%s\n' "#define HAVE_TIDYRELEASEDATE 1" >>confdefs.h +printf "%s\n" "#define HAVE_TIDYRELEASEDATE 1" >>confdefs.h else case e in #( @@ -75558,7 +76106,7 @@ old_CPPFLAGS=$CPPFLAGS CPPFLAGS=-I$TIDY_INCDIR - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for tidyOptGetCategory" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for tidyOptGetCategory" >&5 printf %s "checking for tidyOptGetCategory... " >&6; } if test ${php_ac_cv_have_tidyoptgetcategory+y} then : @@ -75592,12 +76140,12 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_ac_cv_have_tidyoptgetcategory" >&5 -printf '%s\n' "$php_ac_cv_have_tidyoptgetcategory" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_ac_cv_have_tidyoptgetcategory" >&5 +printf "%s\n" "$php_ac_cv_have_tidyoptgetcategory" >&6; } if test "x$php_ac_cv_have_tidyoptgetcategory" = xyes then : -printf '%s\n' "#define HAVE_TIDYOPTGETCATEGORY 1" >>confdefs.h +printf "%s\n" "#define HAVE_TIDYOPTGETCATEGORY 1" >>confdefs.h fi @@ -75738,7 +76286,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_TIDY 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_TIDY 1" >>confdefs.h fi fi @@ -75860,7 +76408,7 @@ PHP_VAR_SUBST="$PHP_VAR_SUBST TIDY_SHARED_LIBADD" -printf '%s\n' "#define HAVE_TIDY 1" >>confdefs.h +printf "%s\n" "#define HAVE_TIDY 1" >>confdefs.h fi @@ -75870,7 +76418,7 @@ php_enable_tokenizer=yes -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to enable tokenizer support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable tokenizer support" >&5 printf %s "checking whether to enable tokenizer support... " >&6; } # Check whether --enable-tokenizer was given. if test ${enable_tokenizer+y} @@ -75907,8 +76455,8 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -76049,7 +76597,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_TOKENIZER 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_TOKENIZER 1" >>confdefs.h fi fi @@ -76180,7 +76728,7 @@ php_enable_xml=yes -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to enable XML support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable XML support" >&5 printf %s "checking whether to enable XML support... " >&6; } # Check whether --enable-xml was given. if test ${enable_xml+y} @@ -76217,8 +76765,8 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -76226,7 +76774,7 @@ php_with_expat=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to build with Expat support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build with Expat support" >&5 printf %s "checking whether to build with Expat support... " >&6; } # Check whether --with-expat was given. @@ -76243,8 +76791,8 @@ ext_output=$PHP_EXPAT -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -76255,17 +76803,17 @@ pkg_failed=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for libxml-2.0 >= 2.9.4" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libxml-2.0 >= 2.9.4" >&5 printf %s "checking for libxml-2.0 >= 2.9.4... " >&6; } if test -n "$LIBXML_CFLAGS"; then pkg_cv_LIBXML_CFLAGS="$LIBXML_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libxml-2.0 >= 2.9.4\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libxml-2.0 >= 2.9.4\""; } >&5 ($PKG_CONFIG --exists --print-errors "libxml-2.0 >= 2.9.4") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_LIBXML_CFLAGS=`$PKG_CONFIG --cflags "libxml-2.0 >= 2.9.4" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -76279,10 +76827,10 @@ pkg_cv_LIBXML_LIBS="$LIBXML_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libxml-2.0 >= 2.9.4\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libxml-2.0 >= 2.9.4\""; } >&5 ($PKG_CONFIG --exists --print-errors "libxml-2.0 >= 2.9.4") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_LIBXML_LIBS=`$PKG_CONFIG --libs "libxml-2.0 >= 2.9.4" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -76296,8 +76844,8 @@ if test $pkg_failed = yes; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -76323,10 +76871,10 @@ and LIBXML_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -76340,8 +76888,8 @@ else LIBXML_CFLAGS=$pkg_cv_LIBXML_CFLAGS LIBXML_LIBS=$pkg_cv_LIBXML_LIBS - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } fi @@ -76505,17 +77053,17 @@ e) pkg_failed=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for expat" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for expat" >&5 printf %s "checking for expat... " >&6; } if test -n "$EXPAT_CFLAGS"; then pkg_cv_EXPAT_CFLAGS="$EXPAT_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"expat\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"expat\""; } >&5 ($PKG_CONFIG --exists --print-errors "expat") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_EXPAT_CFLAGS=`$PKG_CONFIG --cflags "expat" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -76529,10 +77077,10 @@ pkg_cv_EXPAT_LIBS="$EXPAT_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"expat\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"expat\""; } >&5 ($PKG_CONFIG --exists --print-errors "expat") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_EXPAT_LIBS=`$PKG_CONFIG --libs "expat" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -76546,8 +77094,8 @@ if test $pkg_failed = yes; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -76573,10 +77121,10 @@ and EXPAT_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -76590,8 +77138,8 @@ else EXPAT_CFLAGS=$pkg_cv_EXPAT_CFLAGS EXPAT_LIBS=$pkg_cv_EXPAT_LIBS - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } fi @@ -76750,7 +77298,7 @@ done -printf '%s\n' "#define HAVE_LIBEXPAT 1" >>confdefs.h +printf "%s\n" "#define HAVE_LIBEXPAT 1" >>confdefs.h ;; esac @@ -76891,7 +77439,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_XML 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_XML 1" >>confdefs.h fi fi @@ -77056,7 +77604,7 @@ -printf '%s\n' "#define HAVE_XML 1" >>confdefs.h +printf "%s\n" "#define HAVE_XML 1" >>confdefs.h fi @@ -77066,7 +77614,7 @@ php_enable_xmlreader=yes -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to enable XMLReader support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable XMLReader support" >&5 printf %s "checking whether to enable XMLReader support... " >&6; } # Check whether --enable-xmlreader was given. if test ${enable_xmlreader+y} @@ -77103,8 +77651,8 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -77113,17 +77661,17 @@ pkg_failed=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for libxml-2.0 >= 2.9.4" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libxml-2.0 >= 2.9.4" >&5 printf %s "checking for libxml-2.0 >= 2.9.4... " >&6; } if test -n "$LIBXML_CFLAGS"; then pkg_cv_LIBXML_CFLAGS="$LIBXML_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libxml-2.0 >= 2.9.4\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libxml-2.0 >= 2.9.4\""; } >&5 ($PKG_CONFIG --exists --print-errors "libxml-2.0 >= 2.9.4") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_LIBXML_CFLAGS=`$PKG_CONFIG --cflags "libxml-2.0 >= 2.9.4" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -77137,10 +77685,10 @@ pkg_cv_LIBXML_LIBS="$LIBXML_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libxml-2.0 >= 2.9.4\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libxml-2.0 >= 2.9.4\""; } >&5 ($PKG_CONFIG --exists --print-errors "libxml-2.0 >= 2.9.4") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_LIBXML_LIBS=`$PKG_CONFIG --libs "libxml-2.0 >= 2.9.4" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -77154,8 +77702,8 @@ if test $pkg_failed = yes; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -77181,10 +77729,10 @@ and LIBXML_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -77198,8 +77746,8 @@ else LIBXML_CFLAGS=$pkg_cv_LIBXML_CFLAGS LIBXML_LIBS=$pkg_cv_LIBXML_LIBS - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } fi @@ -77359,7 +77907,7 @@ -printf '%s\n' "#define HAVE_XMLREADER 1" >>confdefs.h +printf "%s\n" "#define HAVE_XMLREADER 1" >>confdefs.h ext_builddir=ext/xmlreader @@ -77496,7 +78044,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_XMLREADER 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_XMLREADER 1" >>confdefs.h fi fi @@ -77665,7 +78213,7 @@ php_enable_xmlwriter=yes -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to enable XMLWriter support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable XMLWriter support" >&5 printf %s "checking whether to enable XMLWriter support... " >&6; } # Check whether --enable-xmlwriter was given. if test ${enable_xmlwriter+y} @@ -77702,8 +78250,8 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -77712,17 +78260,17 @@ pkg_failed=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for libxml-2.0 >= 2.9.4" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libxml-2.0 >= 2.9.4" >&5 printf %s "checking for libxml-2.0 >= 2.9.4... " >&6; } if test -n "$LIBXML_CFLAGS"; then pkg_cv_LIBXML_CFLAGS="$LIBXML_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libxml-2.0 >= 2.9.4\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libxml-2.0 >= 2.9.4\""; } >&5 ($PKG_CONFIG --exists --print-errors "libxml-2.0 >= 2.9.4") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_LIBXML_CFLAGS=`$PKG_CONFIG --cflags "libxml-2.0 >= 2.9.4" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -77736,10 +78284,10 @@ pkg_cv_LIBXML_LIBS="$LIBXML_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libxml-2.0 >= 2.9.4\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libxml-2.0 >= 2.9.4\""; } >&5 ($PKG_CONFIG --exists --print-errors "libxml-2.0 >= 2.9.4") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_LIBXML_LIBS=`$PKG_CONFIG --libs "libxml-2.0 >= 2.9.4" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -77753,8 +78301,8 @@ if test $pkg_failed = yes; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -77780,10 +78328,10 @@ and LIBXML_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -77797,8 +78345,8 @@ else LIBXML_CFLAGS=$pkg_cv_LIBXML_CFLAGS LIBXML_LIBS=$pkg_cv_LIBXML_LIBS - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } fi @@ -77958,7 +78506,7 @@ -printf '%s\n' "#define HAVE_XMLWRITER 1" >>confdefs.h +printf "%s\n" "#define HAVE_XMLWRITER 1" >>confdefs.h ext_builddir=ext/xmlwriter @@ -78095,7 +78643,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_XMLWRITER 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_XMLWRITER 1" >>confdefs.h fi fi @@ -78245,7 +78793,7 @@ php_with_xsl=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to build with XSL support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build with XSL support" >&5 printf %s "checking whether to build with XSL support... " >&6; } # Check whether --with-xsl was given. @@ -78283,8 +78831,8 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -78292,17 +78840,17 @@ if test "$PHP_XSL" != "no"; then pkg_failed=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for libxslt >= 1.1.0" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libxslt >= 1.1.0" >&5 printf %s "checking for libxslt >= 1.1.0... " >&6; } if test -n "$XSL_CFLAGS"; then pkg_cv_XSL_CFLAGS="$XSL_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libxslt >= 1.1.0\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libxslt >= 1.1.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "libxslt >= 1.1.0") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_XSL_CFLAGS=`$PKG_CONFIG --cflags "libxslt >= 1.1.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -78316,10 +78864,10 @@ pkg_cv_XSL_LIBS="$XSL_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libxslt >= 1.1.0\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libxslt >= 1.1.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "libxslt >= 1.1.0") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_XSL_LIBS=`$PKG_CONFIG --libs "libxslt >= 1.1.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -78333,8 +78881,8 @@ if test $pkg_failed = yes; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -78360,10 +78908,10 @@ and XSL_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -78377,8 +78925,8 @@ else XSL_CFLAGS=$pkg_cv_XSL_CFLAGS XSL_LIBS=$pkg_cv_XSL_LIBS - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } fi @@ -78540,17 +79088,17 @@ pkg_failed=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for libexslt" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libexslt" >&5 printf %s "checking for libexslt... " >&6; } if test -n "$EXSLT_CFLAGS"; then pkg_cv_EXSLT_CFLAGS="$EXSLT_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libexslt\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libexslt\""; } >&5 ($PKG_CONFIG --exists --print-errors "libexslt") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_EXSLT_CFLAGS=`$PKG_CONFIG --cflags "libexslt" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -78564,10 +79112,10 @@ pkg_cv_EXSLT_LIBS="$EXSLT_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libexslt\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libexslt\""; } >&5 ($PKG_CONFIG --exists --print-errors "libexslt") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_EXSLT_LIBS=`$PKG_CONFIG --libs "libexslt" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -78581,8 +79129,8 @@ if test $pkg_failed = yes; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -78599,14 +79147,14 @@ : elif test $pkg_failed = untried; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } : else EXSLT_CFLAGS=$pkg_cv_EXSLT_CFLAGS EXSLT_LIBS=$pkg_cv_EXSLT_LIBS - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } for ac_i in $EXSLT_CFLAGS; do @@ -78764,13 +79312,13 @@ done -printf '%s\n' "#define HAVE_XSL_EXSLT 1" >>confdefs.h +printf "%s\n" "#define HAVE_XSL_EXSLT 1" >>confdefs.h fi -printf '%s\n' "#define HAVE_XSL 1" >>confdefs.h +printf "%s\n" "#define HAVE_XSL 1" >>confdefs.h ext_builddir=ext/xsl @@ -78907,7 +79455,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_XSL 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_XSL 1" >>confdefs.h fi fi @@ -79074,7 +79622,7 @@ php_enable_zend_test=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to enable zend_test extension" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable zend_test extension" >&5 printf %s "checking whether to enable zend_test extension... " >&6; } # Check whether --enable-zend-test was given. if test ${enable_zend_test+y} @@ -79111,8 +79659,8 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -79253,7 +79801,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_ZEND_TEST 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_ZEND_TEST 1" >>confdefs.h fi fi @@ -79379,7 +79927,7 @@ php_with_zip=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for zip archive read/write support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for zip archive read/write support" >&5 printf %s "checking for zip archive read/write support... " >&6; } # Check whether --with-zip was given. @@ -79417,8 +79965,8 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -79426,17 +79974,17 @@ if test "$PHP_ZIP" != "no"; then pkg_failed=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for libzip >= 0.11 libzip != 1.3.1 libzip != 1.7.0" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libzip >= 0.11 libzip != 1.3.1 libzip != 1.7.0" >&5 printf %s "checking for libzip >= 0.11 libzip != 1.3.1 libzip != 1.7.0... " >&6; } if test -n "$LIBZIP_CFLAGS"; then pkg_cv_LIBZIP_CFLAGS="$LIBZIP_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libzip >= 0.11 libzip != 1.3.1 libzip != 1.7.0\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libzip >= 0.11 libzip != 1.3.1 libzip != 1.7.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "libzip >= 0.11 libzip != 1.3.1 libzip != 1.7.0") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_LIBZIP_CFLAGS=`$PKG_CONFIG --cflags "libzip >= 0.11 libzip != 1.3.1 libzip != 1.7.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -79450,10 +79998,10 @@ pkg_cv_LIBZIP_LIBS="$LIBZIP_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libzip >= 0.11 libzip != 1.3.1 libzip != 1.7.0\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libzip >= 0.11 libzip != 1.3.1 libzip != 1.7.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "libzip >= 0.11 libzip != 1.3.1 libzip != 1.7.0") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_LIBZIP_LIBS=`$PKG_CONFIG --libs "libzip >= 0.11 libzip != 1.3.1 libzip != 1.7.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -79467,8 +80015,8 @@ if test $pkg_failed = yes; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -79494,10 +80042,10 @@ and LIBZIP_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -79511,8 +80059,8 @@ else LIBZIP_CFLAGS=$pkg_cv_LIBZIP_CFLAGS LIBZIP_LIBS=$pkg_cv_LIBZIP_LIBS - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } fi @@ -79790,7 +80338,7 @@ esac done - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for zip_file_set_mtime in -lzip" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for zip_file_set_mtime in -lzip" >&5 printf %s "checking for zip_file_set_mtime in -lzip... " >&6; } if test ${ac_cv_lib_zip_zip_file_set_mtime+y} then : @@ -79831,15 +80379,15 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_zip_zip_file_set_mtime" >&5 -printf '%s\n' "$ac_cv_lib_zip_zip_file_set_mtime" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_zip_zip_file_set_mtime" >&5 +printf "%s\n" "$ac_cv_lib_zip_zip_file_set_mtime" >&6; } if test "x$ac_cv_lib_zip_zip_file_set_mtime" = xyes then : LDFLAGS=$save_old_LDFLAGS ext_shared=$save_ext_shared -printf '%s\n' "#define HAVE_SET_MTIME 1" >>confdefs.h +printf "%s\n" "#define HAVE_SET_MTIME 1" >>confdefs.h else case e in #( @@ -79847,8 +80395,8 @@ LDFLAGS=$save_old_LDFLAGS ext_shared=$save_ext_shared unset ac_cv_lib_zip_zip_file_set_mtime - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: WARNING: Libzip >= 1.0.0 needed for setting mtime" >&5 -printf '%s\n' "$as_me: WARNING: Libzip >= 1.0.0 needed for setting mtime" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Libzip >= 1.0.0 needed for setting mtime" >&5 +printf "%s\n" "$as_me: WARNING: Libzip >= 1.0.0 needed for setting mtime" >&2;} ;; esac fi @@ -79972,7 +80520,7 @@ esac done - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for zip_file_set_encryption in -lzip" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for zip_file_set_encryption in -lzip" >&5 printf %s "checking for zip_file_set_encryption in -lzip... " >&6; } if test ${ac_cv_lib_zip_zip_file_set_encryption+y} then : @@ -80013,15 +80561,15 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_zip_zip_file_set_encryption" >&5 -printf '%s\n' "$ac_cv_lib_zip_zip_file_set_encryption" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_zip_zip_file_set_encryption" >&5 +printf "%s\n" "$ac_cv_lib_zip_zip_file_set_encryption" >&6; } if test "x$ac_cv_lib_zip_zip_file_set_encryption" = xyes then : LDFLAGS=$save_old_LDFLAGS ext_shared=$save_ext_shared -printf '%s\n' "#define HAVE_ENCRYPTION 1" >>confdefs.h +printf "%s\n" "#define HAVE_ENCRYPTION 1" >>confdefs.h else case e in #( @@ -80029,8 +80577,8 @@ LDFLAGS=$save_old_LDFLAGS ext_shared=$save_ext_shared unset ac_cv_lib_zip_zip_file_set_encryption - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: WARNING: Libzip >= 1.2.0 needed for encryption support" >&5 -printf '%s\n' "$as_me: WARNING: Libzip >= 1.2.0 needed for encryption support" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Libzip >= 1.2.0 needed for encryption support" >&5 +printf "%s\n" "$as_me: WARNING: Libzip >= 1.2.0 needed for encryption support" >&2;} ;; esac fi @@ -80154,7 +80702,7 @@ esac done - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for zip_libzip_version in -lzip" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for zip_libzip_version in -lzip" >&5 printf %s "checking for zip_libzip_version in -lzip... " >&6; } if test ${ac_cv_lib_zip_zip_libzip_version+y} then : @@ -80195,15 +80743,15 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_zip_zip_libzip_version" >&5 -printf '%s\n' "$ac_cv_lib_zip_zip_libzip_version" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_zip_zip_libzip_version" >&5 +printf "%s\n" "$ac_cv_lib_zip_zip_libzip_version" >&6; } if test "x$ac_cv_lib_zip_zip_libzip_version" = xyes then : LDFLAGS=$save_old_LDFLAGS ext_shared=$save_ext_shared -printf '%s\n' "#define HAVE_LIBZIP_VERSION 1" >>confdefs.h +printf "%s\n" "#define HAVE_LIBZIP_VERSION 1" >>confdefs.h else case e in #( @@ -80335,7 +80883,7 @@ esac done - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for zip_register_progress_callback_with_state in -lzip" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for zip_register_progress_callback_with_state in -lzip" >&5 printf %s "checking for zip_register_progress_callback_with_state in -lzip... " >&6; } if test ${ac_cv_lib_zip_zip_register_progress_callback_with_state+y} then : @@ -80376,15 +80924,15 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_zip_zip_register_progress_callback_with_state" >&5 -printf '%s\n' "$ac_cv_lib_zip_zip_register_progress_callback_with_state" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_zip_zip_register_progress_callback_with_state" >&5 +printf "%s\n" "$ac_cv_lib_zip_zip_register_progress_callback_with_state" >&6; } if test "x$ac_cv_lib_zip_zip_register_progress_callback_with_state" = xyes then : LDFLAGS=$save_old_LDFLAGS ext_shared=$save_ext_shared -printf '%s\n' "#define HAVE_PROGRESS_CALLBACK 1" >>confdefs.h +printf "%s\n" "#define HAVE_PROGRESS_CALLBACK 1" >>confdefs.h else case e in #( @@ -80516,7 +81064,7 @@ esac done - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for zip_register_cancel_callback_with_state in -lzip" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for zip_register_cancel_callback_with_state in -lzip" >&5 printf %s "checking for zip_register_cancel_callback_with_state in -lzip... " >&6; } if test ${ac_cv_lib_zip_zip_register_cancel_callback_with_state+y} then : @@ -80557,15 +81105,15 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_zip_zip_register_cancel_callback_with_state" >&5 -printf '%s\n' "$ac_cv_lib_zip_zip_register_cancel_callback_with_state" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_zip_zip_register_cancel_callback_with_state" >&5 +printf "%s\n" "$ac_cv_lib_zip_zip_register_cancel_callback_with_state" >&6; } if test "x$ac_cv_lib_zip_zip_register_cancel_callback_with_state" = xyes then : LDFLAGS=$save_old_LDFLAGS ext_shared=$save_ext_shared -printf '%s\n' "#define HAVE_CANCEL_CALLBACK 1" >>confdefs.h +printf "%s\n" "#define HAVE_CANCEL_CALLBACK 1" >>confdefs.h else case e in #( @@ -80697,7 +81245,7 @@ esac done - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for zip_compression_method_supported in -lzip" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for zip_compression_method_supported in -lzip" >&5 printf %s "checking for zip_compression_method_supported in -lzip... " >&6; } if test ${ac_cv_lib_zip_zip_compression_method_supported+y} then : @@ -80738,15 +81286,15 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_zip_zip_compression_method_supported" >&5 -printf '%s\n' "$ac_cv_lib_zip_zip_compression_method_supported" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_zip_zip_compression_method_supported" >&5 +printf "%s\n" "$ac_cv_lib_zip_zip_compression_method_supported" >&6; } if test "x$ac_cv_lib_zip_zip_compression_method_supported" = xyes then : LDFLAGS=$save_old_LDFLAGS ext_shared=$save_ext_shared -printf '%s\n' "#define HAVE_METHOD_SUPPORTED 1" >>confdefs.h +printf "%s\n" "#define HAVE_METHOD_SUPPORTED 1" >>confdefs.h else case e in #( @@ -80761,7 +81309,7 @@ -printf '%s\n' "#define HAVE_ZIP 1" >>confdefs.h +printf "%s\n" "#define HAVE_ZIP 1" >>confdefs.h @@ -80899,7 +81447,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_ZIP 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_ZIP 1" >>confdefs.h fi fi @@ -81048,7 +81596,7 @@ php_enable_mysqlnd=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to enable mysqlnd" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable mysqlnd" >&5 printf %s "checking whether to enable mysqlnd... " >&6; } # Check whether --enable-mysqlnd was given. if test ${enable_mysqlnd+y} @@ -81085,8 +81633,8 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -81099,7 +81647,7 @@ php_with_mysqlnd_ssl=$PHP_OPENSSL -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to enable extended SSL support in mysqlnd" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable extended SSL support in mysqlnd" >&5 printf %s "checking whether to enable extended SSL support in mysqlnd... " >&6; } # Check whether --with-mysqlnd-ssl was given. @@ -81116,8 +81664,8 @@ ext_output=$PHP_MYSQLND_SSL -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -81125,7 +81673,7 @@ php_enable_mysqlnd_compression_support=yes -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to enable compressed protocol support in mysqlnd" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable compressed protocol support in mysqlnd" >&5 printf %s "checking whether to enable compressed protocol support in mysqlnd... " >&6; } # Check whether --enable-mysqlnd-compression-support was given. if test ${enable_mysqlnd_compression_support+y} @@ -81141,8 +81689,8 @@ ext_output=$PHP_MYSQLND_COMPRESSION_SUPPORT -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -81154,17 +81702,17 @@ else case e in #( e) pkg_failed=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for zlib >= 1.2.11" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for zlib >= 1.2.11" >&5 printf %s "checking for zlib >= 1.2.11... " >&6; } if test -n "$ZLIB_CFLAGS"; then pkg_cv_ZLIB_CFLAGS="$ZLIB_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"zlib >= 1.2.11\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"zlib >= 1.2.11\""; } >&5 ($PKG_CONFIG --exists --print-errors "zlib >= 1.2.11") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_ZLIB_CFLAGS=`$PKG_CONFIG --cflags "zlib >= 1.2.11" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -81178,10 +81726,10 @@ pkg_cv_ZLIB_LIBS="$ZLIB_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"zlib >= 1.2.11\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"zlib >= 1.2.11\""; } >&5 ($PKG_CONFIG --exists --print-errors "zlib >= 1.2.11") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_ZLIB_LIBS=`$PKG_CONFIG --libs "zlib >= 1.2.11" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -81195,8 +81743,8 @@ if test $pkg_failed = yes; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -81222,10 +81770,10 @@ and ZLIB_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -81239,8 +81787,8 @@ else ZLIB_CFLAGS=$pkg_cv_ZLIB_CFLAGS ZLIB_LIBS=$pkg_cv_ZLIB_LIBS - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } for ac_i in $ZLIB_CFLAGS; do case $ac_i in @@ -81397,14 +81945,14 @@ done -printf '%s\n' "#define MYSQLND_COMPRESSION_ENABLED 1" >>confdefs.h +printf "%s\n" "#define MYSQLND_COMPRESSION_ENABLED 1" >>confdefs.h fi ;; esac fi -printf '%s\n' "#define MYSQLND_SSL_SUPPORTED 1" >>confdefs.h +printf "%s\n" "#define MYSQLND_SSL_SUPPORTED 1" >>confdefs.h @@ -81542,7 +82090,7 @@ EOF -printf '%s\n' "#define COMPILE_DL_MYSQLND 1" >>confdefs.h +printf "%s\n" "#define COMPILE_DL_MYSQLND 1" >>confdefs.h fi fi @@ -81670,17 +82218,17 @@ pkg_failed=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for openssl >= 1.1.1" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for openssl >= 1.1.1" >&5 printf %s "checking for openssl >= 1.1.1... " >&6; } if test -n "$OPENSSL_CFLAGS"; then pkg_cv_OPENSSL_CFLAGS="$OPENSSL_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"openssl >= 1.1.1\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"openssl >= 1.1.1\""; } >&5 ($PKG_CONFIG --exists --print-errors "openssl >= 1.1.1") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_OPENSSL_CFLAGS=`$PKG_CONFIG --cflags "openssl >= 1.1.1" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -81694,10 +82242,10 @@ pkg_cv_OPENSSL_LIBS="$OPENSSL_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"openssl >= 1.1.1\""; } >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"openssl >= 1.1.1\""; } >&5 ($PKG_CONFIG --exists --print-errors "openssl >= 1.1.1") 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_OPENSSL_LIBS=`$PKG_CONFIG --libs "openssl >= 1.1.1" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -81711,8 +82259,8 @@ if test $pkg_failed = yes; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes @@ -81738,10 +82286,10 @@ and OPENSSL_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -81755,8 +82303,8 @@ else OPENSSL_CFLAGS=$pkg_cv_OPENSSL_CFLAGS OPENSSL_LIBS=$pkg_cv_OPENSSL_LIBS - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } found_openssl=yes fi @@ -81918,7 +82466,7 @@ -printf '%s\n' "#define MYSQLND_HAVE_SSL 1" >>confdefs.h +printf "%s\n" "#define MYSQLND_HAVE_SSL 1" >>confdefs.h am_i_shared=$PHP_MYSQLND_SHARED @@ -81970,7 +82518,7 @@ case $host_alias in #( i[3456]86-*-linux-* | x86_64-*-linux-*) : - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking linker support for -zcommon-page-size=2097152" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking linker support for -zcommon-page-size=2097152" >&5 printf %s "checking linker support for -zcommon-page-size=2097152... " >&6; } if test ${php_cv_have_common_page_size+y} then : @@ -82009,13 +82557,13 @@ LDFLAGS=$save_LDFLAGS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_have_common_page_size" >&5 -printf '%s\n' "$php_cv_have_common_page_size" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_have_common_page_size" >&5 +printf "%s\n" "$php_cv_have_common_page_size" >&6; } if test "x$php_cv_have_common_page_size" = xyes then : EXTRA_LDFLAGS_PROGRAM="$EXTRA_LDFLAGS_PROGRAM -Wl,-zcommon-page-size=2097152 -Wl,-zmax-page-size=2097152" else case e in #( - e) { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking linker support for -zmax-page-size=2097152" >&5 + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking linker support for -zmax-page-size=2097152" >&5 printf %s "checking linker support for -zmax-page-size=2097152... " >&6; } if test ${php_cv_have_max_page_size+y} then : @@ -82054,8 +82602,8 @@ LDFLAGS=$save_LDFLAGS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_have_max_page_size" >&5 -printf '%s\n' "$php_cv_have_max_page_size" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_have_max_page_size" >&5 +printf "%s\n" "$php_cv_have_max_page_size" >&6; } if test "x$php_cv_have_max_page_size" = xyes then : EXTRA_LDFLAGS_PROGRAM="$EXTRA_LDFLAGS_PROGRAM -Wl,-zmax-page-size=2097152" @@ -82105,10 +82653,10 @@ fi - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: " >&5 -printf '%s\n' "" >&6; } - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: ${T_MD}Configuring PEAR${T_ME}" >&5 -printf '%s\n' "${T_MD}Configuring PEAR${T_ME}" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 +printf "%s\n" "" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${T_MD}Configuring PEAR${T_ME}" >&5 +printf "%s\n" "${T_MD}Configuring PEAR${T_ME}" >&6; } if test "x$PHP_CLI" = xno @@ -82119,7 +82667,7 @@ php_with_pear=no -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to install PEAR" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to install PEAR" >&5 printf %s "checking whether to install PEAR... " >&6; } # Check whether --with-pear was given. @@ -82157,8 +82705,8 @@ -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 -printf '%s\n' "$ext_output" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ext_output" >&5 +printf "%s\n" "$ext_output" >&6; } @@ -82168,8 +82716,8 @@ else case e in #( e) - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: WARNING: The --with-pear option is deprecated" >&5 -printf '%s\n' "$as_me: WARNING: The --with-pear option is deprecated" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: The --with-pear option is deprecated" >&5 +printf "%s\n" "$as_me: WARNING: The --with-pear option is deprecated" >&2;} if test "x$PHP_XML" = xno then : @@ -82214,10 +82762,10 @@ fi - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: " >&5 -printf '%s\n' "" >&6; } - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: ${T_MD}Configuring Zend${T_ME}" >&5 -printf '%s\n' "${T_MD}Configuring Zend${T_ME}" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 +printf "%s\n" "" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${T_MD}Configuring Zend${T_ME}" >&5 +printf "%s\n" "${T_MD}Configuring Zend${T_ME}" >&6; } # Check whether --enable-fiber-asm was given. @@ -82334,7 +82882,7 @@ fiber_asm="no" fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether syscall to create shadow stack exists" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether syscall to create shadow stack exists" >&5 printf %s "checking whether syscall to create shadow stack exists... " >&6; } if test ${php_cv_have_shadow_stack_syscall+y} then : @@ -82375,8 +82923,8 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_have_shadow_stack_syscall" >&5 -printf '%s\n' "$php_cv_have_shadow_stack_syscall" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_have_shadow_stack_syscall" >&5 +printf "%s\n" "$php_cv_have_shadow_stack_syscall" >&6; } if test "x$php_cv_have_shadow_stack_syscall" = xyes then : fiber_asm_cflag="-DSHADOW_STACK_SYSCALL=1" @@ -82386,7 +82934,7 @@ fi if test "$fiber_asm" = 'yes'; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for fiber switching context" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for fiber switching context" >&5 printf %s "checking for fiber switching context... " >&6; } @@ -82434,24 +82982,24 @@ done - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $fiber_asm_file" >&5 -printf '%s\n' "$fiber_asm_file" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $fiber_asm_file" >&5 +printf "%s\n" "$fiber_asm_file" >&6; } else if test "x$fiber_os" = xmac then : -printf '%s\n' "#define _XOPEN_SOURCE 1" >>confdefs.h +printf "%s\n" "#define _XOPEN_SOURCE 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "ucontext.h" "ac_cv_header_ucontext_h" "$ac_includes_default" if test "x$ac_cv_header_ucontext_h" = xyes then : -printf '%s\n' "#define ZEND_FIBER_UCONTEXT 1" >>confdefs.h +printf "%s\n" "#define ZEND_FIBER_UCONTEXT 1" >>confdefs.h else case e in #( - e) { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + e) { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "fibers not available on this platform See 'config.log' for more details" "$LINENO" 5; } ;; esac @@ -82462,7 +83010,7 @@ ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default" if test "x$ac_cv_header_dlfcn_h" = xyes then : - printf '%s\n' "#define HAVE_DLFCN_H 1" >>confdefs.h + printf "%s\n" "#define HAVE_DLFCN_H 1" >>confdefs.h fi @@ -82471,13 +83019,13 @@ ac_fn_c_check_header_compile "$LINENO" "cpuid.h" "ac_cv_header_cpuid_h" "$ac_includes_default" if test "x$ac_cv_header_cpuid_h" = xyes then : - printf '%s\n' "#define HAVE_CPUID_H 1" >>confdefs.h + printf "%s\n" "#define HAVE_CPUID_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "libproc.h" "ac_cv_header_libproc_h" "$ac_includes_default" if test "x$ac_cv_header_libproc_h" = xyes then : - printf '%s\n' "#define HAVE_LIBPROC_H 1" >>confdefs.h + printf "%s\n" "#define HAVE_LIBPROC_H 1" >>confdefs.h fi @@ -82485,55 +83033,55 @@ ac_fn_c_check_func "$LINENO" "getpid" "ac_cv_func_getpid" if test "x$ac_cv_func_getpid" = xyes then : - printf '%s\n' "#define HAVE_GETPID 1" >>confdefs.h + printf "%s\n" "#define HAVE_GETPID 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "gettid" "ac_cv_func_gettid" if test "x$ac_cv_func_gettid" = xyes then : - printf '%s\n' "#define HAVE_GETTID 1" >>confdefs.h + printf "%s\n" "#define HAVE_GETTID 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "kill" "ac_cv_func_kill" if test "x$ac_cv_func_kill" = xyes then : - printf '%s\n' "#define HAVE_KILL 1" >>confdefs.h + printf "%s\n" "#define HAVE_KILL 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "mremap" "ac_cv_func_mremap" if test "x$ac_cv_func_mremap" = xyes then : - printf '%s\n' "#define HAVE_MREMAP 1" >>confdefs.h + printf "%s\n" "#define HAVE_MREMAP 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "pthread_attr_get_np" "ac_cv_func_pthread_attr_get_np" if test "x$ac_cv_func_pthread_attr_get_np" = xyes then : - printf '%s\n' "#define HAVE_PTHREAD_ATTR_GET_NP 1" >>confdefs.h + printf "%s\n" "#define HAVE_PTHREAD_ATTR_GET_NP 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "pthread_attr_getstack" "ac_cv_func_pthread_attr_getstack" if test "x$ac_cv_func_pthread_attr_getstack" = xyes then : - printf '%s\n' "#define HAVE_PTHREAD_ATTR_GETSTACK 1" >>confdefs.h + printf "%s\n" "#define HAVE_PTHREAD_ATTR_GETSTACK 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "pthread_get_stackaddr_np" "ac_cv_func_pthread_get_stackaddr_np" if test "x$ac_cv_func_pthread_get_stackaddr_np" = xyes then : - printf '%s\n' "#define HAVE_PTHREAD_GET_STACKADDR_NP 1" >>confdefs.h + printf "%s\n" "#define HAVE_PTHREAD_GET_STACKADDR_NP 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "pthread_getattr_np" "ac_cv_func_pthread_getattr_np" if test "x$ac_cv_func_pthread_getattr_np" = xyes then : - printf '%s\n' "#define HAVE_PTHREAD_GETATTR_NP 1" >>confdefs.h + printf "%s\n" "#define HAVE_PTHREAD_GETATTR_NP 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "pthread_stackseg_np" "ac_cv_func_pthread_stackseg_np" if test "x$ac_cv_func_pthread_stackseg_np" = xyes then : - printf '%s\n' "#define HAVE_PTHREAD_STACKSEG_NP 1" >>confdefs.h + printf "%s\n" "#define HAVE_PTHREAD_STACKSEG_NP 1" >>confdefs.h fi @@ -82544,13 +83092,13 @@ else case e in #( e) ac_fn_check_decl "$LINENO" "sigsetjmp" "ac_cv_have_decl_sigsetjmp" "#include -" "$ac_c_undeclared_builtin_options$ac_c_future_darwin_options" "CFLAGS" +" "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_sigsetjmp" = xyes then : else case e in #( - e) { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + e) { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "Required sigsetjmp not found. See 'config.log' for more details" "$LINENO" 5; } ;; esac @@ -82559,7 +83107,7 @@ fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether the stack grows downwards" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the stack grows downwards" >&5 printf %s "checking whether the stack grows downwards... " >&6; } if test ${php_cv_have_stack_limit+y} then : @@ -82618,16 +83166,16 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_have_stack_limit" >&5 -printf '%s\n' "$php_cv_have_stack_limit" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_have_stack_limit" >&5 +printf "%s\n" "$php_cv_have_stack_limit" >&6; } if test "x$php_cv_have_stack_limit" = xyes then : -printf '%s\n' "#define ZEND_CHECK_STACK_LIMIT 1" >>confdefs.h +printf "%s\n" "#define ZEND_CHECK_STACK_LIMIT 1" >>confdefs.h fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for usable _FPU_SETCW" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for usable _FPU_SETCW" >&5 printf %s "checking for usable _FPU_SETCW... " >&6; } if test ${php_cv_have__fpu_setcw+y} then : @@ -82666,16 +83214,16 @@ conftest$ac_exeext conftest.$ac_ext ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_have__fpu_setcw" >&5 -printf '%s\n' "$php_cv_have__fpu_setcw" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_have__fpu_setcw" >&5 +printf "%s\n" "$php_cv_have__fpu_setcw" >&6; } if test "x$php_cv_have__fpu_setcw" = xyes then : -printf '%s\n' "#define HAVE__FPU_SETCW 1" >>confdefs.h +printf "%s\n" "#define HAVE__FPU_SETCW 1" >>confdefs.h fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for usable fpsetprec" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for usable fpsetprec" >&5 printf %s "checking for usable fpsetprec... " >&6; } if test ${php_cv_have_fpsetprec+y} then : @@ -82713,16 +83261,16 @@ conftest$ac_exeext conftest.$ac_ext ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_have_fpsetprec" >&5 -printf '%s\n' "$php_cv_have_fpsetprec" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_have_fpsetprec" >&5 +printf "%s\n" "$php_cv_have_fpsetprec" >&6; } if test "x$php_cv_have_fpsetprec" = xyes then : -printf '%s\n' "#define HAVE_FPSETPREC 1" >>confdefs.h +printf "%s\n" "#define HAVE_FPSETPREC 1" >>confdefs.h fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for usable _controlfp" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for usable _controlfp" >&5 printf %s "checking for usable _controlfp... " >&6; } if test ${php_cv_have__controlfp+y} then : @@ -82760,16 +83308,16 @@ conftest$ac_exeext conftest.$ac_ext ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_have__controlfp" >&5 -printf '%s\n' "$php_cv_have__controlfp" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_have__controlfp" >&5 +printf "%s\n" "$php_cv_have__controlfp" >&6; } if test "x$php_cv_have__controlfp" = xyes then : -printf '%s\n' "#define HAVE__CONTROLFP 1" >>confdefs.h +printf "%s\n" "#define HAVE__CONTROLFP 1" >>confdefs.h fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for usable _controlfp_s" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for usable _controlfp_s" >&5 printf %s "checking for usable _controlfp_s... " >&6; } if test ${php_cv_have__controlfp_s+y} then : @@ -82808,16 +83356,16 @@ conftest$ac_exeext conftest.$ac_ext ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_have__controlfp_s" >&5 -printf '%s\n' "$php_cv_have__controlfp_s" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_have__controlfp_s" >&5 +printf "%s\n" "$php_cv_have__controlfp_s" >&6; } if test "x$php_cv_have__controlfp_s" = xyes then : -printf '%s\n' "#define HAVE__CONTROLFP_S 1" >>confdefs.h +printf "%s\n" "#define HAVE__CONTROLFP_S 1" >>confdefs.h fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether FPU control word can be manipulated by inline assembler" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether FPU control word can be manipulated by inline assembler" >&5 printf %s "checking whether FPU control word can be manipulated by inline assembler... " >&6; } if test ${php_cv_have_fpu_inline_asm_x86+y} then : @@ -82856,16 +83404,16 @@ conftest$ac_exeext conftest.$ac_ext ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_have_fpu_inline_asm_x86" >&5 -printf '%s\n' "$php_cv_have_fpu_inline_asm_x86" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_have_fpu_inline_asm_x86" >&5 +printf "%s\n" "$php_cv_have_fpu_inline_asm_x86" >&6; } if test "x$php_cv_have_fpu_inline_asm_x86" = xyes then : -printf '%s\n' "#define HAVE_FPU_INLINE_ASM_X86 1" >>confdefs.h +printf "%s\n" "#define HAVE_FPU_INLINE_ASM_X86 1" >>confdefs.h fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether dlsym() requires a leading underscore in symbol names" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether dlsym() requires a leading underscore in symbol names" >&5 printf %s "checking whether dlsym() requires a leading underscore in symbol names... " >&6; } if test "$cross_compiling" = yes; then : @@ -82873,7 +83421,7 @@ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <&5 (eval $ac_link) 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? case x$lt_status in - x$lt_dlno_uscore) { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } ;; + x$lt_dlno_uscore) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } ;; x$lt_dlneed_uscore) - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } -printf '%s\n' "#define DLSYM_NEEDS_UNDERSCORE 1" >>confdefs.h +printf "%s\n" "#define DLSYM_NEEDS_UNDERSCORE 1" >>confdefs.h ;; - x$lt_dlunknown|x*) { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } ;; + x$lt_dlunknown|x*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } ;; esac else : # compilation failed - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi fi rm -fr conftest* @@ -82976,7 +83524,7 @@ then : else case e in #( - e) { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether system supports global register variables" >&5 + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether system supports global register variables" >&5 printf %s "checking whether system supports global register variables... " >&6; } if test ${php_cv_have_global_register_vars+y} then : @@ -83043,12 +83591,12 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_have_global_register_vars" >&5 -printf '%s\n' "$php_cv_have_global_register_vars" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_have_global_register_vars" >&5 +printf "%s\n" "$php_cv_have_global_register_vars" >&6; } if test "x$php_cv_have_global_register_vars" = xyes then : -printf '%s\n' "#define HAVE_GCC_GLOBAL_REGS 1" >>confdefs.h +printf "%s\n" "#define HAVE_GCC_GLOBAL_REGS 1" >>confdefs.h else case e in #( e) ZEND_GCC_GLOBAL_REGS=no ;; @@ -83057,12 +83605,12 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to enable global register variables support" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable global register variables support" >&5 printf %s "checking whether to enable global register variables support... " >&6; } -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ZEND_GCC_GLOBAL_REGS" >&5 -printf '%s\n' "$ZEND_GCC_GLOBAL_REGS" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ZEND_GCC_GLOBAL_REGS" >&5 +printf "%s\n" "$ZEND_GCC_GLOBAL_REGS" >&6; } -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether __cpuid_count is available" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether __cpuid_count is available" >&5 printf %s "checking whether __cpuid_count is available... " >&6; } if test ${php_cv_have___cpuid_count+y} then : @@ -83092,44 +83640,44 @@ conftest$ac_exeext conftest.$ac_ext ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_have___cpuid_count" >&5 -printf '%s\n' "$php_cv_have___cpuid_count" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_have___cpuid_count" >&5 +printf "%s\n" "$php_cv_have___cpuid_count" >&6; } if test "x$php_cv_have___cpuid_count" = xyes then : -printf '%s\n' "#define HAVE_CPUID_COUNT 1" >>confdefs.h +printf "%s\n" "#define HAVE_CPUID_COUNT 1" >>confdefs.h fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to enable thread safety" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable thread safety" >&5 printf %s "checking whether to enable thread safety... " >&6; } -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ZEND_ZTS" >&5 -printf '%s\n' "$ZEND_ZTS" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ZEND_ZTS" >&5 +printf "%s\n" "$ZEND_ZTS" >&6; } if test "x$ZEND_ZTS" = xyes then : -printf '%s\n' "#define ZTS 1" >>confdefs.h +printf "%s\n" "#define ZTS 1" >>confdefs.h as_fn_append CFLAGS " -DZTS" fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to enable Zend debugging" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable Zend debugging" >&5 printf %s "checking whether to enable Zend debugging... " >&6; } -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ZEND_DEBUG" >&5 -printf '%s\n' "$ZEND_DEBUG" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ZEND_DEBUG" >&5 +printf "%s\n" "$ZEND_DEBUG" >&6; } if test "x$ZEND_DEBUG" = xyes then : - printf '%s\n' "#define ZEND_DEBUG 1" >>confdefs.h + printf "%s\n" "#define ZEND_DEBUG 1" >>confdefs.h echo " $CFLAGS" | grep ' -g' >/dev/null || CFLAGS="$CFLAGS -g" else case e in #( - e) printf '%s\n' "#define ZEND_DEBUG 0" >>confdefs.h + e) printf "%s\n" "#define ZEND_DEBUG 0" >>confdefs.h ;; esac fi @@ -83139,7 +83687,7 @@ CFLAGS="-Wall -Wextra -Wno-unused-parameter -Wno-sign-compare $CFLAGS" fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether the C compiler accepts -Wno-clobbered" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler accepts -Wno-clobbered" >&5 printf %s "checking whether the C compiler accepts -Wno-clobbered... " >&6; } if test ${ax_cv_check_cflags__Werror__Wno_clobbered+y} then : @@ -83170,8 +83718,8 @@ CFLAGS=$ax_check_save_flags ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags__Werror__Wno_clobbered" >&5 -printf '%s\n' "$ax_cv_check_cflags__Werror__Wno_clobbered" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags__Werror__Wno_clobbered" >&5 +printf "%s\n" "$ax_cv_check_cflags__Werror__Wno_clobbered" >&6; } if test "x$ax_cv_check_cflags__Werror__Wno_clobbered" = xyes then : CFLAGS="-Wno-clobbered $CFLAGS" @@ -83180,7 +83728,7 @@ esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether the C compiler accepts -Wimplicit-fallthrough=1" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler accepts -Wimplicit-fallthrough=1" >&5 printf %s "checking whether the C compiler accepts -Wimplicit-fallthrough=1... " >&6; } if test ${ax_cv_check_cflags__Werror__Wimplicit_fallthrough_1+y} then : @@ -83211,8 +83759,8 @@ CFLAGS=$ax_check_save_flags ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags__Werror__Wimplicit_fallthrough_1" >&5 -printf '%s\n' "$ax_cv_check_cflags__Werror__Wimplicit_fallthrough_1" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags__Werror__Wimplicit_fallthrough_1" >&5 +printf "%s\n" "$ax_cv_check_cflags__Werror__Wimplicit_fallthrough_1" >&6; } if test "x$ax_cv_check_cflags__Werror__Wimplicit_fallthrough_1" = xyes then : CFLAGS="$CFLAGS -Wimplicit-fallthrough=1" @@ -83221,7 +83769,7 @@ esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether the C compiler accepts -Wduplicated-cond" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler accepts -Wduplicated-cond" >&5 printf %s "checking whether the C compiler accepts -Wduplicated-cond... " >&6; } if test ${ax_cv_check_cflags__Werror__Wduplicated_cond+y} then : @@ -83252,8 +83800,8 @@ CFLAGS=$ax_check_save_flags ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags__Werror__Wduplicated_cond" >&5 -printf '%s\n' "$ax_cv_check_cflags__Werror__Wduplicated_cond" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags__Werror__Wduplicated_cond" >&5 +printf "%s\n" "$ax_cv_check_cflags__Werror__Wduplicated_cond" >&6; } if test "x$ax_cv_check_cflags__Werror__Wduplicated_cond" = xyes then : CFLAGS="-Wduplicated-cond $CFLAGS" @@ -83262,7 +83810,7 @@ esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether the C compiler accepts -Wlogical-op" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler accepts -Wlogical-op" >&5 printf %s "checking whether the C compiler accepts -Wlogical-op... " >&6; } if test ${ax_cv_check_cflags__Werror__Wlogical_op+y} then : @@ -83293,8 +83841,8 @@ CFLAGS=$ax_check_save_flags ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags__Werror__Wlogical_op" >&5 -printf '%s\n' "$ax_cv_check_cflags__Werror__Wlogical_op" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags__Werror__Wlogical_op" >&5 +printf "%s\n" "$ax_cv_check_cflags__Werror__Wlogical_op" >&6; } if test "x$ax_cv_check_cflags__Werror__Wlogical_op" = xyes then : CFLAGS="-Wlogical-op $CFLAGS" @@ -83303,7 +83851,7 @@ esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether the C compiler accepts -Wformat-truncation" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler accepts -Wformat-truncation" >&5 printf %s "checking whether the C compiler accepts -Wformat-truncation... " >&6; } if test ${ax_cv_check_cflags__Werror__Wformat_truncation+y} then : @@ -83334,8 +83882,8 @@ CFLAGS=$ax_check_save_flags ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags__Werror__Wformat_truncation" >&5 -printf '%s\n' "$ax_cv_check_cflags__Werror__Wformat_truncation" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags__Werror__Wformat_truncation" >&5 +printf "%s\n" "$ax_cv_check_cflags__Werror__Wformat_truncation" >&6; } if test "x$ax_cv_check_cflags__Werror__Wformat_truncation" = xyes then : CFLAGS="-Wformat-truncation $CFLAGS" @@ -83344,7 +83892,7 @@ esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether the C compiler accepts -Wstrict-prototypes" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler accepts -Wstrict-prototypes" >&5 printf %s "checking whether the C compiler accepts -Wstrict-prototypes... " >&6; } if test ${ax_cv_check_cflags__Werror__Wstrict_prototypes+y} then : @@ -83375,8 +83923,8 @@ CFLAGS=$ax_check_save_flags ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags__Werror__Wstrict_prototypes" >&5 -printf '%s\n' "$ax_cv_check_cflags__Werror__Wstrict_prototypes" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags__Werror__Wstrict_prototypes" >&5 +printf "%s\n" "$ax_cv_check_cflags__Werror__Wstrict_prototypes" >&6; } if test "x$ax_cv_check_cflags__Werror__Wstrict_prototypes" = xyes then : CFLAGS="-Wstrict-prototypes $CFLAGS" @@ -83385,7 +83933,7 @@ esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether the C compiler accepts -fno-common" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler accepts -fno-common" >&5 printf %s "checking whether the C compiler accepts -fno-common... " >&6; } if test ${ax_cv_check_cflags__Werror__fno_common+y} then : @@ -83416,8 +83964,8 @@ CFLAGS=$ax_check_save_flags ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags__Werror__fno_common" >&5 -printf '%s\n' "$ax_cv_check_cflags__Werror__fno_common" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags__Werror__fno_common" >&5 +printf "%s\n" "$ax_cv_check_cflags__Werror__fno_common" >&6; } if test "x$ax_cv_check_cflags__Werror__fno_common" = xyes then : CFLAGS="-fno-common $CFLAGS" @@ -83427,7 +83975,7 @@ fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for Zend memory manager alignment and log values" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Zend memory manager alignment and log values" >&5 printf %s "checking for Zend memory manager alignment and log values... " >&6; } if test ${php_cv_align_mm+y} then : @@ -83489,12 +84037,12 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_align_mm" >&5 -printf '%s\n' "$php_cv_align_mm" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_align_mm" >&5 +printf "%s\n" "$php_cv_align_mm" >&6; } if test "x$php_cv_align_mm" = xfailed then : - { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "ZEND_MM alignment defines failed. See 'config.log' for more details" "$LINENO" 5; } else case e in #( @@ -83502,13 +84050,13 @@ zend_mm_alignment_log2=$(echo $php_cv_align_mm | cut -d ' ' -f 2) zend_mm_8byte_realign=$(echo $php_cv_align_mm | cut -d ' ' -f 3) -printf '%s\n' "#define ZEND_MM_ALIGNMENT $zend_mm_alignment" >>confdefs.h +printf "%s\n" "#define ZEND_MM_ALIGNMENT $zend_mm_alignment" >>confdefs.h -printf '%s\n' "#define ZEND_MM_ALIGNMENT_LOG2 $zend_mm_alignment_log2" >>confdefs.h +printf "%s\n" "#define ZEND_MM_ALIGNMENT_LOG2 $zend_mm_alignment_log2" >>confdefs.h -printf '%s\n' "#define ZEND_MM_NEED_EIGHT_BYTE_REALIGNMENT $zend_mm_8byte_realign" >>confdefs.h +printf "%s\n" "#define ZEND_MM_NEED_EIGHT_BYTE_REALIGNMENT $zend_mm_8byte_realign" >>confdefs.h ;; esac @@ -83530,7 +84078,7 @@ ac_fn_c_check_func "$LINENO" "sigaction" "ac_cv_func_sigaction" if test "x$ac_cv_func_sigaction" = xyes then : - printf '%s\n' "#define HAVE_SIGACTION 1" >>confdefs.h + printf "%s\n" "#define HAVE_SIGACTION 1" >>confdefs.h else case e in #( e) ZEND_SIGNALS=no ;; @@ -83541,15 +84089,15 @@ if test "x$ZEND_SIGNALS" = xyes then : -printf '%s\n' "#define ZEND_SIGNALS 1" >>confdefs.h +printf "%s\n" "#define ZEND_SIGNALS 1" >>confdefs.h as_fn_append CFLAGS " -DZEND_SIGNALS" fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to enable Zend signal handling" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable Zend signal handling" >&5 printf %s "checking whether to enable Zend signal handling... " >&6; } -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ZEND_SIGNALS" >&5 -printf '%s\n' "$ZEND_SIGNALS" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ZEND_SIGNALS" >&5 +printf "%s\n" "$ZEND_SIGNALS" >&6; } # Check whether --enable-zend-max-execution-timers was given. if test ${enable_zend_max_execution_timers+y} @@ -83570,7 +84118,7 @@ if test "x$ZEND_MAX_EXECUTION_TIMERS" = xyes then : - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for library containing timer_create" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing timer_create" >&5 printf %s "checking for library containing timer_create... " >&6; } if test ${ac_cv_search_timer_create+y} then : @@ -83628,8 +84176,8 @@ LIBS=$ac_func_search_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_timer_create" >&5 -printf '%s\n' "$ac_cv_search_timer_create" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_timer_create" >&5 +printf "%s\n" "$ac_cv_search_timer_create" >&6; } ac_res=$ac_cv_search_timer_create if test "$ac_res" != no then : @@ -83645,15 +84193,15 @@ if test "x$ZEND_MAX_EXECUTION_TIMERS" = xyes then : -printf '%s\n' "#define ZEND_MAX_EXECUTION_TIMERS 1" >>confdefs.h +printf "%s\n" "#define ZEND_MAX_EXECUTION_TIMERS 1" >>confdefs.h as_fn_append CFLAGS " -DZEND_MAX_EXECUTION_TIMERS" fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to enable Zend max execution timers" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable Zend max execution timers" >&5 printf %s "checking whether to enable Zend max execution timers... " >&6; } -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ZEND_MAX_EXECUTION_TIMERS" >&5 -printf '%s\n' "$ZEND_MAX_EXECUTION_TIMERS" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ZEND_MAX_EXECUTION_TIMERS" >&5 +printf "%s\n" "$ZEND_MAX_EXECUTION_TIMERS" >&6; } @@ -83945,7 +84493,7 @@ # Double any \ or $. # By default was 's,x,x', remove it if useless. ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' -program_transform_name=`printf '%s\n' "$program_transform_name" | sed "$ac_script"` +program_transform_name=`printf "%s\n" "$program_transform_name" | sed "$ac_script"` if test "x$prefix" = xNONE @@ -84125,12 +84673,12 @@ PHP_UNAME=$(uname -a | xargs) fi -printf '%s\n' "#define PHP_UNAME \"$PHP_UNAME\"" >>confdefs.h +printf "%s\n" "#define PHP_UNAME \"$PHP_UNAME\"" >>confdefs.h PHP_OS=$(uname | xargs) -printf '%s\n' "#define PHP_OS \"$PHP_OS\"" >>confdefs.h +printf "%s\n" "#define PHP_OS \"$PHP_OS\"" >>confdefs.h @@ -84139,7 +84687,7 @@ PHP_BUILD_SYSTEM=$PHP_UNAME fi -printf '%s\n' "#define PHP_BUILD_SYSTEM \"$PHP_BUILD_SYSTEM\"" >>confdefs.h +printf "%s\n" "#define PHP_BUILD_SYSTEM \"$PHP_BUILD_SYSTEM\"" >>confdefs.h @@ -84148,7 +84696,7 @@ else case e in #( e) -printf '%s\n' "#define PHP_BUILD_PROVIDER \"$PHP_BUILD_PROVIDER\"" >>confdefs.h +printf "%s\n" "#define PHP_BUILD_PROVIDER \"$PHP_BUILD_PROVIDER\"" >>confdefs.h ;; esac fi @@ -84159,7 +84707,7 @@ else case e in #( e) -printf '%s\n' "#define PHP_BUILD_COMPILER \"$PHP_BUILD_COMPILER\"" >>confdefs.h +printf "%s\n" "#define PHP_BUILD_COMPILER \"$PHP_BUILD_COMPILER\"" >>confdefs.h ;; esac fi @@ -84170,7 +84718,7 @@ else case e in #( e) -printf '%s\n' "#define PHP_BUILD_ARCH \"$PHP_BUILD_ARCH\"" >>confdefs.h +printf "%s\n" "#define PHP_BUILD_ARCH \"$PHP_BUILD_ARCH\"" >>confdefs.h ;; esac fi @@ -84361,7 +84909,7 @@ if test "x$PHP_MEMORY_SANITIZER" = xyes then : - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether the C compiler accepts -fsanitize=memory -fsanitize-memory-track-origins" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler accepts -fsanitize=memory -fsanitize-memory-track-origins" >&5 printf %s "checking whether the C compiler accepts -fsanitize=memory -fsanitize-memory-track-origins... " >&6; } if test ${ax_cv_check_cflags___fsanitize_memory__fsanitize_memory_track_origins+y} then : @@ -84392,8 +84940,8 @@ CFLAGS=$ax_check_save_flags ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fsanitize_memory__fsanitize_memory_track_origins" >&5 -printf '%s\n' "$ax_cv_check_cflags___fsanitize_memory__fsanitize_memory_track_origins" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fsanitize_memory__fsanitize_memory_track_origins" >&5 +printf "%s\n" "$ax_cv_check_cflags___fsanitize_memory__fsanitize_memory_track_origins" >&6; } if test "x$ax_cv_check_cflags___fsanitize_memory__fsanitize_memory_track_origins" = xyes then : @@ -84420,7 +84968,7 @@ esac fi - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether the C compiler accepts -fsanitize=address" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler accepts -fsanitize=address" >&5 printf %s "checking whether the C compiler accepts -fsanitize=address... " >&6; } if test ${ax_cv_check_cflags___fsanitize_address+y} then : @@ -84451,8 +84999,8 @@ CFLAGS=$ax_check_save_flags ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fsanitize_address" >&5 -printf '%s\n' "$ax_cv_check_cflags___fsanitize_address" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fsanitize_address" >&5 +printf "%s\n" "$ax_cv_check_cflags___fsanitize_address" >&6; } if test "x$ax_cv_check_cflags___fsanitize_address" = xyes then : @@ -84469,7 +85017,7 @@ if test "x$PHP_UNDEFINED_SANITIZER" = xyes then : - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether the C compiler accepts -fsanitize=undefined" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler accepts -fsanitize=undefined" >&5 printf %s "checking whether the C compiler accepts -fsanitize=undefined... " >&6; } if test ${ax_cv_check_cflags___fsanitize_undefined+y} then : @@ -84500,14 +85048,14 @@ CFLAGS=$ax_check_save_flags ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fsanitize_undefined" >&5 -printf '%s\n' "$ax_cv_check_cflags___fsanitize_undefined" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fsanitize_undefined" >&5 +printf "%s\n" "$ax_cv_check_cflags___fsanitize_undefined" >&6; } if test "x$ax_cv_check_cflags___fsanitize_undefined" = xyes then : CFLAGS="$CFLAGS -fsanitize=undefined -fno-sanitize-recover=undefined" CXXFLAGS="$CXXFLAGS -fsanitize=undefined -fno-sanitize-recover=undefined" - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether the C compiler accepts -fno-sanitize=object-size" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler accepts -fno-sanitize=object-size" >&5 printf %s "checking whether the C compiler accepts -fno-sanitize=object-size... " >&6; } if test ${ax_cv_check_cflags___fno_sanitize_object_size+y} then : @@ -84538,8 +85086,8 @@ CFLAGS=$ax_check_save_flags ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fno_sanitize_object_size" >&5 -printf '%s\n' "$ax_cv_check_cflags___fno_sanitize_object_size" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fno_sanitize_object_size" >&5 +printf "%s\n" "$ax_cv_check_cflags___fno_sanitize_object_size" >&6; } if test "x$ax_cv_check_cflags___fno_sanitize_object_size" = xyes then : @@ -84554,7 +85102,7 @@ OLD_CFLAGS=$CFLAGS CFLAGS="$CFLAGS -fno-sanitize-recover=undefined" - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to add -fno-sanitize=function" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to add -fno-sanitize=function" >&5 printf %s "checking whether to add -fno-sanitize=function... " >&6; } if test ${php_cv_ubsan_no_function+y} then : @@ -84589,8 +85137,8 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $php_cv_ubsan_no_function" >&5 -printf '%s\n' "$php_cv_ubsan_no_function" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $php_cv_ubsan_no_function" >&5 +printf "%s\n" "$php_cv_ubsan_no_function" >&6; } CFLAGS=$OLD_CFLAGS if test "x$php_cv_ubsan_no_function" = xyes then : @@ -84623,10 +85171,10 @@ fi - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: " >&5 -printf '%s\n' "" >&6; } - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: ${T_MD}Configuring libtool${T_ME}" >&5 -printf '%s\n' "${T_MD}Configuring libtool${T_ME}" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 +printf "%s\n" "" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${T_MD}Configuring libtool${T_ME}" >&5 +printf "%s\n" "${T_MD}Configuring libtool${T_ME}" >&6; } AR_FLAGS=cr @@ -84711,7 +85259,7 @@ fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 printf %s "checking for a sed that does not truncate output... " >&6; } if test ${lt_cv_path_SED+y} then : @@ -84767,8 +85315,8 @@ fi SED=$lt_cv_path_SED -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $SED" >&5 -printf '%s\n' "$SED" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $SED" >&5 +printf "%s\n" "$SED" >&6; } # Check whether --with-gnu-ld was given. @@ -84783,7 +85331,7 @@ ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 printf %s "checking for ld used by $CC... " >&6; } case $host in *-*-mingw*) @@ -84813,10 +85361,10 @@ ;; esac elif test "$with_gnu_ld" = yes; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 printf %s "checking for GNU ld... " >&6; } else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 printf %s "checking for non-GNU ld... " >&6; } fi if test ${lt_cv_path_LD+y} @@ -84852,14 +85400,14 @@ LD="$lt_cv_path_LD" if test -n "$LD"; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 -printf '%s\n' "$LD" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 +printf "%s\n" "$LD" >&6; } else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 printf %s "checking if the linker ($LD) is GNU ld... " >&6; } if test ${lt_cv_prog_gnu_ld+y} then : @@ -84876,12 +85424,12 @@ esac ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5 -printf '%s\n' "$lt_cv_prog_gnu_ld" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5 +printf "%s\n" "$lt_cv_prog_gnu_ld" >&6; } with_gnu_ld=$lt_cv_prog_gnu_ld -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 printf %s "checking for $LD option to reload object files... " >&6; } if test ${lt_cv_ld_reload_flag+y} then : @@ -84890,8 +85438,8 @@ e) lt_cv_ld_reload_flag='-r' ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 -printf '%s\n' "$lt_cv_ld_reload_flag" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 +printf "%s\n" "$lt_cv_ld_reload_flag" >&6; } reload_flag=$lt_cv_ld_reload_flag case $reload_flag in "" | " "*) ;; @@ -84908,7 +85456,7 @@ ;; esac -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for BSD-compatible nm" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for BSD-compatible nm" >&5 printf %s "checking for BSD-compatible nm... " >&6; } if test ${lt_cv_path_NM+y} then : @@ -84959,11 +85507,11 @@ fi ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 -printf '%s\n' "$lt_cv_path_NM" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 +printf "%s\n" "$lt_cv_path_NM" >&6; } NM="$lt_cv_path_NM" -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 printf %s "checking how to recognize dependent libraries... " >&6; } if test ${lt_cv_deplibs_check_method+y} then : @@ -85151,8 +85699,8 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 -printf '%s\n' "$lt_cv_deplibs_check_method" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 +printf "%s\n" "$lt_cv_deplibs_check_method" >&6; } file_magic_cmd=$lt_cv_file_magic_cmd deplibs_check_method=$lt_cv_deplibs_check_method test -z "$deplibs_check_method" && deplibs_check_method=unknown @@ -85182,7 +85730,7 @@ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then case `/usr/bin/file conftest.$ac_objext` in *ELF-32*) @@ -85197,11 +85745,11 @@ ;; *-*-irix6*) # Find out which ABI we are using. - echo '#line 85200 "configure"' > conftest.$ac_ext + echo '#line 85748 "configure"' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then if test "$lt_cv_prog_gnu_ld" = yes; then case `/usr/bin/file conftest.$ac_objext` in @@ -85239,7 +85787,7 @@ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then case `/usr/bin/file conftest.o` in *32-bit*) @@ -85295,7 +85843,7 @@ # On SCO OpenServer 5, we need -belf to get full-featured binaries. SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -belf" - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 printf %s "checking whether the C compiler needs -belf... " >&6; } if test ${lt_cv_cc_needs_belf+y} then : @@ -85335,8 +85883,8 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 -printf '%s\n' "$lt_cv_cc_needs_belf" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 +printf "%s\n" "$lt_cv_cc_needs_belf" >&6; } if test x"$lt_cv_cc_needs_belf" != x"yes"; then # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf CFLAGS="$SAVE_CFLAGS" @@ -85348,7 +85896,7 @@ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then case `/usr/bin/file conftest.o` in *64-bit*) @@ -85382,7 +85930,7 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 printf %s "checking how to run the C++ preprocessor... " >&6; } if test -z "$CXXCPP"; then if test ${ac_cv_prog_CXXCPP+y} @@ -85449,8 +85997,8 @@ else ac_cv_prog_CXXCPP=$CXXCPP fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 -printf '%s\n' "$CXXCPP" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 +printf "%s\n" "$CXXCPP" >&6; } ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do @@ -85498,8 +86046,8 @@ then : else case e in #( - e) { { printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 -printf '%s\n' "$as_me: error: in '$ac_pwd':" >&2;} + e) { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check See 'config.log' for more details" "$LINENO" 5; } ;; esac @@ -85516,7 +86064,7 @@ # Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! # find the maximum length of command line arguments -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 printf %s "checking the maximum length of command line arguments... " >&6; } if test ${lt_cv_sys_max_cmd_len+y} then : @@ -85630,11 +86178,11 @@ fi if test -n $lt_cv_sys_max_cmd_len ; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 -printf '%s\n' "$lt_cv_sys_max_cmd_len" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 +printf "%s\n" "$lt_cv_sys_max_cmd_len" >&6; } else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: none" >&5 -printf '%s\n' "none" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none" >&5 +printf "%s\n" "none" >&6; } fi @@ -85642,7 +86190,7 @@ # Check for command to grab the raw symbol name followed by C symbol from nm. -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 printf %s "checking command to parse $NM output from $compiler object... " >&6; } if test ${lt_cv_sys_global_symbol_pipe+y} then : @@ -85751,14 +86299,14 @@ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then # Now try to grab the symbols. nlist=conftest.nm if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\""; } >&5 (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s "$nlist"; then # Try sorting and uniquifying the output. if sort "$nlist" | uniq > "$nlist"T; then @@ -85813,7 +86361,7 @@ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest${ac_exeext}; then pipe_works=yes fi @@ -85849,14 +86397,14 @@ lt_cv_sys_global_symbol_to_cdecl= fi if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: failed" >&5 -printf '%s\n' "failed" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: failed" >&5 +printf "%s\n" "failed" >&6; } else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: ok" >&5 -printf '%s\n' "ok" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ok" >&5 +printf "%s\n" "ok" >&6; } fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 printf %s "checking for objdir... " >&6; } if test ${lt_cv_objdir+y} then : @@ -85873,8 +86421,8 @@ rmdir .libs 2>/dev/null ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 -printf '%s\n' "$lt_cv_objdir" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 +printf "%s\n" "$lt_cv_objdir" >&6; } objdir=$lt_cv_objdir @@ -85925,7 +86473,7 @@ if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. set dummy ${ac_tool_prefix}ar; ac_word=$2 -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_AR+y} then : @@ -85946,7 +86494,7 @@ for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_AR="${ac_tool_prefix}ar" - printf '%s\n' "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -85958,11 +86506,11 @@ fi AR=$ac_cv_prog_AR if test -n "$AR"; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 -printf '%s\n' "$AR" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +printf "%s\n" "$AR" >&6; } else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -85971,7 +86519,7 @@ ac_ct_AR=$AR # Extract the first word of "ar", so it can be a program name with args. set dummy ar; ac_word=$2 -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_AR+y} then : @@ -85992,7 +86540,7 @@ for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_AR="ar" - printf '%s\n' "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -86004,11 +86552,11 @@ fi ac_ct_AR=$ac_cv_prog_ac_ct_AR if test -n "$ac_ct_AR"; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 -printf '%s\n' "$ac_ct_AR" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +printf "%s\n" "$ac_ct_AR" >&6; } else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi if test "x$ac_ct_AR" = x; then @@ -86016,8 +86564,8 @@ else case $cross_compiling:$ac_tool_warned in yes:) -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -printf '%s\n' "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac AR=$ac_ct_AR @@ -86029,7 +86577,7 @@ if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_RANLIB+y} then : @@ -86050,7 +86598,7 @@ for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" - printf '%s\n' "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -86062,11 +86610,11 @@ fi RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 -printf '%s\n' "$RANLIB" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +printf "%s\n" "$RANLIB" >&6; } else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -86075,7 +86623,7 @@ ac_ct_RANLIB=$RANLIB # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_RANLIB+y} then : @@ -86096,7 +86644,7 @@ for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_RANLIB="ranlib" - printf '%s\n' "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -86108,11 +86656,11 @@ fi ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 -printf '%s\n' "$ac_ct_RANLIB" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +printf "%s\n" "$ac_ct_RANLIB" >&6; } else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi if test "x$ac_ct_RANLIB" = x; then @@ -86120,8 +86668,8 @@ else case $cross_compiling:$ac_tool_warned in yes:) -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -printf '%s\n' "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac RANLIB=$ac_ct_RANLIB @@ -86133,7 +86681,7 @@ if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_STRIP+y} then : @@ -86154,7 +86702,7 @@ for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" - printf '%s\n' "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -86166,11 +86714,11 @@ fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 -printf '%s\n' "$STRIP" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 +printf "%s\n" "$STRIP" >&6; } else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -86179,7 +86727,7 @@ ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_STRIP+y} then : @@ -86200,7 +86748,7 @@ for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_STRIP="strip" - printf '%s\n' "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -86212,11 +86760,11 @@ fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 -printf '%s\n' "$ac_ct_STRIP" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 +printf "%s\n" "$ac_ct_STRIP" >&6; } else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi if test "x$ac_ct_STRIP" = x; then @@ -86224,8 +86772,8 @@ else case $cross_compiling:$ac_tool_warned in yes:) -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -printf '%s\n' "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP @@ -86288,7 +86836,7 @@ case $deplibs_check_method in file_magic*) if test "$file_magic_cmd" = '$MAGIC_CMD'; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 printf %s "checking for ${ac_tool_prefix}file... " >&6; } if test ${lt_cv_path_MAGIC_CMD+y} then : @@ -86343,16 +86891,16 @@ MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 -printf '%s\n' "$MAGIC_CMD" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 +printf "%s\n" "$MAGIC_CMD" >&6; } else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for file" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for file" >&5 printf %s "checking for file... " >&6; } if test ${lt_cv_path_MAGIC_CMD+y} then : @@ -86407,11 +86955,11 @@ MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 -printf '%s\n' "$MAGIC_CMD" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 +printf "%s\n" "$MAGIC_CMD" >&6; } else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi else @@ -86429,7 +86977,7 @@ if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_DSYMUTIL+y} then : @@ -86450,7 +86998,7 @@ for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" - printf '%s\n' "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -86462,11 +87010,11 @@ fi DSYMUTIL=$ac_cv_prog_DSYMUTIL if test -n "$DSYMUTIL"; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 -printf '%s\n' "$DSYMUTIL" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 +printf "%s\n" "$DSYMUTIL" >&6; } else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -86475,7 +87023,7 @@ ac_ct_DSYMUTIL=$DSYMUTIL # Extract the first word of "dsymutil", so it can be a program name with args. set dummy dsymutil; ac_word=$2 -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_DSYMUTIL+y} then : @@ -86496,7 +87044,7 @@ for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" - printf '%s\n' "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -86508,11 +87056,11 @@ fi ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL if test -n "$ac_ct_DSYMUTIL"; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 -printf '%s\n' "$ac_ct_DSYMUTIL" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 +printf "%s\n" "$ac_ct_DSYMUTIL" >&6; } else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi if test "x$ac_ct_DSYMUTIL" = x; then @@ -86520,8 +87068,8 @@ else case $cross_compiling:$ac_tool_warned in yes:) -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -printf '%s\n' "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DSYMUTIL=$ac_ct_DSYMUTIL @@ -86533,7 +87081,7 @@ if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. set dummy ${ac_tool_prefix}nmedit; ac_word=$2 -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_NMEDIT+y} then : @@ -86554,7 +87102,7 @@ for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" - printf '%s\n' "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -86566,11 +87114,11 @@ fi NMEDIT=$ac_cv_prog_NMEDIT if test -n "$NMEDIT"; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 -printf '%s\n' "$NMEDIT" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 +printf "%s\n" "$NMEDIT" >&6; } else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -86579,7 +87127,7 @@ ac_ct_NMEDIT=$NMEDIT # Extract the first word of "nmedit", so it can be a program name with args. set dummy nmedit; ac_word=$2 -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_prog_ac_ct_NMEDIT+y} then : @@ -86600,7 +87148,7 @@ for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_NMEDIT="nmedit" - printf '%s\n' "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -86612,11 +87160,11 @@ fi ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT if test -n "$ac_ct_NMEDIT"; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 -printf '%s\n' "$ac_ct_NMEDIT" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 +printf "%s\n" "$ac_ct_NMEDIT" >&6; } else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi if test "x$ac_ct_NMEDIT" = x; then @@ -86624,8 +87172,8 @@ else case $cross_compiling:$ac_tool_warned in yes:) -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -printf '%s\n' "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac NMEDIT=$ac_ct_NMEDIT @@ -86635,7 +87183,7 @@ fi - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 printf %s "checking for -single_module linker flag... " >&6; } if test ${lt_cv_apple_cc_single_mod+y} then : @@ -86658,9 +87206,9 @@ fi ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 -printf '%s\n' "$lt_cv_apple_cc_single_mod" >&6; } - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 +printf "%s\n" "$lt_cv_apple_cc_single_mod" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 printf %s "checking for -exported_symbols_list linker flag... " >&6; } if test ${lt_cv_ld_exported_symbols_list+y} then : @@ -86672,7 +87220,7 @@ LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" cat > conftest.$ac_ext <&5 (eval $ac_link) 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest${ac_exeext}; then lt_cv_ld_exported_symbols_list=yes rm -rf conftest* @@ -86695,8 +87243,8 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 -printf '%s\n' "$lt_cv_ld_exported_symbols_list" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 +printf "%s\n" "$lt_cv_ld_exported_symbols_list" >&6; } case $host_os in rhapsody* | darwin1.[0123]) _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; @@ -86815,7 +87363,7 @@ lt_prog_compiler_no_builtin_flag=' -fno-builtin' -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 printf %s "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } if test ${lt_cv_prog_compiler_rtti_exceptions+y} then : @@ -86834,11 +87382,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"configure:86837: $lt_compile\"" >&5) + (eval echo "\"configure:87385: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "configure:86841: \$? = $ac_status" >&5 + echo "configure:87389: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -86852,8 +87400,8 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 -printf '%s\n' "$lt_cv_prog_compiler_rtti_exceptions" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +printf "%s\n" "$lt_cv_prog_compiler_rtti_exceptions" >&6; } if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" @@ -86867,7 +87415,7 @@ lt_prog_compiler_pic= lt_prog_compiler_static= -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 printf %s "checking for $compiler option to produce PIC... " >&6; } if test "$GCC" = yes; then @@ -87107,15 +87655,15 @@ esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $lt_prog_compiler_pic" >&5 -printf '%s\n' "$lt_prog_compiler_pic" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_prog_compiler_pic" >&5 +printf "%s\n" "$lt_prog_compiler_pic" >&6; } # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic"; then -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 printf %s "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } if test ${lt_cv_prog_compiler_pic_works+y} then : @@ -87134,11 +87682,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"configure:87137: $lt_compile\"" >&5) + (eval echo "\"configure:87685: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "configure:87141: \$? = $ac_status" >&5 + echo "configure:87689: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -87152,8 +87700,8 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 -printf '%s\n' "$lt_cv_prog_compiler_pic_works" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 +printf "%s\n" "$lt_cv_prog_compiler_pic_works" >&6; } if test x"$lt_cv_prog_compiler_pic_works" = xyes; then case $lt_prog_compiler_pic in @@ -87180,7 +87728,7 @@ # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 printf %s "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } if test ${lt_cv_prog_compiler_static_works+y} then : @@ -87210,8 +87758,8 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 -printf '%s\n' "$lt_cv_prog_compiler_static_works" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 +printf "%s\n" "$lt_cv_prog_compiler_static_works" >&6; } if test x"$lt_cv_prog_compiler_static_works" = xyes; then : @@ -87220,7 +87768,7 @@ fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if test ${lt_cv_prog_compiler_c_o+y} then : @@ -87242,11 +87790,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"configure:87245: $lt_compile\"" >&5) + (eval echo "\"configure:87793: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "configure:87249: \$? = $ac_status" >&5 + echo "configure:87797: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -87269,14 +87817,14 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 -printf '%s\n' "$lt_cv_prog_compiler_c_o" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 +printf "%s\n" "$lt_cv_prog_compiler_c_o" >&6; } hard_links="nottested" if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 printf %s "checking if we can lock with hard links... " >&6; } hard_links=yes $rm conftest* @@ -87284,18 +87832,18 @@ touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 -printf '%s\n' "$hard_links" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 +printf "%s\n" "$hard_links" >&6; } if test "$hard_links" = no; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 -printf '%s\n' "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 +printf "%s\n" "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 printf %s "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } runpath_var= @@ -87707,7 +88255,7 @@ # Determine the default libpath from the value encoded in an empty executable. cat > conftest.$ac_ext <&5 (eval $ac_link) 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest${ac_exeext}; then lt_aix_libpath_sed=' @@ -87749,7 +88297,7 @@ # Determine the default libpath from the value encoded in an empty executable. cat > conftest.$ac_ext <&5 (eval $ac_link) 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest${ac_exeext}; then lt_aix_libpath_sed=' @@ -88223,8 +88771,8 @@ esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 -printf '%s\n' "$ld_shlibs" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 +printf "%s\n" "$ld_shlibs" >&6; } test "$ld_shlibs" = no && can_build_shared=no # @@ -88244,7 +88792,7 @@ # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 printf %s "checking whether -lc should be explicitly linked in... " >&6; } $rm conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext @@ -88252,7 +88800,7 @@ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } 2>conftest.err; then soname=conftest lib=conftest @@ -88270,7 +88818,7 @@ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\""; } >&5 (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } then archive_cmds_need_lc=no @@ -88282,15 +88830,15 @@ cat conftest.err 1>&5 fi $rm conftest* - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $archive_cmds_need_lc" >&5 -printf '%s\n' "$archive_cmds_need_lc" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $archive_cmds_need_lc" >&5 +printf "%s\n" "$archive_cmds_need_lc" >&6; } ;; esac fi ;; esac -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 printf %s "checking dynamic linker characteristics... " >&6; } library_names_spec= libname_spec='lib$name' @@ -88899,8 +89447,8 @@ dynamic_linker=no ;; esac -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 -printf '%s\n' "$dynamic_linker" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 +printf "%s\n" "$dynamic_linker" >&6; } test "$dynamic_linker" = no && can_build_shared=no if test ${lt_cv_sys_lib_search_path_spec+y} @@ -88927,7 +89475,7 @@ variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 printf %s "checking how to hardcode library paths into programs... " >&6; } hardcode_action= if test -n "$hardcode_libdir_flag_spec" || \ @@ -88952,8 +89500,8 @@ # directories. hardcode_action=unsupported fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 -printf '%s\n' "$hardcode_action" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 +printf "%s\n" "$hardcode_action" >&6; } if test "$hardcode_action" = relink; then # Fast installation is not supported @@ -88966,13 +89514,13 @@ striplib= old_striplib= -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 printf %s "checking whether stripping libraries is possible... " >&6; } if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" test -z "$striplib" && striplib="$STRIP --strip-unneeded" - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } else # FIXME - insert some real tests, host_os isn't really good enough case $host_os in @@ -88980,16 +89528,16 @@ if test -n "$STRIP" ; then striplib="$STRIP -x" old_striplib="$STRIP -S" - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf '%s\n' "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi ;; *) - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } ;; esac fi @@ -89021,7 +89569,7 @@ darwin*) # if libdl is installed we need to link against it - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 printf %s "checking for dlopen in -ldl... " >&6; } if test ${ac_cv_lib_dl_dlopen+y} then : @@ -89062,8 +89610,8 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 -printf '%s\n' "$ac_cv_lib_dl_dlopen" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 +printf "%s\n" "$ac_cv_lib_dl_dlopen" >&6; } if test "x$ac_cv_lib_dl_dlopen" = xyes then : lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" @@ -89084,7 +89632,7 @@ then : lt_cv_dlopen="shl_load" else case e in #( - e) { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 printf %s "checking for shl_load in -ldld... " >&6; } if test ${ac_cv_lib_dld_shl_load+y} then : @@ -89125,8 +89673,8 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 -printf '%s\n' "$ac_cv_lib_dld_shl_load" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 +printf "%s\n" "$ac_cv_lib_dld_shl_load" >&6; } if test "x$ac_cv_lib_dld_shl_load" = xyes then : lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld" @@ -89136,7 +89684,7 @@ then : lt_cv_dlopen="dlopen" else case e in #( - e) { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 printf %s "checking for dlopen in -ldl... " >&6; } if test ${ac_cv_lib_dl_dlopen+y} then : @@ -89177,13 +89725,13 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 -printf '%s\n' "$ac_cv_lib_dl_dlopen" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 +printf "%s\n" "$ac_cv_lib_dl_dlopen" >&6; } if test "x$ac_cv_lib_dl_dlopen" = xyes then : lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else case e in #( - e) { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 printf %s "checking for dlopen in -lsvld... " >&6; } if test ${ac_cv_lib_svld_dlopen+y} then : @@ -89224,13 +89772,13 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 -printf '%s\n' "$ac_cv_lib_svld_dlopen" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 +printf "%s\n" "$ac_cv_lib_svld_dlopen" >&6; } if test "x$ac_cv_lib_svld_dlopen" = xyes then : lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" else case e in #( - e) { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 + e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 printf %s "checking for dld_link in -ldld... " >&6; } if test ${ac_cv_lib_dld_dld_link+y} then : @@ -89271,8 +89819,8 @@ LIBS=$ac_check_lib_save_LIBS ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 -printf '%s\n' "$ac_cv_lib_dld_dld_link" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 +printf "%s\n" "$ac_cv_lib_dld_dld_link" >&6; } if test "x$ac_cv_lib_dld_dld_link" = xyes then : lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld" @@ -89318,7 +89866,7 @@ save_LIBS="$LIBS" LIBS="$lt_cv_dlopen_libs $LIBS" - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 printf %s "checking whether a program can dlopen itself... " >&6; } if test ${lt_cv_dlopen_self+y} then : @@ -89330,7 +89878,7 @@ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <&5 (eval $ac_link) 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? @@ -89412,12 +89960,12 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 -printf '%s\n' "$lt_cv_dlopen_self" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 +printf "%s\n" "$lt_cv_dlopen_self" >&6; } if test "x$lt_cv_dlopen_self" = xyes; then wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 printf %s "checking whether a statically linked program can dlopen itself... " >&6; } if test ${lt_cv_dlopen_self_static+y} then : @@ -89429,7 +89977,7 @@ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <&5 (eval $ac_link) 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? @@ -89511,8 +90059,8 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 -printf '%s\n' "$lt_cv_dlopen_self_static" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 +printf "%s\n" "$lt_cv_dlopen_self_static" >&6; } fi CPPFLAGS="$save_CPPFLAGS" @@ -89534,12 +90082,12 @@ # Report which library types will actually be built -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 printf %s "checking if libtool supports shared libraries... " >&6; } -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 -printf '%s\n' "$can_build_shared" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 +printf "%s\n" "$can_build_shared" >&6; } -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 printf %s "checking whether to build shared libraries... " >&6; } test "$can_build_shared" = "no" && enable_shared=no @@ -89560,15 +90108,15 @@ fi ;; esac -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 -printf '%s\n' "$enable_shared" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 +printf "%s\n" "$enable_shared" >&6; } -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 printf %s "checking whether to build static libraries... " >&6; } # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 -printf '%s\n' "$enable_static" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 +printf "%s\n" "$enable_static" >&6; } # The else clause should only fire when bootstrapping the # libtool distribution, otherwise you forgot to ship ltmain.sh @@ -89661,9 +90209,9 @@ cfgfile="${ofile}T" trap "$rm \"$cfgfile\"; exit 1" 1 2 15 $rm -f "$cfgfile" - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: creating $ofile" >&5 -printf '%s\n' " +printf "%s\n" " creating $ofile" >&6; } cat <<__EOF__ >> "$cfgfile" @@ -90077,18 +90625,18 @@ if test -f "$ltmain" && test -n "$tagnames"; then if test ! -f "${ofile}"; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: WARNING: output file '$ofile' does not exist" >&5 -printf '%s\n' "$as_me: WARNING: output file '$ofile' does not exist" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: output file '$ofile' does not exist" >&5 +printf "%s\n" "$as_me: WARNING: output file '$ofile' does not exist" >&2;} fi if test -z "$LTCC"; then eval "`$SHELL ${ofile} --config | grep '^LTCC='`" if test -z "$LTCC"; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: WARNING: output file '$ofile' does not look like a libtool script" >&5 -printf '%s\n' "$as_me: WARNING: output file '$ofile' does not look like a libtool script" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: output file '$ofile' does not look like a libtool script" >&5 +printf "%s\n" "$as_me: WARNING: output file '$ofile' does not look like a libtool script" >&2;} else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: WARNING: using 'LTCC=$LTCC', extracted from '$ofile'" >&5 -printf '%s\n' "$as_me: WARNING: using 'LTCC=$LTCC', extracted from '$ofile'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using 'LTCC=$LTCC', extracted from '$ofile'" >&5 +printf "%s\n" "$as_me: WARNING: using 'LTCC=$LTCC', extracted from '$ofile'" >&2;} fi fi if test -z "$LTCFLAGS"; then @@ -90255,7 +90803,7 @@ ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 printf %s "checking for ld used by $CC... " >&6; } case $host in *-*-mingw*) @@ -90285,10 +90833,10 @@ ;; esac elif test "$with_gnu_ld" = yes; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 printf %s "checking for GNU ld... " >&6; } else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 printf %s "checking for non-GNU ld... " >&6; } fi if test ${lt_cv_path_LD+y} @@ -90324,14 +90872,14 @@ LD="$lt_cv_path_LD" if test -n "$LD"; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 -printf '%s\n' "$LD" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 +printf "%s\n" "$LD" >&6; } else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf '%s\n' "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 printf %s "checking if the linker ($LD) is GNU ld... " >&6; } if test ${lt_cv_prog_gnu_ld+y} then : @@ -90348,8 +90896,8 @@ esac ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5 -printf '%s\n' "$lt_cv_prog_gnu_ld" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5 +printf "%s\n" "$lt_cv_prog_gnu_ld" >&6; } with_gnu_ld=$lt_cv_prog_gnu_ld @@ -90399,7 +90947,7 @@ fi # PORTME: fill in a description of your system's C++ link characteristics -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 printf %s "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } ld_shlibs_CXX=yes case $host_os in @@ -90498,7 +91046,7 @@ # Determine the default libpath from the value encoded in an empty executable. cat > conftest.$ac_ext <&5 (eval $ac_link) 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest${ac_exeext}; then lt_aix_libpath_sed=' @@ -90541,7 +91089,7 @@ # Determine the default libpath from the value encoded in an empty executable. cat > conftest.$ac_ext <&5 (eval $ac_link) 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest${ac_exeext}; then lt_aix_libpath_sed=' @@ -91297,8 +91845,8 @@ ld_shlibs_CXX=no ;; esac -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 -printf '%s\n' "$ld_shlibs_CXX" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 +printf "%s\n" "$ld_shlibs_CXX" >&6; } test "$ld_shlibs_CXX" = no && can_build_shared=no GCC_CXX="$GXX" @@ -91321,7 +91869,7 @@ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then # Parse the compiler output and extract the necessary # objects, libraries and library flags. @@ -91477,7 +92025,7 @@ lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX= -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 printf %s "checking for $compiler option to produce PIC... " >&6; } # C++ specific cases for pic, static, wl, etc. @@ -91767,15 +92315,15 @@ esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $lt_prog_compiler_pic_CXX" >&5 -printf '%s\n' "$lt_prog_compiler_pic_CXX" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_prog_compiler_pic_CXX" >&5 +printf "%s\n" "$lt_prog_compiler_pic_CXX" >&6; } # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic_CXX"; then -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 printf %s "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; } if test ${lt_cv_prog_compiler_pic_works_CXX+y} then : @@ -91794,11 +92342,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"configure:91797: $lt_compile\"" >&5) + (eval echo "\"configure:92345: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "configure:91801: \$? = $ac_status" >&5 + echo "configure:92349: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -91812,8 +92360,8 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5 -printf '%s\n' "$lt_cv_prog_compiler_pic_works_CXX" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5 +printf "%s\n" "$lt_cv_prog_compiler_pic_works_CXX" >&6; } if test x"$lt_cv_prog_compiler_pic_works_CXX" = xyes; then case $lt_prog_compiler_pic_CXX in @@ -91840,7 +92388,7 @@ # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 printf %s "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } if test ${lt_cv_prog_compiler_static_works_CXX+y} then : @@ -91870,8 +92418,8 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5 -printf '%s\n' "$lt_cv_prog_compiler_static_works_CXX" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5 +printf "%s\n" "$lt_cv_prog_compiler_static_works_CXX" >&6; } if test x"$lt_cv_prog_compiler_static_works_CXX" = xyes; then : @@ -91880,7 +92428,7 @@ fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if test ${lt_cv_prog_compiler_c_o_CXX+y} then : @@ -91902,11 +92450,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"configure:91905: $lt_compile\"" >&5) + (eval echo "\"configure:92453: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "configure:91909: \$? = $ac_status" >&5 + echo "configure:92457: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -91929,14 +92477,14 @@ ;; esac fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 -printf '%s\n' "$lt_cv_prog_compiler_c_o_CXX" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 +printf "%s\n" "$lt_cv_prog_compiler_c_o_CXX" >&6; } hard_links="nottested" if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 printf %s "checking if we can lock with hard links... " >&6; } hard_links=yes $rm conftest* @@ -91944,18 +92492,18 @@ touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 -printf '%s\n' "$hard_links" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 +printf "%s\n" "$hard_links" >&6; } if test "$hard_links" = no; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 -printf '%s\n' "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 +printf "%s\n" "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 printf %s "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' @@ -91981,8 +92529,8 @@ esac exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 -printf '%s\n' "$ld_shlibs_CXX" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 +printf "%s\n" "$ld_shlibs_CXX" >&6; } test "$ld_shlibs_CXX" = no && can_build_shared=no # @@ -92002,7 +92550,7 @@ # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 printf %s "checking whether -lc should be explicitly linked in... " >&6; } $rm conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext @@ -92010,7 +92558,7 @@ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } 2>conftest.err; then soname=conftest lib=conftest @@ -92028,7 +92576,7 @@ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\""; } >&5 (eval $archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? - printf '%s\n' "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } then archive_cmds_need_lc_CXX=no @@ -92040,15 +92588,15 @@ cat conftest.err 1>&5 fi $rm conftest* - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $archive_cmds_need_lc_CXX" >&5 -printf '%s\n' "$archive_cmds_need_lc_CXX" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $archive_cmds_need_lc_CXX" >&5 +printf "%s\n" "$archive_cmds_need_lc_CXX" >&6; } ;; esac fi ;; esac -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 printf %s "checking dynamic linker characteristics... " >&6; } library_names_spec= libname_spec='lib$name' @@ -92605,8 +93153,8 @@ dynamic_linker=no ;; esac -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 -printf '%s\n' "$dynamic_linker" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 +printf "%s\n" "$dynamic_linker" >&6; } test "$dynamic_linker" = no && can_build_shared=no if test ${lt_cv_sys_lib_search_path_spec+y} @@ -92633,7 +93181,7 @@ variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 printf %s "checking how to hardcode library paths into programs... " >&6; } hardcode_action_CXX= if test -n "$hardcode_libdir_flag_spec_CXX" || \ @@ -92658,8 +93206,8 @@ # directories. hardcode_action_CXX=unsupported fi -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5 -printf '%s\n' "$hardcode_action_CXX" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5 +printf "%s\n" "$hardcode_action_CXX" >&6; } if test "$hardcode_action_CXX" = relink; then # Fast installation is not supported @@ -93171,10 +93719,10 @@ - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: " >&5 -printf '%s\n' "" >&6; } - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: result: ${T_MD}Generating files${T_ME}" >&5 -printf '%s\n' "${T_MD}Generating files${T_ME}" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 +printf "%s\n" "" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${T_MD}Generating files${T_ME}" >&5 +printf "%s\n" "${T_MD}Generating files${T_ME}" >&6; } CXXFLAGS_CLEAN=$CXXFLAGS @@ -93628,7 +94176,7 @@ -printf '%s\n' "#define HAVE_BUILD_DEFS_H 1" >>confdefs.h +printf "%s\n" "#define HAVE_BUILD_DEFS_H 1" >>confdefs.h as_fn_append BUILD_DIR " main main/streams scripts scripts/man1 TSRM Zend Zend/asm Zend/Optimizer" @@ -93666,7 +94214,44 @@ _ACEOF -ac_cache_dump | +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, we kill variables containing newlines. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +( + for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( + *) { eval $ac_var=; unset $ac_var;} ;; + esac ;; + esac + done + + (set) 2>&1 | + case $as_nl`(ac_space=' '; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + # 'set' does not quote correctly, so add quotes: double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \. + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; #( + *) + # 'set' quotes correctly as required by POSIX, so do not add quotes. + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) | sed ' /^ac_cv_env_/b end t clear @@ -93678,8 +94263,8 @@ if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then if test "x$cache_file" != "x/dev/null"; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 -printf '%s\n' "$as_me: updating cache $cache_file" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$as_me: updating cache $cache_file" >&6;} if test ! -f "$cache_file" || test -h "$cache_file"; then cat confcache >"$cache_file" else @@ -93693,8 +94278,8 @@ fi fi else - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 -printf '%s\n' "$as_me: not updating unwritable cache $cache_file" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache @@ -93711,7 +94296,7 @@ for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' - ac_i=`printf '%s\n' "$ac_i" | sed "$ac_script"` + ac_i=`printf "%s\n" "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" @@ -93729,13 +94314,13 @@ PHP_VAR_SUBST="$PHP_VAR_SUBST phplibdir" - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: creating build directories" >&5 -printf '%s\n' "$as_me: creating build directories" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating build directories" >&5 +printf "%s\n" "$as_me: creating build directories" >&6;} $php_shtool mkdir -p $BUILD_DIR - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: creating Makefile" >&5 -printf '%s\n' "$as_me: creating Makefile" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating Makefile" >&5 +printf "%s\n" "$as_me: creating Makefile" >&6;} cat >Makefile <&5 -printf '%s\n' "$as_me: patching main/php_config.h.in" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: patching main/php_config.h.in" >&5 +printf "%s\n" "$as_me: patching main/php_config.h.in" >&6;} $SED -e 's/^#undef PACKAGE_[^ ]*/\/\* & \*\//g' < $srcdir/main/php_config.h.in \ > $srcdir/main/php_config.h.in.tmp && mv $srcdir/main/php_config.h.in.tmp $srcdir/main/php_config.h.in : "${CONFIG_STATUS=./config.status}" -case $CONFIG_STATUS in #( - -*) : - CONFIG_STATUS=./$CONFIG_STATUS ;; #( - */*) : - ;; #( - *) : - CONFIG_STATUS=./$CONFIG_STATUS ;; -esac - ac_write_fail=0 -ac_clean_CONFIG_STATUS='"$CONFIG_STATUS"' -{ printf '%s\n' "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 -printf '%s\n' "$as_me: creating $CONFIG_STATUS" >&6;} +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$as_me: creating $CONFIG_STATUS" >&6;} as_write_fail=0 -cat >"$CONFIG_STATUS" <<_ASEOF || as_write_fail=1 +cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. @@ -93786,7 +94363,7 @@ SHELL=\${CONFIG_SHELL-$SHELL} export SHELL _ASEOF -cat >>"$CONFIG_STATUS" <<\_ASEOF || as_write_fail=1 +cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## @@ -93798,7 +94375,7 @@ emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # contradicts POSIX and common usage. Disable this. + # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case e in #( @@ -93885,7 +94462,7 @@ as_myself=$0 fi if test ! -f "$as_myself"; then - printf '%s\n' "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi @@ -93901,9 +94478,9 @@ as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - printf '%s\n' "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi - printf '%s\n' "$as_me: error: $2" >&2 + printf "%s\n" "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error @@ -93998,7 +94575,7 @@ $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || -printf '%s\n' X/"$0" | +printf "%s\n" X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q @@ -94020,6 +94597,29 @@ as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in #((((( +-n*) + case `echo 'xy\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; + esac;; +*) + ECHO_N='-n';; +esac + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file @@ -94061,7 +94661,7 @@ as_dirs= while :; do case $as_dir in #( - *\'*) as_qdir=`printf '%s\n' "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" @@ -94070,7 +94670,7 @@ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -printf '%s\n' X"$as_dir" | +printf "%s\n" X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q @@ -94123,19 +94723,19 @@ exec 6>&1 -## ------------------------------------- ## -## Main body of "$CONFIG_STATUS" script. ## -## ------------------------------------- ## +## ----------------------------------- ## +## Main body of $CONFIG_STATUS script. ## +## ----------------------------------- ## _ASEOF -test $as_write_fail = 0 && chmod +x "$CONFIG_STATUS" || ac_write_fail=1 +test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 -cat >>"$CONFIG_STATUS" <<\_ACEOF || ac_write_fail=1 +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Save the log message, to keep $0 and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by PHP $as_me 8.4.24, which was -generated by GNU Autoconf 2.73. Invocation command line was +This file was extended by PHP $as_me 8.4.26, which was +generated by GNU Autoconf 2.72. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -94157,7 +94757,7 @@ esac -cat >>"$CONFIG_STATUS" <<_ACEOF || ac_write_fail=1 +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # Files that config.status was made for. config_files="$ac_config_files" config_headers="$ac_config_headers" @@ -94165,7 +94765,7 @@ _ACEOF -cat >>"$CONFIG_STATUS" <<\_ACEOF || ac_write_fail=1 +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ '$as_me' instantiates files and other configuration actions from templates according to the current configuration. Unless the files @@ -94198,29 +94798,25 @@ PHP home page: ." _ACEOF -ac_cs_config=`printf '%s\n' "$ac_configure_args" | sed "$ac_safe_unquote"` -ac_cs_config_escaped=`printf '%s\n' "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` -cat >>"$CONFIG_STATUS" <<_ACEOF || ac_write_fail=1 +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -PHP config.status 8.4.24 -configured by $0, generated by GNU Autoconf 2.73, +PHP config.status 8.4.26 +configured by $0, generated by GNU Autoconf 2.72, with options \\"\$ac_cs_config\\" -Copyright (C) 2026 Free Software Foundation, Inc. +Copyright (C) 2023 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." ac_pwd='$ac_pwd' srcdir='$srcdir' -test -n "\$AWK" || { - awk '' >"$CONFIG_STATUS" <<\_ACEOF || ac_write_fail=1 +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # The default lists apply if the user does not specify any file. ac_need_defaults=: while test $# != 0 @@ -94248,15 +94844,15 @@ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) - printf '%s\n' "$ac_cs_version"; exit ;; + printf "%s\n" "$ac_cs_version"; exit ;; --config | --confi | --conf | --con | --co | --c ) - printf '%s\n' "$ac_cs_config"; exit ;; + printf "%s\n" "$ac_cs_config"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift case $ac_optarg in - *\'*) ac_optarg=`printf '%s\n' "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; '') as_fn_error $? "missing file argument" ;; esac as_fn_append CONFIG_FILES " '$ac_optarg'" @@ -94264,7 +94860,7 @@ --header | --heade | --head | --hea ) $ac_shift case $ac_optarg in - *\'*) ac_optarg=`printf '%s\n' "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; esac as_fn_append CONFIG_HEADERS " '$ac_optarg'" ac_need_defaults=false;; @@ -94273,7 +94869,7 @@ as_fn_error $? "ambiguous option: '$1' Try '$0 --help' for more information.";; --help | --hel | -h ) - printf '%s\n' "$ac_cs_usage"; exit ;; + printf "%s\n" "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; @@ -94297,29 +94893,29 @@ fi _ACEOF -cat >>"$CONFIG_STATUS" <<_ACEOF || ac_write_fail=1 +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift - \printf '%s\n' "running CONFIG_SHELL=$SHELL \$*" >&6 + \printf "%s\n" "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' export CONFIG_SHELL exec "\$@" fi _ACEOF -cat >>"$CONFIG_STATUS" <<\_ACEOF || ac_write_fail=1 +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX - printf '%s\n' "$ac_log" + printf "%s\n" "$ac_log" } >&5 _ACEOF -cat >>"$CONFIG_STATUS" <<_ACEOF || ac_write_fail=1 +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # # INIT-COMMANDS # @@ -94337,7 +94933,7 @@ _ACEOF -cat >>"$CONFIG_STATUS" <<\_ACEOF || ac_write_fail=1 +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Handling of arguments. for ac_config_target in $ac_config_targets @@ -94438,13 +95034,13 @@ echo "_ACEOF" } >conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 -ac_delim_num=`echo "$ac_subst_vars" | sed -n '$='` +ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 - ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | sed -n '$='` + ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then @@ -94455,7 +95051,7 @@ done rm -f conf$$subs.sh -cat >>"$CONFIG_STATUS" <<_ACEOF || ac_write_fail=1 +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && _ACEOF sed -n ' @@ -94500,9 +95096,9 @@ N s/\n// } -' >>"$CONFIG_STATUS" || ac_write_fail=1 +' >>$CONFIG_STATUS || ac_write_fail=1 rm -f conf$$subs.awk -cat >>"$CONFIG_STATUS" <<_ACEOF || ac_write_fail=1 +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && for (key in S) S_is_set[key] = 1 @@ -94531,7 +95127,7 @@ _ACAWK _ACEOF -cat >>"$CONFIG_STATUS" <<\_ACEOF || ac_write_fail=1 +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" else @@ -94563,7 +95159,7 @@ }' fi -cat >>"$CONFIG_STATUS" <<\_ACEOF || ac_write_fail=1 +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 fi # test -n "$CONFIG_FILES" # Set up the scripts for CONFIG_HEADERS section. @@ -94634,9 +95230,9 @@ b cont ' >"$CONFIG_STATUS" || ac_write_fail=1 +"/g' >>$CONFIG_STATUS || ac_write_fail=1 -cat >>"$CONFIG_STATUS" <<_ACEOF || ac_write_fail=1 +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 for (key in D) D_is_set[key] = 1 FS = "" } @@ -94654,12 +95250,8 @@ macro = mac2[1] prefix = substr(line, 1, index(line, defundef) - 1) if (D_is_set[macro]) { - suffix = P[macro] D[macro] - while (suffix ~ /[\t ]$/) { - suffix = substr(suffix, 1, length(suffix) - 1) - } # Preserve the white space surrounding the "#". - print prefix "define", macro suffix + print prefix "define", macro P[macro] D[macro] next } else { # Replace #undef with comments. This is necessary, for example, @@ -94674,7 +95266,7 @@ { print } _ACAWK _ACEOF -cat >>"$CONFIG_STATUS" <<\_ACEOF || ac_write_fail=1 +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 fi # test -n "$CONFIG_HEADERS" @@ -94718,7 +95310,7 @@ esac || as_fn_error 1 "cannot find input file: '$ac_f'" "$LINENO" 5;; esac - case $ac_f in *\'*) ac_f=`printf '%s\n' "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac + case $ac_f in *\'*) ac_f=`printf "%s\n" "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" done @@ -94726,17 +95318,17 @@ # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input='Generated from '` - printf '%s\n' "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' `' by configure.' if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 -printf '%s\n' "$as_me: creating $ac_file" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} fi # Neutralize special characters interpreted by sed in replacement strings. case $configure_input in #( *\&* | *\|* | *\\* ) - ac_sed_conf_input=`printf '%s\n' "$configure_input" | + ac_sed_conf_input=`printf "%s\n" "$configure_input" | sed 's/[\\\\&|]/\\\\&/g'`;; #( *) ac_sed_conf_input=$configure_input;; esac @@ -94753,7 +95345,7 @@ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || -printf '%s\n' X"$ac_file" | +printf "%s\n" X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q @@ -94777,9 +95369,9 @@ case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) - ac_dir_suffix=/`printf '%s\n' "$ac_dir" | sed 's|^\.[\\/]||'` + ac_dir_suffix=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`printf '%s\n' "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + ac_top_builddir_sub=`printf "%s\n" "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; @@ -94815,7 +95407,7 @@ _ACEOF -cat >>"$CONFIG_STATUS" <<\_ACEOF || ac_write_fail=1 +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= @@ -94832,10 +95424,10 @@ case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 -printf '%s\n' "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF -cat >>"$CONFIG_STATUS" <<_ACEOF || ac_write_fail=1 +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_datarootdir_hack=' s&@datadir@&$datadir&g s&@docdir@&$docdir&g @@ -94849,11 +95441,11 @@ # Neutralize VPATH when '$srcdir' = '.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? -cat >>"$CONFIG_STATUS" <<_ACEOF || ac_write_fail=1 +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_sed_extra="$ac_vpsub $extrasub _ACEOF -cat >>"$CONFIG_STATUS" <<\_ACEOF || ac_write_fail=1 +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s|@configure_input@|$ac_sed_conf_input|;t t @@ -94875,9 +95467,9 @@ { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ "$ac_tmp/out"`; test -z "$ac_out"; } && - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable 'datarootdir' + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable 'datarootdir' which seems to be undefined. Please make sure it is defined" >&5 -printf '%s\n' "$as_me: WARNING: $ac_file contains a reference to the variable 'datarootdir' +printf "%s\n" "$as_me: WARNING: $ac_file contains a reference to the variable 'datarootdir' which seems to be undefined. Please make sure it is defined" >&2;} rm -f "$ac_tmp/stdin" @@ -94893,27 +95485,27 @@ # if test x"$ac_file" != x-; then { - printf '%s\n' "/* $configure_input */" >&1 \ + printf "%s\n" "/* $configure_input */" >&1 \ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" } >"$ac_tmp/config.h" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 -printf '%s\n' "$as_me: $ac_file is unchanged" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 +printf "%s\n" "$as_me: $ac_file is unchanged" >&6;} else rm -f "$ac_file" mv "$ac_tmp/config.h" "$ac_file" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 fi else - printf '%s\n' "/* $configure_input */" >&1 \ + printf "%s\n" "/* $configure_input */" >&1 \ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ || as_fn_error $? "could not create -" "$LINENO" 5 fi ;; - :C) { printf '%s\n' "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 -printf '%s\n' "$as_me: executing $ac_file commands" >&6;} + :C) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 +printf "%s\n" "$as_me: executing $ac_file commands" >&6;} ;; esac @@ -94925,7 +95517,7 @@ else case e in #( e) if test "x$APACHE_THREADED_MPM" = xno then : - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: WARNING: + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: +--------------------------------------------------------------------+ | *** WARNING *** | | | @@ -94934,7 +95526,7 @@ | PHP with --enable-zts | +--------------------------------------------------------------------+ " >&5 -printf '%s\n' "$as_me: WARNING: +printf "%s\n" "$as_me: WARNING: +--------------------------------------------------------------------+ | *** WARNING *** | | | @@ -94974,7 +95566,7 @@ as_fn_exit 0 _ACEOF -ac_clean_CONFIG_STATUS= +ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 @@ -94990,26 +95582,19 @@ # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: - case $CONFIG_STATUS in #( - -*) : - ac_no_opts=-- ;; #( - *) : - ac_no_opts= ;; -esac ac_config_status_args= test "$silent" = yes && ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null - $SHELL $ac_no_opts "$CONFIG_STATUS" $ac_config_status_args || - ac_cs_success=false + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || as_fn_exit 1 fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then - { printf '%s\n' "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 -printf '%s\n' "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi diff -Nru php8.4-8.4.24/configure.ac php8.4-8.4.26/configure.ac --- php8.4-8.4.24/configure.ac 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/configure.ac 2026-09-22 15:00:02.000000000 +0000 @@ -17,7 +17,7 @@ dnl ---------------------------------------------------------------------------- AC_PREREQ([2.68]) -AC_INIT([PHP],[8.4.24],[https://github.com/php/php-src/issues],[php],[https://www.php.net]) +AC_INIT([PHP],[8.4.26],[https://github.com/php/php-src/issues],[php],[https://www.php.net]) AC_CONFIG_SRCDIR([main/php_version.h]) AC_CONFIG_AUX_DIR([build]) AC_PRESERVE_HELP_ORDER diff -Nru php8.4-8.4.24/debian/changelog php8.4-8.4.26/debian/changelog --- php8.4-8.4.24/debian/changelog 2026-07-31 05:11:11.000000000 +0000 +++ php8.4-8.4.26/debian/changelog 2026-09-24 17:16:18.000000000 +0000 @@ -1,3 +1,31 @@ +php8.4 (8.4.26-1~deb13u1) trixie-security; urgency=high + + * New upstream version 8.4.26 + + [CVE-2026-91768]: IPv6 ACL bypass in FastCGI listen.allowed_clients + due to partial address comparison. + + [CVE-2025-1218]: Various packet overreads in mysqlnd wire protocol. + + [CVE-2026-91769]: TLS hostname verification falls back to CN after + SAN mismatch. + + [CVE-2026-91767]: Heap buffer overflow in + php_openssl_matches_wildcard_name() on crafted server certificate + wildcard CN. + + [CVE-2026-6103]: Integer overflow in phar_tar_number() allowing TAR + archive entry injection. + + [CVE-2026-91765]: Unbounded recursion in server-side + cleanup_xml_node(). + + [CVE-2025-14181]: Integer overflow to buffer overflow in SOAP HTTP + parsing. + + [CVE-2026-93682]: Out-of-bounds read in the HTTP stream wrapper when + following a redirect with an empty Location header. + + [CVE-2026-92842]: Out-of-bounds read in convert.* stream filters when + line-break-chars contains NUL. + + [CVE-2026-91766]: Cross-origin credential leak in HTTP stream wrapper + redirects. + + [CVE-2026-17545]: Reserved device names are not rejected before file + and stream I/O. + + -- Ondřej Surý Thu, 24 Sep 2026 19:16:18 +0200 + php8.4 (8.4.24-1~deb13u1) trixie-security; urgency=high * New upstream version 8.4.24 (Closes: #1143153) diff -Nru php8.4-8.4.24/debian/patches/0001-libtool_fixes.patch php8.4-8.4.26/debian/patches/0001-libtool_fixes.patch --- php8.4-8.4.24/debian/patches/0001-libtool_fixes.patch 2026-07-31 05:11:11.000000000 +0000 +++ php8.4-8.4.26/debian/patches/0001-libtool_fixes.patch 2026-09-24 17:16:18.000000000 +0000 @@ -7,7 +7,7 @@ 1 file changed, 2 deletions(-) diff --git a/configure.ac b/configure.ac -index 49d7ffe..8b42844 100644 +index 9b846d4..b34a18e 100644 --- a/configure.ac +++ b/configure.ac @@ -1573,8 +1573,6 @@ AC_PROVIDE_IFELSE([PHP_REQUIRE_CXX], [], [ diff -Nru php8.4-8.4.24/debian/patches/0002-debian_quirks.patch php8.4-8.4.26/debian/patches/0002-debian_quirks.patch --- php8.4-8.4.24/debian/patches/0002-debian_quirks.patch 2026-07-31 05:11:11.000000000 +0000 +++ php8.4-8.4.26/debian/patches/0002-debian_quirks.patch 2026-09-24 17:16:18.000000000 +0000 @@ -13,7 +13,7 @@ 7 files changed, 20 insertions(+), 15 deletions(-) diff --git a/configure.ac b/configure.ac -index 8b42844..b3572d2 100644 +index b34a18e..991db8a 100644 --- a/configure.ac +++ b/configure.ac @@ -1130,7 +1130,7 @@ AS_VAR_IF([PHP_CLI], [no], [with_pear=no]) diff -Nru php8.4-8.4.24/debian/patches/0004-extension_api.patch php8.4-8.4.26/debian/patches/0004-extension_api.patch --- php8.4-8.4.24/debian/patches/0004-extension_api.patch 2026-07-31 05:11:11.000000000 +0000 +++ php8.4-8.4.26/debian/patches/0004-extension_api.patch 2026-09-24 17:16:18.000000000 +0000 @@ -8,7 +8,7 @@ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac -index b3572d2..1ade7e7 100644 +index 991db8a..60b2a91 100644 --- a/configure.ac +++ b/configure.ac @@ -1327,12 +1327,14 @@ ZEND_MODULE_API_NO=$($EGREP '#define ZEND_MODULE_API_NO ' $srcdir/Zend/zend_modu diff -Nru php8.4-8.4.24/debian/patches/0006-Add-support-for-use-of-the-system-timezone-database.patch php8.4-8.4.26/debian/patches/0006-Add-support-for-use-of-the-system-timezone-database.patch --- php8.4-8.4.24/debian/patches/0006-Add-support-for-use-of-the-system-timezone-database.patch 2026-07-31 05:11:11.000000000 +0000 +++ php8.4-8.4.26/debian/patches/0006-Add-support-for-use-of-the-system-timezone-database.patch 2026-09-24 17:16:18.000000000 +0000 @@ -44,7 +44,7 @@ 2 files changed, 545 insertions(+), 3 deletions(-) diff --git a/ext/date/config0.m4 b/ext/date/config0.m4 -index 5af6be1..bac3004 100644 +index 9bd80e4..7d111f0 100644 --- a/ext/date/config0.m4 +++ b/ext/date/config0.m4 @@ -4,6 +4,19 @@ AC_CHECK_HEADERS([io.h]) diff -Nru php8.4-8.4.24/debian/patches/0009-session_save_path.patch php8.4-8.4.26/debian/patches/0009-session_save_path.patch --- php8.4-8.4.24/debian/patches/0009-session_save_path.patch 2026-07-31 05:11:11.000000000 +0000 +++ php8.4-8.4.26/debian/patches/0009-session_save_path.patch 2026-09-24 17:16:18.000000000 +0000 @@ -8,10 +8,10 @@ 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ext/session/session.c b/ext/session/session.c -index 70e1673..1c69ca1 100644 +index 2073ea5..adde8d8 100644 --- a/ext/session/session.c +++ b/ext/session/session.c -@@ -897,7 +897,7 @@ static PHP_INI_MH(OnUpdateRefererCheck) +@@ -911,7 +911,7 @@ static PHP_INI_MH(OnUpdateRefererCheck) /* {{{ PHP_INI */ PHP_INI_BEGIN() diff -Nru php8.4-8.4.24/debian/patches/0012-php-fpm-sysconfdir.patch php8.4-8.4.26/debian/patches/0012-php-fpm-sysconfdir.patch --- php8.4-8.4.24/debian/patches/0012-php-fpm-sysconfdir.patch 2026-07-31 05:11:11.000000000 +0000 +++ php8.4-8.4.26/debian/patches/0012-php-fpm-sysconfdir.patch 2026-09-24 17:16:18.000000000 +0000 @@ -7,7 +7,7 @@ 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sapi/fpm/fpm/fpm_conf.c b/sapi/fpm/fpm/fpm_conf.c -index ac4343b..88c505d 100644 +index 590264c..ac736da 100644 --- a/sapi/fpm/fpm/fpm_conf.c +++ b/sapi/fpm/fpm/fpm_conf.c @@ -1852,7 +1852,7 @@ int fpm_conf_init_main(int test_conf, int force_daemon) /* {{{ */ diff -Nru php8.4-8.4.24/debian/patches/0013-lp564920-fix-big-files.patch php8.4-8.4.26/debian/patches/0013-lp564920-fix-big-files.patch --- php8.4-8.4.24/debian/patches/0013-lp564920-fix-big-files.patch 2026-07-31 05:11:11.000000000 +0000 +++ php8.4-8.4.26/debian/patches/0013-lp564920-fix-big-files.patch 2026-09-24 17:16:18.000000000 +0000 @@ -7,10 +7,10 @@ 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/main/streams/plain_wrapper.c b/main/streams/plain_wrapper.c -index 85771ea..aaa8518 100644 +index b6c117c..e6a7c09 100644 --- a/main/streams/plain_wrapper.c +++ b/main/streams/plain_wrapper.c -@@ -767,7 +767,13 @@ static int php_stdiop_set_option(php_stream *stream, int option, int value, void +@@ -796,7 +796,13 @@ static int php_stdiop_set_option(php_stream *stream, int option, int value, void switch (value) { case PHP_STREAM_MMAP_SUPPORTED: diff -Nru php8.4-8.4.24/debian/patches/0016-php-5.3.3-macropen.patch php8.4-8.4.26/debian/patches/0016-php-5.3.3-macropen.patch --- php8.4-8.4.24/debian/patches/0016-php-5.3.3-macropen.patch 2026-07-31 05:11:11.000000000 +0000 +++ php8.4-8.4.26/debian/patches/0016-php-5.3.3-macropen.patch 2026-09-24 17:16:18.000000000 +0000 @@ -9,10 +9,10 @@ 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/ext/dba/dba.c b/ext/dba/dba.c -index 7982e42..c4b988c 100644 +index 29e996e..d22f7d6 100644 --- a/ext/dba/dba.c +++ b/ext/dba/dba.c -@@ -917,7 +917,7 @@ static void php_dba_open(INTERNAL_FUNCTION_PARAMETERS, bool persistent) +@@ -937,7 +937,7 @@ static void php_dba_open(INTERNAL_FUNCTION_PARAMETERS, bool persistent) } } diff -Nru php8.4-8.4.24/debian/patches/0020-Use-system-timezone.patch php8.4-8.4.26/debian/patches/0020-Use-system-timezone.patch --- php8.4-8.4.24/debian/patches/0020-Use-system-timezone.patch 2026-07-31 05:11:11.000000000 +0000 +++ php8.4-8.4.26/debian/patches/0020-Use-system-timezone.patch 2026-09-24 17:16:18.000000000 +0000 @@ -14,10 +14,10 @@ 1 file changed, 17 insertions(+) diff --git a/ext/date/php_date.c b/ext/date/php_date.c -index 94ffd97..172e2f0 100644 +index 6773fa9..5ff412a 100644 --- a/ext/date/php_date.c +++ b/ext/date/php_date.c -@@ -566,6 +566,23 @@ static const char* guess_timezone(const timelib_tzdb *tzdb) +@@ -560,6 +560,23 @@ static const char* guess_timezone(const timelib_tzdb *tzdb) } else if (*DATEG(default_timezone)) { return DATEG(default_timezone); } diff -Nru php8.4-8.4.24/debian/patches/0023-php-5.4.9-fixheader.patch php8.4-8.4.26/debian/patches/0023-php-5.4.9-fixheader.patch --- php8.4-8.4.24/debian/patches/0023-php-5.4.9-fixheader.patch 2026-07-31 05:11:11.000000000 +0000 +++ php8.4-8.4.26/debian/patches/0023-php-5.4.9-fixheader.patch 2026-09-24 17:16:18.000000000 +0000 @@ -8,7 +8,7 @@ 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac -index 1ade7e7..6b0d761 100644 +index 60b2a91..3b153eb 100644 --- a/configure.ac +++ b/configure.ac @@ -1398,8 +1398,8 @@ EXTRA_LDFLAGS_PROGRAM="$EXTRA_LDFLAGS_PROGRAM $PHP_LDFLAGS" diff -Nru php8.4-8.4.24/debian/patches/0025-php-5.6.0-oldpcre.patch php8.4-8.4.26/debian/patches/0025-php-5.6.0-oldpcre.patch --- php8.4-8.4.24/debian/patches/0025-php-5.6.0-oldpcre.patch 2026-07-31 05:11:11.000000000 +0000 +++ php8.4-8.4.26/debian/patches/0025-php-5.6.0-oldpcre.patch 2026-09-24 17:16:18.000000000 +0000 @@ -8,7 +8,7 @@ 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/ext/pcre/tests/grep2.phpt b/ext/pcre/tests/grep2.phpt -index 9721dfb..4c35ec3 100644 +index a953b13..c0e8ee2 100644 --- a/ext/pcre/tests/grep2.phpt +++ b/ext/pcre/tests/grep2.phpt @@ -36,12 +36,6 @@ diff -Nru php8.4-8.4.24/debian/patches/0028-Really-expand-libdir-datadir-into-EXPANDED_LIBDIR-DA.patch php8.4-8.4.26/debian/patches/0028-Really-expand-libdir-datadir-into-EXPANDED_LIBDIR-DA.patch --- php8.4-8.4.24/debian/patches/0028-Really-expand-libdir-datadir-into-EXPANDED_LIBDIR-DA.patch 2026-07-31 05:11:11.000000000 +0000 +++ php8.4-8.4.26/debian/patches/0028-Really-expand-libdir-datadir-into-EXPANDED_LIBDIR-DA.patch 2026-09-24 17:16:18.000000000 +0000 @@ -7,7 +7,7 @@ 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac -index 6b0d761..fc7f49e 100644 +index 3b153eb..35af5d1 100644 --- a/configure.ac +++ b/configure.ac @@ -1358,9 +1358,9 @@ EXPANDED_LOCALSTATEDIR=$(eval echo $localstatedir) diff -Nru php8.4-8.4.24/debian/patches/0037-Lower-the-OpenSSL-requirement-to-1.0.1.patch php8.4-8.4.26/debian/patches/0037-Lower-the-OpenSSL-requirement-to-1.0.1.patch --- php8.4-8.4.24/debian/patches/0037-Lower-the-OpenSSL-requirement-to-1.0.1.patch 2026-07-31 05:11:11.000000000 +0000 +++ php8.4-8.4.26/debian/patches/0037-Lower-the-OpenSSL-requirement-to-1.0.1.patch 2026-09-24 17:16:18.000000000 +0000 @@ -11,10 +11,10 @@ 5 files changed, 22 insertions(+), 4 deletions(-) diff --git a/build/php.m4 b/build/php.m4 -index d8a5cbf..74a9989 100644 +index 1e0b282..94e22a6 100644 --- a/build/php.m4 +++ b/build/php.m4 -@@ -1808,7 +1808,7 @@ dnl +@@ -1812,7 +1812,7 @@ dnl AC_DEFUN([PHP_SETUP_OPENSSL],[ found_openssl=no @@ -37,7 +37,7 @@ PHP_ARG_WITH([system-ciphers], [whether to use system default cipher list instead of hardcoded value], diff --git a/ext/openssl/openssl.c b/ext/openssl/openssl.c -index 8a0d58d..5a47c09 100644 +index 36d5a7c..9b8af51 100644 --- a/ext/openssl/openssl.c +++ b/ext/openssl/openssl.c @@ -96,7 +96,7 @@ @@ -64,7 +64,7 @@ #else #if PHP_OPENSSL_API_VERSION >= 0x30000 && defined(LOAD_OPENSSL_LEGACY_PROVIDER) diff --git a/ext/openssl/php_openssl.h b/ext/openssl/php_openssl.h -index 134081f..f4ded12 100644 +index ece57ef..ae75533 100644 --- a/ext/openssl/php_openssl.h +++ b/ext/openssl/php_openssl.h @@ -35,7 +35,9 @@ extern zend_module_entry openssl_module_entry; @@ -79,7 +79,7 @@ #elif OPENSSL_VERSION_NUMBER < 0x30200000L #define PHP_OPENSSL_API_VERSION 0x30000 diff --git a/ext/openssl/xp_ssl.c b/ext/openssl/xp_ssl.c -index ec41379..ebc8313 100644 +index ae12c8e..0abef56 100644 --- a/ext/openssl/xp_ssl.c +++ b/ext/openssl/xp_ssl.c @@ -33,8 +33,11 @@ @@ -105,7 +105,7 @@ #ifndef LIBRESSL_VERSION_NUMBER #define HAVE_SEC_LEVEL 1 -@@ -1312,8 +1317,12 @@ static zend_result php_openssl_set_server_ecdh_curve(php_stream *stream, SSL_CTX +@@ -1333,8 +1338,12 @@ static zend_result php_openssl_set_server_ecdh_curve(php_stream *stream, SSL_CTX zvcurve = php_stream_context_get_option(PHP_STREAM_CONTEXT(stream), "ssl", "ecdh_curve"); if (zvcurve == NULL) { diff -Nru php8.4-8.4.24/debian/patches/0038-Override-result-of-AC_PROG_LN_S-to-fix-FTBFS-on-ppc6.patch php8.4-8.4.26/debian/patches/0038-Override-result-of-AC_PROG_LN_S-to-fix-FTBFS-on-ppc6.patch --- php8.4-8.4.24/debian/patches/0038-Override-result-of-AC_PROG_LN_S-to-fix-FTBFS-on-ppc6.patch 2026-07-31 05:11:11.000000000 +0000 +++ php8.4-8.4.26/debian/patches/0038-Override-result-of-AC_PROG_LN_S-to-fix-FTBFS-on-ppc6.patch 2026-09-24 17:16:18.000000000 +0000 @@ -7,7 +7,7 @@ 1 file changed, 5 insertions(+) diff --git a/configure.ac b/configure.ac -index fc7f49e..cfc1305 100644 +index 35af5d1..1fbcbdc 100644 --- a/configure.ac +++ b/configure.ac @@ -122,6 +122,11 @@ AC_PROG_CPP diff -Nru php8.4-8.4.24/debian/patches/0041-Remove-timestamps-from-phar.patch php8.4-8.4.26/debian/patches/0041-Remove-timestamps-from-phar.patch --- php8.4-8.4.24/debian/patches/0041-Remove-timestamps-from-phar.patch 2026-07-31 05:11:11.000000000 +0000 +++ php8.4-8.4.26/debian/patches/0041-Remove-timestamps-from-phar.patch 2026-09-24 17:16:18.000000000 +0000 @@ -11,10 +11,10 @@ 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ext/phar/phar.c b/ext/phar/phar.c -index 7650478..f807094 100644 +index fc21692..e290c2b 100644 --- a/ext/phar/phar.c +++ b/ext/phar/phar.c -@@ -2965,7 +2965,7 @@ void phar_flush_ex(phar_archive_data *phar, zend_string *user_stub, bool is_defa +@@ -2945,7 +2945,7 @@ int phar_flush_ex(phar_archive_data *phar, zend_string *user_stub, bool is_defau 4: metadata-len +: metadata */ @@ -24,10 +24,10 @@ phar_set_32(entry_buffer+4, mytime); phar_set_32(entry_buffer+8, entry->compressed_filesize); diff --git a/ext/phar/util.c b/ext/phar/util.c -index e49e15a..91dd417 100644 +index f4de992..a2393eb 100644 --- a/ext/phar/util.c +++ b/ext/phar/util.c -@@ -701,7 +701,7 @@ phar_entry_data *phar_get_or_create_entry_data(char *fname, size_t fname_len, ch +@@ -730,7 +730,7 @@ phar_entry_data *phar_get_or_create_entry_data(char *fname, size_t fname_len, ch phar_add_virtual_dirs(phar, path, path_len); etemp.is_modified = 1; diff -Nru php8.4-8.4.24/debian/patches/0046-Add-enable-rtld-deepbind-configure-flag.patch php8.4-8.4.26/debian/patches/0046-Add-enable-rtld-deepbind-configure-flag.patch --- php8.4-8.4.24/debian/patches/0046-Add-enable-rtld-deepbind-configure-flag.patch 2026-07-31 05:11:11.000000000 +0000 +++ php8.4-8.4.26/debian/patches/0046-Add-enable-rtld-deepbind-configure-flag.patch 2026-09-24 17:16:18.000000000 +0000 @@ -8,7 +8,7 @@ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/Zend/zend_portability.h b/Zend/zend_portability.h -index e419540..44d4daf 100644 +index cd58387..0ea1ef7 100644 --- a/Zend/zend_portability.h +++ b/Zend/zend_portability.h @@ -161,7 +161,7 @@ @@ -21,7 +21,7 @@ # else # define DL_LOAD(libname) dlopen(libname, PHP_RTLD_MODE | RTLD_GLOBAL) diff --git a/configure.ac b/configure.ac -index cfc1305..38d4fca 100644 +index 1fbcbdc..ea072b5 100644 --- a/configure.ac +++ b/configure.ac @@ -867,6 +867,23 @@ AS_VAR_IF([PHP_RTLD_NOW], [yes], diff -Nru php8.4-8.4.24/ext/bcmath/libbcmath/src/zero.c php8.4-8.4.26/ext/bcmath/libbcmath/src/zero.c --- php8.4-8.4.24/ext/bcmath/libbcmath/src/zero.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/bcmath/libbcmath/src/zero.c 2026-09-22 15:00:02.000000000 +0000 @@ -45,6 +45,10 @@ return true; } + if (scale > num->n_scale) { + scale = num->n_scale; + } + /* Initialize */ count = num->n_len + scale; nptr = num->n_value; diff -Nru php8.4-8.4.24/ext/bcmath/tests/bc_is_zero_for_scale_clamp.phpt php8.4-8.4.26/ext/bcmath/tests/bc_is_zero_for_scale_clamp.phpt --- php8.4-8.4.24/ext/bcmath/tests/bc_is_zero_for_scale_clamp.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/bcmath/tests/bc_is_zero_for_scale_clamp.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,12 @@ +--TEST-- +bc_is_zero_for_scale clamps scale to n_scale (Number::compare opposite signs) +--EXTENSIONS-- +bcmath +--FILE-- +sub('1.0'); +$longNegative = new BcMath\Number('-0.' . str_repeat('0', 64) . '1'); +var_dump($shortZero->compare($longNegative, 64)); +?> +--EXPECT-- +int(0) diff -Nru php8.4-8.4.24/ext/bz2/tests/gh20807.phpt php8.4-8.4.26/ext/bz2/tests/gh20807.phpt --- php8.4-8.4.24/ext/bz2/tests/gh20807.phpt 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/bz2/tests/gh20807.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -12,6 +12,12 @@ if (PHP_OS_FAMILY === 'Darwin') die('skip Too slow'); if (PHP_INT_SIZE !== 8) die('skip Only for 64-bit systems'); if (getenv('SKIP_ASAN')) die('skip ASAN makes this test too slow'); +// The decompressed output needs more than 12 GiB of memory at its peak, which +// takes down smaller machines (e.g. 7 GB CI runners) with the OOM killer. +$memInfo = @file_get_contents('/proc/meminfo'); +if ($memInfo && preg_match('/MemAvailable:\s+(\d+) kB/', $memInfo, $m) && $m[1] < 13 * 1024 * 1024) { + die('skip Insufficient available memory (less than 13 GiB)'); +} ?> --FILE-- cp); @@ -450,6 +449,7 @@ return &clone_ch->std; } + init_curl_handle(clone_ch); clone_ch->cp = cp; _php_setup_easy_copy_handlers(clone_ch, ch); @@ -770,6 +770,7 @@ zend_value_error("The CURLOPT_PREREQFUNCTION callback must return either CURL_PREREQFUNC_OK or CURL_PREREQFUNC_ABORT"); } } else { + zval_ptr_dtor(&retval); zend_type_error("The CURLOPT_PREREQFUNCTION callback must return either CURL_PREREQFUNC_OK or CURL_PREREQFUNC_ABORT"); } } diff -Nru php8.4-8.4.24/ext/curl/tests/curl_setopt_CURLOPT_PREREQFUNCTION.phpt php8.4-8.4.26/ext/curl/tests/curl_setopt_CURLOPT_PREREQFUNCTION.phpt --- php8.4-8.4.24/ext/curl/tests/curl_setopt_CURLOPT_PREREQFUNCTION.phpt 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/curl/tests/curl_setopt_CURLOPT_PREREQFUNCTION.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -77,7 +77,7 @@ echo "\nTesting with invalid type\n"; curl_setopt($ch, CURLOPT_PREREQFUNCTION, function() use ($port) { - return 'this should be an integer'; + return ['this should be an integer' => random_bytes(64)]; }); try { curl_exec($ch); diff -Nru php8.4-8.4.24/ext/date/php_date.c php8.4-8.4.26/ext/date/php_date.c --- php8.4-8.4.24/ext/date/php_date.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/date/php_date.c 2026-09-22 15:00:02.000000000 +0000 @@ -5226,6 +5226,23 @@ } } +static void date_period_reset(php_period_obj *period_obj) +{ + if (period_obj->start) { + timelib_time_dtor(period_obj->start); + } + if (period_obj->current) { + timelib_time_dtor(period_obj->current); + } + if (period_obj->end) { + timelib_time_dtor(period_obj->end); + } + if (period_obj->interval) { + timelib_rel_time_dtor(period_obj->interval); + } + memset(period_obj, 0, XtOffsetOf(php_period_obj, std)); +} + /* {{{ Creates new DatePeriod object. */ PHP_METHOD(DatePeriod, __construct) { @@ -5247,7 +5264,7 @@ } dpobj = Z_PHPPERIOD_P(ZEND_THIS); - dpobj->current = NULL; + date_period_reset(dpobj); if (isostr) { zend_error(E_DEPRECATED, "Calling DatePeriod::__construct(string $isostr, int $options = 0) is deprecated, " @@ -5265,6 +5282,7 @@ if (end) { DATE_CHECK_INITIALIZED(Z_PHPDATE_P(end)->time, date_ce_interface); } + DATE_CHECK_INITIALIZED(Z_PHPINTERVAL_P(interval)->initialized, Z_OBJCE_P(interval)); /* init */ php_interval_obj *intobj = Z_PHPINTERVAL_P(interval); diff -Nru php8.4-8.4.24/ext/date/tests/DatePeriod_double_constructor_call.phpt php8.4-8.4.26/ext/date/tests/DatePeriod_double_constructor_call.phpt --- php8.4-8.4.24/ext/date/tests/DatePeriod_double_constructor_call.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/date/tests/DatePeriod_double_constructor_call.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,14 @@ +--TEST-- +Double DatePeriod::__construct() call +--FILE-- +__construct($start, $interval, 1); + +?> +===DONE=== +--EXPECT-- +===DONE=== diff -Nru php8.4-8.4.24/ext/dom/element.c php8.4-8.4.26/ext/dom/element.c --- php8.4-8.4.24/ext/dom/element.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/dom/element.c 2026-09-22 15:00:02.000000000 +0000 @@ -468,6 +468,8 @@ break; case XML_NAMESPACE_DECL: RETURN_FALSE; + case XML_ATTRIBUTE_DECL: + break; EMPTY_SWITCH_DEFAULT_CASE(); } } @@ -595,6 +597,8 @@ break; } + case XML_ATTRIBUTE_DECL: + return false; EMPTY_SWITCH_DEFAULT_CASE(); } return true; @@ -722,11 +726,17 @@ nsp = attrp->ns; if (use_ns && nsp != NULL) { existattrp = xmlHasNsProp(nodep, attrp->name, nsp->href); + } else if (nsp == NULL) { + existattrp = xmlHasNsProp(nodep, attrp->name, NULL); } else { existattrp = xmlHasProp(nodep, attrp->name); } - if (existattrp != NULL && existattrp->type != XML_ATTRIBUTE_DECL) { + if (existattrp != NULL && existattrp->type == XML_ATTRIBUTE_DECL) { + existattrp = NULL; + } + + if (existattrp != NULL) { if ((oldobj = php_dom_object_get_data((xmlNodePtr) existattrp)) != NULL && ((php_libxml_node_ptr *)oldobj->ptr)->node == (xmlNodePtr) attrp) { @@ -1020,6 +1030,10 @@ if (errorcode == 0) { php_dom_libxml_ns_mapper *ns_mapper = php_dom_get_ns_mapper(intern); xmlNsPtr ns = php_dom_libxml_ns_mapper_get_ns_raw_prefix_string(ns_mapper, prefix, xmlStrlen(prefix), uri); + xmlNodePtr existing = (xmlNodePtr) xmlHasNsProp(elemp, localname, ns == NULL ? NULL : ns->href); + if (existing != NULL && existing->type != XML_ATTRIBUTE_DECL) { + node_list_unlink(existing->children); + } xmlAttrPtr attr = xmlSetNsProp(elemp, ns, localname, BAD_CAST value); if (UNEXPECTED(attr == NULL)) { php_dom_throw_error(INVALID_STATE_ERR, /* strict */ true); @@ -1788,8 +1802,7 @@ /* Step 5 */ if (force_is_null || !force) { - dom_remove_attribute(thisp, attribute); - retval = false; + retval = !dom_remove_attribute(thisp, attribute); goto out; } diff -Nru php8.4-8.4.24/ext/dom/namednodemap.c php8.4-8.4.26/ext/dom/namednodemap.c --- php8.4-8.4.24/ext/dom/namednodemap.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/dom/namednodemap.c 2026-09-22 15:00:02.000000000 +0000 @@ -213,6 +213,9 @@ objmap = (dom_nnodemap_object *)intern->ptr; if (objmap != NULL) { + if (urilen == 0 && objmap->baseobj != NULL && objmap->nodetype != XML_NOTATION_NODE && objmap->nodetype != XML_ENTITY_NODE && php_dom_follow_spec_intern(objmap->baseobj)) { + uri = NULL; + } if ((objmap->nodetype == XML_NOTATION_NODE) || objmap->nodetype == XML_ENTITY_NODE) { if (objmap->ht) { @@ -229,6 +232,9 @@ nodep = dom_object_get_node(objmap->baseobj); if (nodep) { itemnode = (xmlNodePtr)xmlHasNsProp(nodep, BAD_CAST named, BAD_CAST uri); + if (itemnode != NULL && itemnode->type == XML_ATTRIBUTE_DECL) { + itemnode = NULL; + } } } } diff -Nru php8.4-8.4.24/ext/dom/node.c php8.4-8.4.26/ext/dom/node.c --- php8.4-8.4.24/ext/dom/node.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/dom/node.c 2026-09-22 15:00:02.000000000 +0000 @@ -965,7 +965,7 @@ xmlAttrPtr lastattr; if (child->ns == NULL) - lastattr = xmlHasProp(refp->parent, child->name); + lastattr = xmlHasNsProp(refp->parent, child->name, NULL); else lastattr = xmlHasNsProp(refp->parent, child->name, child->ns->href); if (lastattr != NULL && lastattr->type != XML_ATTRIBUTE_DECL) { @@ -1012,7 +1012,7 @@ xmlAttrPtr lastattr; if (child->ns == NULL) - lastattr = xmlHasProp(parentp, child->name); + lastattr = xmlHasNsProp(parentp, child->name, NULL); else lastattr = xmlHasNsProp(parentp, child->name, child->ns->href); if (lastattr != NULL && lastattr->type != XML_ATTRIBUTE_DECL) { @@ -1374,7 +1374,7 @@ xmlAttrPtr lastattr; if (child->ns == NULL) - lastattr = xmlHasProp(nodep, child->name); + lastattr = xmlHasNsProp(nodep, child->name, NULL); else lastattr = xmlHasNsProp(nodep, child->name, child->ns->href); if (lastattr != NULL && lastattr->type != XML_ATTRIBUTE_DECL) { @@ -1730,11 +1730,27 @@ && php_dom_node_is_content_equal((const xmlNode *) this_attr, (const xmlNode *) other_attr); } +static zend_always_inline bool php_dom_node_is_equal_node_check_stack_limit(void) +{ +#ifdef ZEND_CHECK_STACK_LIMIT + return zend_call_stack_overflowed(EG(stack_limit)); +#else + return false; +#endif +} + static bool php_dom_node_is_equal_node(const xmlNode *this, const xmlNode *other, bool spec_compliant) { ZEND_ASSERT(this != NULL); ZEND_ASSERT(other != NULL); + if (UNEXPECTED(php_dom_node_is_equal_node_check_stack_limit())) { + if (!EG(exception)) { + zend_throw_error(NULL, "Maximum call stack size reached."); + } + return false; + } + if (this->type != other->type) { return false; } @@ -1795,6 +1811,7 @@ zval *id, *node; xmlNodePtr otherp, nodep; dom_object *intern; + bool result; id = ZEND_THIS; ZEND_PARSE_PARAMETERS_START(1, 1) @@ -1817,7 +1834,11 @@ RETURN_BOOL(nodep == NULL && otherp == NULL); } - RETURN_BOOL(php_dom_node_is_equal_node(nodep, otherp, modern)); + result = php_dom_node_is_equal_node(nodep, otherp, modern); + if (UNEXPECTED(EG(exception))) { + RETURN_THROWS(); + } + RETURN_BOOL(result); } PHP_METHOD(DOMNode, isEqualNode) diff -Nru php8.4-8.4.24/ext/dom/php_dom.c php8.4-8.4.26/ext/dom/php_dom.c --- php8.4-8.4.24/ext/dom/php_dom.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/dom/php_dom.c 2026-09-22 15:00:02.000000000 +0000 @@ -146,7 +146,7 @@ static zend_object *dom_objects_namespace_node_new(zend_class_entry *class_type); static void dom_object_namespace_node_free_storage(zend_object *object); -static xmlNodePtr php_dom_create_fake_namespace_decl_node_ptr(xmlNodePtr nodep, xmlNsPtr original); +static xmlNodePtr php_dom_create_fake_namespace_decl_node_ptr(xmlNodePtr nodep, xmlNsPtr original, xmlDocPtr fallback_doc); typedef zend_result (*dom_read_t)(dom_object *obj, zval *retval); typedef zend_result (*dom_write_t)(dom_object *obj, zval *newval); @@ -705,7 +705,8 @@ xmlNodePtr original_node = dom_object_get_node(&intern->dom); if (original_node != NULL) { ZEND_ASSERT(original_node->type == XML_NAMESPACE_DECL); - xmlNodePtr cloned_node = php_dom_create_fake_namespace_decl_node_ptr(original_node->parent, original_node->ns); + xmlNodePtr parent = intern->parent_intern ? dom_object_get_node(intern->parent_intern) : NULL; + xmlNodePtr cloned_node = php_dom_create_fake_namespace_decl_node_ptr(parent, original_node->ns, original_node->doc); dom_update_refcount_after_clone(&intern->dom, original_node, &clone_intern->dom, cloned_node); } @@ -1436,14 +1437,13 @@ dom_object *wrapper; while (node != NULL) { + xmlNodePtr next = node->next; wrapper = php_dom_object_get_data(node); if (wrapper != NULL ) { xmlUnlinkNode(node); - } else { - if (node->type == XML_ENTITY_REF_NODE) - break; + } else if (node->type != XML_ENTITY_REF_NODE) { node_list_unlink(node->children); switch (node->type) { @@ -1460,7 +1460,7 @@ } - node = node->next; + node = next; } } /* }}} end node_list_unlink */ @@ -1966,9 +1966,26 @@ } } +static zend_always_inline bool dom_normalize_check_stack_limit(void) +{ +#ifdef ZEND_CHECK_STACK_LIMIT + if (UNEXPECTED(zend_call_stack_overflowed(EG(stack_limit)))) { + if (!EG(exception)) { + zend_throw_error(NULL, "Maximum call stack size reached. Infinite recursion?"); + } + return true; + } +#endif + return false; +} + /* {{{ void php_dom_normalize_legacy(xmlNodePtr nodep) */ void php_dom_normalize_legacy(xmlNodePtr nodep) { + if (UNEXPECTED(dom_normalize_check_stack_limit())) { + return; + } + xmlNodePtr child = nodep->children; while(child != NULL) { switch (child->type) { @@ -2001,6 +2018,10 @@ /* https://dom.spec.whatwg.org/#dom-node-normalize */ void php_dom_normalize_modern(xmlNodePtr this) { + if (UNEXPECTED(dom_normalize_check_stack_limit())) { + return; + } + /* for each descendant exclusive Text node node of this: */ xmlNodePtr node = this->children; while (node != NULL) { @@ -2297,15 +2318,16 @@ } /* }}} end dom_get_nsdecl */ -static xmlNodePtr php_dom_create_fake_namespace_decl_node_ptr(xmlNodePtr nodep, xmlNsPtr original) +static xmlNodePtr php_dom_create_fake_namespace_decl_node_ptr(xmlNodePtr nodep, xmlNsPtr original, xmlDocPtr fallback_doc) { xmlNodePtr attrp; + xmlDocPtr doc = nodep ? nodep->doc : fallback_doc; xmlNsPtr curns = xmlNewNs(NULL, original->href, NULL); if (original->prefix) { curns->prefix = xmlStrdup(original->prefix); - attrp = xmlNewDocNode(nodep->doc, NULL, BAD_CAST original->prefix, original->href); + attrp = xmlNewDocNode(doc, NULL, BAD_CAST original->prefix, original->href); } else { - attrp = xmlNewDocNode(nodep->doc, NULL, BAD_CAST "xmlns", original->href); + attrp = xmlNewDocNode(doc, NULL, BAD_CAST "xmlns", original->href); } attrp->type = XML_NAMESPACE_DECL; attrp->parent = nodep; @@ -2316,7 +2338,7 @@ /* Note: Assumes the additional lifetime was already added in the caller. */ xmlNodePtr php_dom_create_fake_namespace_decl(xmlNodePtr nodep, xmlNsPtr original, zval *return_value, dom_object *parent_intern) { - xmlNodePtr attrp = php_dom_create_fake_namespace_decl_node_ptr(nodep, original); + xmlNodePtr attrp = php_dom_create_fake_namespace_decl_node_ptr(nodep, original, NULL); php_dom_create_object(attrp, return_value, parent_intern); /* This object must exist, because we just created an object for it via php_dom_create_object(). */ php_dom_namespace_node_obj_from_obj(Z_OBJ_P(return_value))->parent_intern = parent_intern; diff -Nru php8.4-8.4.24/ext/dom/tests/DOMDocument_relaxNGValidate_error2.phpt php8.4-8.4.26/ext/dom/tests/DOMDocument_relaxNGValidate_error2.phpt --- php8.4-8.4.24/ext/dom/tests/DOMDocument_relaxNGValidate_error2.phpt 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/dom/tests/DOMDocument_relaxNGValidate_error2.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -22,7 +22,7 @@ --EXPECTF-- Warning: DOMDocument::relaxNGValidate(): I/O %s : failed to load %s -Warning: DOMDocument::relaxNGValidate(): xmlRelaxNGParse: could not load %s/foo.rng in %s on line %d +Warning: DOMDocument::relaxNGValidate(): xmlRelaxNGParse: could not load %sfoo.rng in %s on line %d Warning: DOMDocument::relaxNGValidate(): Invalid RelaxNG in %s on line %d bool(false) diff -Nru php8.4-8.4.24/ext/dom/tests/dom_namespacenode_clone_xinclude.phpt php8.4-8.4.26/ext/dom/tests/dom_namespacenode_clone_xinclude.phpt --- php8.4-8.4.24/ext/dom/tests/dom_namespacenode_clone_xinclude.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/dom/tests/dom_namespacenode_clone_xinclude.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,44 @@ +--TEST-- +DOMNameSpaceNode clone after xinclude does not use a dangling parent +--EXTENSIONS-- +dom +--FILE-- +'); +$href = 'file:///' . ltrim(str_replace('\\', '/', $included), '/'); + +$doc = new DOMDocument(); +$doc->loadXML(' + + +'); + +$xpath = new DOMXPath($doc); +$xpath->registerNamespace('xi', 'http://www.w3.org/2001/XInclude'); +$xi = $xpath->query('//xi:include')->item(0); +$ns = $xpath->query('namespace::local', $xi)->item(0); + +$live = clone $ns; +echo "live clone: ", $live->nodeName, "\n"; +echo "live parent: ", $live->parentNode->nodeName, "\n"; + +$doc->xinclude(); + +$clone = clone $ns; +echo "after xinclude: ", $clone->nodeName, "\n"; +var_dump($clone->parentNode); +var_dump($clone->parentElement); +var_dump($clone->isConnected); +?> +--CLEAN-- + +--EXPECT-- +live clone: xmlns:local +live parent: xi:include +after xinclude: xmlns:local +NULL +NULL +bool(false) diff -Nru php8.4-8.4.24/ext/dom/tests/gh22447.phpt php8.4-8.4.26/ext/dom/tests/gh22447.phpt --- php8.4-8.4.24/ext/dom/tests/gh22447.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/dom/tests/gh22447.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,25 @@ +--TEST-- +GH-22447 (UAF at dom_objects_free_storage when setAttributeNode collides with a namespaced attribute of the same local name) +--EXTENSIONS-- +dom +--FILE-- +createAttribute("my-attribute"); +$container = $dom->appendChild($dom->createElement("container")); +$attribute2 = $dom->createAttribute("my-attribute"); +$attribute4 = $dom->createAttributeNS("urn:a", "my-attribute"); + +$container->setAttributeNode($attribute1); +$container->setAttributeNode($attribute4); + +var_dump($container->setAttributeNode($attribute2) === $attribute1); +var_dump($container->setAttributeNode($attribute1) === $attribute2); + +echo $dom->saveXml($container), PHP_EOL; +?> +--EXPECT-- +bool(true) +bool(true) + diff -Nru php8.4-8.4.24/ext/dom/tests/gh22825.phpt php8.4-8.4.26/ext/dom/tests/gh22825.phpt --- php8.4-8.4.24/ext/dom/tests/gh22825.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/dom/tests/gh22825.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,98 @@ +--TEST-- +GH-22825 (DOMElement::setAttribute() reaches EMPTY_SWITCH_DEFAULT_CASE() with DTD #FIXED default attributes) +--EXTENSIONS-- +dom +--FILE-- +', '', 'A'], + ['', '', 'A'], + ['', '', 'p:A'], +]; + +function element(string $attlist, string $root): DOMElement { + $doc = new DOMDocument(); + $doc->loadXML("$root"); + return $doc->documentElement; +} + +foreach ($cases as [$attlist, $root, $name]) { + echo "--- $attlist ---\n"; + + $el = element($attlist, $root); + echo "hasAttribute: "; + var_dump($el->hasAttribute($name)); + echo "getAttribute: "; + var_dump($el->getAttribute($name)); + + $el = element($attlist, $root); + $result = $el->setAttribute($name, 'v'); + echo "setAttribute: ", is_object($result) ? $result::class : var_export($result, true), "\n"; + echo "after setAttribute: ", trim($el->ownerDocument->saveXML($el)), "\n"; + + $el = element($attlist, $root); + echo "removeAttribute: "; + var_dump($el->removeAttribute($name)); + echo "still present after removeAttribute: "; + var_dump($el->hasAttribute($name)); + + $el = element($attlist, $root); + echo "toggleAttribute(false): "; + var_dump($el->toggleAttribute($name, false)); + echo "still present after toggleAttribute(false): "; + var_dump($el->hasAttribute($name)); + + $el = element($attlist, $root); + echo "toggleAttribute(true): "; + var_dump($el->toggleAttribute($name, true)); + echo "still present after toggleAttribute(true): "; + var_dump($el->hasAttribute($name)); + + $el = element($attlist, $root); + $attr = $el->ownerDocument->createAttribute($name); + $attr->value = 'z'; + echo "setAttributeNode: "; + var_dump($el->setAttributeNode($attr)); + echo "after setAttributeNode: ", trim($el->ownerDocument->saveXML($el)), "\n"; +} +?> +--EXPECT-- +--- --- +hasAttribute: bool(true) +getAttribute: string(1) "d" +setAttribute: DOMAttr +after setAttribute: +removeAttribute: bool(false) +still present after removeAttribute: bool(true) +toggleAttribute(false): bool(true) +still present after toggleAttribute(false): bool(true) +toggleAttribute(true): bool(true) +still present after toggleAttribute(true): bool(true) +setAttributeNode: NULL +after setAttributeNode: +--- --- +hasAttribute: bool(true) +getAttribute: string(1) "d" +setAttribute: DOMAttr +after setAttribute: +removeAttribute: bool(false) +still present after removeAttribute: bool(true) +toggleAttribute(false): bool(true) +still present after toggleAttribute(false): bool(true) +toggleAttribute(true): bool(true) +still present after toggleAttribute(true): bool(true) +setAttributeNode: NULL +after setAttributeNode: +--- --- +hasAttribute: bool(true) +getAttribute: string(1) "d" +setAttribute: DOMAttr +after setAttribute: +removeAttribute: bool(false) +still present after removeAttribute: bool(true) +toggleAttribute(false): bool(true) +still present after toggleAttribute(false): bool(true) +toggleAttribute(true): bool(true) +still present after toggleAttribute(true): bool(true) +setAttributeNode: NULL +after setAttributeNode: diff -Nru php8.4-8.4.24/ext/dom/tests/gh23116.phpt php8.4-8.4.26/ext/dom/tests/gh23116.phpt --- php8.4-8.4.24/ext/dom/tests/gh23116.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/dom/tests/gh23116.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,50 @@ +--TEST-- +GH-23116 (Stack overflow when normalizing a deeply nested DOMDocument) +--EXTENSIONS-- +dom +--SKIPIF-- + +--INI-- +zend.max_allowed_stack_size=256K +--FILE-- +createElement('root'); +for ($s = 0; $s < 2; $s++) { + $node = $doc->createElement('a'); + for ($i = 0; $i < 25000; $i++) { + $parent = $doc->createElement('a'); + $parent->appendChild($node); + $node = $parent; + } + $root->appendChild($node); +} +$doc->appendChild($root); + +try { + $doc->normalize(); +} catch (\Error $e) { + echo "normalize: ", $e::class, ": ", $e->getMessage(), "\n"; + var_dump($e->getPrevious()); +} + +try { + $doc->normalizeDocument(); +} catch (\Error $e) { + echo "normalizeDocument: ", $e::class, ": ", $e->getMessage(), "\n"; + var_dump($e->getPrevious()); +} +?> +--EXPECT-- +normalize: Error: Maximum call stack size reached. Infinite recursion? +NULL +normalizeDocument: Error: Maximum call stack size reached. Infinite recursion? +NULL diff -Nru php8.4-8.4.24/ext/dom/tests/gh23120.phpt php8.4-8.4.26/ext/dom/tests/gh23120.phpt --- php8.4-8.4.24/ext/dom/tests/gh23120.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/dom/tests/gh23120.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,42 @@ +--TEST-- +GH-23120 (Stack overflow when comparing deeply nested DOM nodes) +--EXTENSIONS-- +dom +--SKIPIF-- + +--INI-- +zend.max_allowed_stack_size=256K +--FILE-- +createElement('leaf', 'x'); + + for ($i = 0; $i < 10000; $i++) { + $parent = $doc->createElement('a'); + $parent->appendChild($node); + $node = $parent; + } + + $doc->appendChild($node); + return $doc; +} + +$doc1 = create_deep_document(); +$doc2 = create_deep_document(); + +try { + var_dump($doc1->documentElement->isEqualNode($doc2->documentElement)); +} catch (\Error $e) { + echo $e::class, ": ", $e->getMessage(), "\n"; +} +?> +--EXPECT-- +Error: Maximum call stack size reached. diff -Nru php8.4-8.4.24/ext/dom/tests/gh23331.phpt php8.4-8.4.26/ext/dom/tests/gh23331.phpt --- php8.4-8.4.24/ext/dom/tests/gh23331.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/dom/tests/gh23331.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,37 @@ +--TEST-- +GH-23331 (Use-after-free when an attribute child past an entity reference keeps a live wrapper) +--EXTENSIONS-- +dom +--FILE-- +loadXML(']>'); +$attr = $doc->documentElement->getAttributeNode('attr'); +$first = $attr->firstChild; +$entity = $attr->childNodes[1]; +$last = $attr->lastChild; + +$doc->documentElement->setAttribute('attr', 'updated'); + +echo "text before the entity reference: "; +var_dump($first->textContent); +echo "entity reference name: "; +var_dump($entity->nodeName); +echo "entity reference detached: "; +var_dump($entity->parentNode === null); +echo "text after the entity reference: "; +var_dump($last->textContent); +echo "detached from the attribute: "; +var_dump($last->parentNode === null); +echo "new attribute value: "; +var_dump($doc->documentElement->getAttribute('attr')); + +?> +--EXPECT-- +text before the entity reference: string(1) "a" +entity reference name: string(1) "e" +entity reference detached: bool(true) +text after the entity reference: string(1) "b" +detached from the attribute: bool(true) +new attribute value: string(7) "updated" diff -Nru php8.4-8.4.24/ext/dom/tests/gh23331_2.phpt php8.4-8.4.26/ext/dom/tests/gh23331_2.phpt --- php8.4-8.4.24/ext/dom/tests/gh23331_2.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/dom/tests/gh23331_2.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,34 @@ +--TEST-- +GH-23331 (Use-after-free when an attribute child past an entity reference keeps a live wrapper) - setAttributeNS() and removeAttribute() +--EXTENSIONS-- +dom +--FILE-- +loadXML(']>'); +$attr = $doc->documentElement->getAttributeNodeNS('urn:x', 'attr'); +$last = $attr->lastChild; +$doc->documentElement->setAttributeNS('urn:x', 'p:attr', 'updated'); +echo "setAttributeNS, detached: "; +var_dump($last->parentNode === null); +echo "setAttributeNS, text: "; +var_dump($last->textContent); + +$doc = new DOMDocument(); +$doc->loadXML(']>'); +$attr = $doc->documentElement->getAttributeNode('attr'); +$last = $attr->lastChild; +unset($attr); +$doc->documentElement->removeAttribute('attr'); +echo "removeAttribute, no wrapper on the attribute, detached: "; +var_dump($last->parentNode === null); +echo "removeAttribute, no wrapper on the attribute, text: "; +var_dump($last->textContent); + +?> +--EXPECT-- +setAttributeNS, detached: bool(true) +setAttributeNS, text: string(1) "b" +removeAttribute, no wrapper on the attribute, detached: bool(true) +removeAttribute, no wrapper on the attribute, text: string(1) "b" diff -Nru php8.4-8.4.24/ext/dom/tests/gh23331_3.phpt php8.4-8.4.26/ext/dom/tests/gh23331_3.phpt --- php8.4-8.4.24/ext/dom/tests/gh23331_3.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/dom/tests/gh23331_3.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,41 @@ +--TEST-- +GH-23331 (Use-after-free when an attribute child past an entity reference keeps a live wrapper) - Dom\XMLDocument +--EXTENSIONS-- +dom +--FILE-- +]>'; + +$doc = Dom\XMLDocument::createFromString($xml); +$el = $doc->documentElement; +$attr = $el->getAttributeNode('attr'); +$first = $attr->firstChild; +$last = $attr->lastChild; +unset($attr); +$el->removeAttribute('attr'); +echo "removeAttribute, first: "; +var_dump($first->textContent); +echo "removeAttribute, detached: "; +var_dump($last->parentNode === null); +echo "removeAttribute, text: "; +var_dump($last->textContent); + +$doc = Dom\XMLDocument::createFromString($xml); +$el = $doc->documentElement; +$attr = $el->getAttributeNodeNS('urn:x', 'nsattr'); +$last = $attr->lastChild; +unset($attr); +$el->removeAttributeNS('urn:x', 'nsattr'); +echo "removeAttributeNS, detached: "; +var_dump($last->parentNode === null); +echo "removeAttributeNS, text: "; +var_dump($last->textContent); + +?> +--EXPECT-- +removeAttribute, first: string(1) "a" +removeAttribute, detached: bool(true) +removeAttribute, text: string(1) "b" +removeAttributeNS, detached: bool(true) +removeAttributeNS, text: string(1) "d" diff -Nru php8.4-8.4.24/ext/dom/tests/modern/common/Element_setAttributeNS_live_child.phpt php8.4-8.4.26/ext/dom/tests/modern/common/Element_setAttributeNS_live_child.phpt --- php8.4-8.4.24/ext/dom/tests/modern/common/Element_setAttributeNS_live_child.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/dom/tests/modern/common/Element_setAttributeNS_live_child.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,37 @@ +--TEST-- +setAttributeNS() keeps an attribute child that still has a live wrapper +--EXTENSIONS-- +dom +--FILE-- +'); +$el = $doc->documentElement; +$text = $el->getAttributeNodeNS('urn:x', 'attr')->firstChild; +$el->setAttributeNS('urn:x', 'p:attr', 'new'); +echo "prefixed, detached: "; +var_dump($text->parentNode === null); +echo "prefixed, text: "; +var_dump($text->textContent); +echo "prefixed, new value: "; +var_dump($el->getAttributeNS('urn:x', 'attr')); + +$doc = Dom\XMLDocument::createFromString(''); +$el = $doc->documentElement; +$text = $el->getAttributeNode('attr')->firstChild; +$el->setAttributeNS(null, 'attr', 'new'); +echo "no namespace, detached: "; +var_dump($text->parentNode === null); +echo "no namespace, text: "; +var_dump($text->textContent); +echo "no namespace, new value: "; +var_dump($el->getAttribute('attr')); + +?> +--EXPECT-- +prefixed, detached: bool(true) +prefixed, text: string(3) "old" +prefixed, new value: string(3) "new" +no namespace, detached: bool(true) +no namespace, text: string(3) "old" +no namespace, new value: string(3) "new" diff -Nru php8.4-8.4.24/ext/dom/tests/modern/html/serializer/HTMLDocument_serialize_ns_imported_02.phpt php8.4-8.4.26/ext/dom/tests/modern/html/serializer/HTMLDocument_serialize_ns_imported_02.phpt --- php8.4-8.4.24/ext/dom/tests/modern/html/serializer/HTMLDocument_serialize_ns_imported_02.phpt 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/dom/tests/modern/html/serializer/HTMLDocument_serialize_ns_imported_02.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -25,7 +25,7 @@ - + @@ -38,7 +38,7 @@

foo - + @@ -49,7 +49,7 @@

foo - + diff -Nru php8.4-8.4.24/ext/dom/tests/modern/html/serializer/HTMLDocument_serialize_ns_imported_03.phpt php8.4-8.4.26/ext/dom/tests/modern/html/serializer/HTMLDocument_serialize_ns_imported_03.phpt --- php8.4-8.4.24/ext/dom/tests/modern/html/serializer/HTMLDocument_serialize_ns_imported_03.phpt 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/dom/tests/modern/html/serializer/HTMLDocument_serialize_ns_imported_03.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -25,7 +25,7 @@ - + diff -Nru php8.4-8.4.24/ext/dom/tests/modern/html/serializer/HTMLDocument_serialize_ns_imported_04.phpt php8.4-8.4.26/ext/dom/tests/modern/html/serializer/HTMLDocument_serialize_ns_imported_04.phpt --- php8.4-8.4.24/ext/dom/tests/modern/html/serializer/HTMLDocument_serialize_ns_imported_04.phpt 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/dom/tests/modern/html/serializer/HTMLDocument_serialize_ns_imported_04.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -25,7 +25,7 @@ - + diff -Nru php8.4-8.4.24/ext/dom/tests/modern/html/serializer/HTMLDocument_serialize_ns_imported_05.phpt php8.4-8.4.26/ext/dom/tests/modern/html/serializer/HTMLDocument_serialize_ns_imported_05.phpt --- php8.4-8.4.24/ext/dom/tests/modern/html/serializer/HTMLDocument_serialize_ns_imported_05.phpt 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/dom/tests/modern/html/serializer/HTMLDocument_serialize_ns_imported_05.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -25,7 +25,7 @@ - + @@ -38,7 +38,7 @@

foo - + @@ -49,7 +49,7 @@

foo - + diff -Nru php8.4-8.4.24/ext/dom/tests/modern/html/serializer/HTMLDocument_serialize_ns_imported_06.phpt php8.4-8.4.26/ext/dom/tests/modern/html/serializer/HTMLDocument_serialize_ns_imported_06.phpt --- php8.4-8.4.24/ext/dom/tests/modern/html/serializer/HTMLDocument_serialize_ns_imported_06.phpt 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/dom/tests/modern/html/serializer/HTMLDocument_serialize_ns_imported_06.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -25,7 +25,7 @@ - + @@ -37,7 +37,7 @@

foo - + @@ -46,7 +46,7 @@

foo - + diff -Nru php8.4-8.4.24/ext/dom/tests/modern/html/serializer/sample.xml php8.4-8.4.26/ext/dom/tests/modern/html/serializer/sample.xml --- php8.4-8.4.24/ext/dom/tests/modern/html/serializer/sample.xml 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/dom/tests/modern/html/serializer/sample.xml 2026-09-22 15:00:02.000000000 +0000 @@ -2,7 +2,7 @@ - + diff -Nru php8.4-8.4.24/ext/dom/tests/modern/spec/NamedNodeMap_getNamedItemNS.phpt php8.4-8.4.26/ext/dom/tests/modern/spec/NamedNodeMap_getNamedItemNS.phpt --- php8.4-8.4.24/ext/dom/tests/modern/spec/NamedNodeMap_getNamedItemNS.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/dom/tests/modern/spec/NamedNodeMap_getNamedItemNS.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,25 @@ +--TEST-- +getNamedItemNS() with an empty URI must look up the null namespace +--EXTENSIONS-- +dom +--FILE-- +loadXML(''); +$a = $d->documentElement->attributes->getNamedItemNS('', 'bar'); +var_dump($a === null ? null : $a->nodeValue); +$b = $d->documentElement->attributes->getNamedItemNS('urn:q', 'bar'); +var_dump($b === null ? null : $b->nodeValue); +$d2 = Dom\XMLDocument::createFromString(''); +$a2 = $d2->documentElement->attributes->getNamedItemNS('', 'bar'); +var_dump($a2 === null ? null : $a2->nodeValue); +var_dump($d2->documentElement->hasAttributeNS('', 'bar')); +$c = $d2->documentElement->attributes->getNamedItemNS('urn:q', 'bar'); +var_dump($c === null ? null : $c->nodeValue); +?> +--EXPECT-- +NULL +string(2) "ns" +string(5) "no-ns" +bool(true) +string(2) "ns" diff -Nru php8.4-8.4.24/ext/dom/tests/modern/spec/NamedNodeMap_getNamedItemNS_dtd_default.phpt php8.4-8.4.26/ext/dom/tests/modern/spec/NamedNodeMap_getNamedItemNS_dtd_default.phpt --- php8.4-8.4.24/ext/dom/tests/modern/spec/NamedNodeMap_getNamedItemNS_dtd_default.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/dom/tests/modern/spec/NamedNodeMap_getNamedItemNS_dtd_default.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,24 @@ +--TEST-- +getNamedItemNS() with empty URI must not throw on DTD default attributes +--EXTENSIONS-- +dom +--FILE-- + + + +]> + +XML; + +$el = Dom\XMLDocument::createFromString($xml)->documentElement; +$defaulted = $el->attributes->getNamedItemNS('', 'defaulted'); +var_dump($defaulted === null ? null : $defaulted->nodeValue); +$real = $el->attributes->getNamedItemNS('', 'real'); +var_dump($real === null ? null : $real->nodeValue); +?> +--EXPECT-- +NULL +string(7) "present" diff -Nru php8.4-8.4.24/ext/dom/tests/modern/spec/gh23117.phpt php8.4-8.4.26/ext/dom/tests/modern/spec/gh23117.phpt --- php8.4-8.4.24/ext/dom/tests/modern/spec/gh23117.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/dom/tests/modern/spec/gh23117.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,41 @@ +--TEST-- +GH-23117 (Stack overflow when normalizing a deeply nested Dom\XMLDocument) +--EXTENSIONS-- +dom +--SKIPIF-- + +--INI-- +zend.max_allowed_stack_size=256K +--FILE-- +createElement('root'); +for ($s = 0; $s < 2; $s++) { + $node = $doc->createElement('a'); + for ($i = 0; $i < 25000; $i++) { + $parent = $doc->createElement('a'); + $parent->appendChild($node); + $node = $parent; + } + $root->appendChild($node); +} +$doc->appendChild($root); + +try { + $doc->normalize(); +} catch (\Error $e) { + echo "normalize: ", $e::class, ": ", $e->getMessage(), "\n"; + var_dump($e->getPrevious()); +} +?> +--EXPECT-- +normalize: Error: Maximum call stack size reached. Infinite recursion? +NULL diff -Nru php8.4-8.4.24/ext/filter/filter.c php8.4-8.4.26/ext/filter/filter.c --- php8.4-8.4.24/ext/filter/filter.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/filter/filter.c 2026-09-22 15:00:02.000000000 +0000 @@ -349,15 +349,18 @@ } if (retval) { + zend_string *tmp_str; + zend_string *str = zval_get_tmp_string(&new_var, &tmp_str); if (new_val_len) { - *new_val_len = Z_STRLEN(new_var); + *new_val_len = ZSTR_LEN(str); } efree(*val); - if (Z_STRLEN(new_var)) { - *val = estrndup(Z_STRVAL(new_var), Z_STRLEN(new_var)); + if (ZSTR_LEN(str)) { + *val = estrndup(ZSTR_VAL(str), ZSTR_LEN(str)); } else { *val = estrdup(""); } + zend_tmp_string_release(tmp_str); zval_ptr_dtor(&new_var); } diff -Nru php8.4-8.4.24/ext/filter/sanitizing_filters.c php8.4-8.4.26/ext/filter/sanitizing_filters.c --- php8.4-8.4.24/ext/filter/sanitizing_filters.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/filter/sanitizing_filters.c 2026-09-22 15:00:02.000000000 +0000 @@ -68,7 +68,7 @@ unsigned char *e = s + char_len; zend_string *str; - memset(tmp, 1, sizeof(tmp)-1); + memset(tmp, 1, sizeof(tmp)); while (s < e) { tmp[*s++] = '\0'; diff -Nru php8.4-8.4.24/ext/filter/tests/filter_default_parse_str.phpt php8.4-8.4.26/ext/filter/tests/filter_default_parse_str.phpt --- php8.4-8.4.24/ext/filter/tests/filter_default_parse_str.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/filter/tests/filter_default_parse_str.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,19 @@ +--TEST-- +filter.default with parse_str must not crash on non-string filter results +--EXTENSIONS-- +filter +--INI-- +filter.default=int +--FILE-- + +--EXPECTF-- +Deprecated: The filter.default ini setting is deprecated in %s on line %d +array(2) { + ["a"]=> + string(1) "1" + ["b"]=> + string(0) "" +} diff -Nru php8.4-8.4.24/ext/filter/tests/filter_sanitize_encoded_0xff.phpt php8.4-8.4.26/ext/filter/tests/filter_sanitize_encoded_0xff.phpt --- php8.4-8.4.24/ext/filter/tests/filter_sanitize_encoded_0xff.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/filter/tests/filter_sanitize_encoded_0xff.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,12 @@ +--TEST-- +FILTER_SANITIZE_ENCODED percent-encodes 0xFF +--EXTENSIONS-- +filter +--FILE-- + +--EXPECT-- +string(3) "%FF" +string(10) "%FE%FF%00A" diff -Nru php8.4-8.4.24/ext/ftp/php_ftp.c php8.4-8.4.26/ext/ftp/php_ftp.c --- php8.4-8.4.24/ext/ftp/php_ftp.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/ftp/php_ftp.c 2026-09-22 15:00:02.000000000 +0000 @@ -36,6 +36,8 @@ #include "ftp.h" #include "ftp_arginfo.h" +#define PHP_FTP_TIMEOUT_SEC_MAX ((uint64_t)((double) PHP_TIMEOUT_ULL_MAX / 1000000.0)) + static zend_class_entry *php_ftp_ce = NULL; static zend_object_handlers ftp_object_handlers; @@ -147,15 +149,13 @@ RETURN_THROWS(); } - const uint64_t timeoutmax = (uint64_t)((double) PHP_TIMEOUT_ULL_MAX / 1000000.0); - if (timeout_sec <= 0) { zend_argument_value_error(3, "must be greater than 0"); RETURN_THROWS(); } - if (timeout_sec >= timeoutmax) { - zend_argument_value_error(3, "must be less than " ZEND_ULONG_FMT, timeoutmax); + if (timeout_sec >= PHP_FTP_TIMEOUT_SEC_MAX) { + zend_argument_value_error(3, "must be less than " ZEND_ULONG_FMT, PHP_FTP_TIMEOUT_SEC_MAX); RETURN_THROWS(); } @@ -196,6 +196,11 @@ RETURN_THROWS(); } + if (timeout_sec >= PHP_FTP_TIMEOUT_SEC_MAX) { + zend_argument_value_error(3, "must be less than " ZEND_ULONG_FMT, PHP_FTP_TIMEOUT_SEC_MAX); + RETURN_THROWS(); + } + /* connect */ if (!(ftp = ftp_open(host, (short)port, timeout_sec))) { RETURN_FALSE; @@ -1275,6 +1280,10 @@ zend_argument_value_error(3, "must be greater than 0 for the FTP_TIMEOUT_SEC option"); RETURN_THROWS(); } + if ((uint64_t) Z_LVAL_P(z_value) >= PHP_FTP_TIMEOUT_SEC_MAX) { + zend_argument_value_error(3, "must be less than " ZEND_ULONG_FMT " for the FTP_TIMEOUT_SEC option", PHP_FTP_TIMEOUT_SEC_MAX); + RETURN_THROWS(); + } ftp->timeout_sec = Z_LVAL_P(z_value); RETURN_TRUE; break; diff -Nru php8.4-8.4.24/ext/ftp/tests/cert.pem php8.4-8.4.26/ext/ftp/tests/cert.pem --- php8.4-8.4.24/ext/ftp/tests/cert.pem 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/ftp/tests/cert.pem 2026-09-22 15:00:02.000000000 +0000 @@ -1,49 +1,50 @@ -----BEGIN CERTIFICATE----- -MIIDhTCCAm2gAwIBAgIJAN75FFz+owOAMA0GCSqGSIb3DQEBCwUAMFkxCzAJBgNV -BAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBX -aWRnaXRzIFB0eSBMdGQxEjAQBgNVBAMMCTEyNy4wLjAuMTAeFw0xNjA3MjUxMjM3 -MTJaFw0yNjA3MjMxMjM3MTJaMFkxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21l -LVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQxEjAQBgNV -BAMMCTEyNy4wLjAuMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALtG -AIrNUDItISfpAqztL2TFEWEHLGTzCEh5Ag2sdMD7UYbqIPHLOE4EINv+dqEMM0Nz -LYnw7ChtVegXT907xCaQcmeDFSdhqze4L8zawDfnn4syB8XAwGYJfpstYwe3nO6+ -0WvLSb1A5TYNeyoXjwlAUKElxkeWAo51uhR41GDhDQ9GgpqX1ccAhmSoUhgIRSzf -6f4KE3WTdzl1p12ZtkYHB8Jo2jB/JXnwGOz6isLnpRvkex4B7sUX+7u1MqK/e1X7 -Hi1G/VkaAfC2SOfjTePtGBDBXrQ1arYXDPRA04sgFzSh55l7lC/4HasQ/jAb3h95 -dcEIqyc69iioaN1c1NcCAwEAAaNQME4wHQYDVR0OBBYEFNv3kefb1H+6/6CpjiBi -+I2s9E90MB8GA1UdIwQYMBaAFNv3kefb1H+6/6CpjiBi+I2s9E90MAwGA1UdEwQF -MAMBAf8wDQYJKoZIhvcNAQELBQADggEBAIzSEWpHSaBs7KduBRXX5+qFxBN6OCPl -7ID0rxAOYfw7ruzbmwgOpBgMIHGn+KqA6CmQI0jh9bZbv5TV2aFpFsUihugPc2lW -5EshCozxlEPmIJNsO8jDqPE4w3m4KiVTscRWjBa5cco+lwLDqboerm2l7vvrtr6B -pgLaZct1c73MouvoJSCGK5EOGW7jsgaxjxJ3UZug+24Ko1wulO2cgBLhda9Ilrnx -CIKI9h8Z2WVWuVQfyCyO1g7XkJgkBec77OhxD+m4onzPY6waqnnhmFOBcS+gKgBV -jHeK9DCvZ9zet3EyEp6fyQOOtsC+gU0piYgfsQL7aCp5oLe+fjTiuUY= +MIIDlTCCAn2gAwIBAgIUb9Avckyt1MHYsaBDGCpNBX2DtJowDQYJKoZIhvcNAQEL +BQAwWTESMBAGA1UEAwwJMTI3LjAuMC4xMQswCQYDVQQGEwJBVTETMBEGA1UECAwK +U29tZS1TdGF0ZTEhMB8GA1UECgwYSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMCAX +DTI1MDEwMTAwMDAwMFoYDzIwOTkxMjMxMjM1OTU5WjBZMRIwEAYDVQQDDAkxMjcu +MC4wLjExCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQK +DBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQwggEiMA0GCSqGSIb3DQEBAQUAA4IB +DwAwggEKAoIBAQDChB5LljS2j20SXa+VHvEpsjmPtLEiuel4CDibe0v2yMBXzX+U +FhHUutrMSVpLRnk2s+WJ8voBPb7jTICm3u5VYnOjbmWAyC5ViuGhBNdhxOMCjiJs +3qEauNu+oQDS3cQeEVBHK4U05fxOKaXS+B3r1FvIiJUjj7yf5RfT1Rw3EvV5oDLj +fgv53tfD6CdQPf3d7XR5NdkZmiP/GDgNBkiaW/u/8i424l1TWHTd878CdxXUhZo5 +Cmu2ZoJm/JsVrnJ2FdovE3N+R+0FtKbaZZYK60R0jFb95oSzJI11IRK+Leij+4dS +2c5nlkS+7Ew3/1VlHZJt99aoD2JPh2Ea+56PAgMBAAGjUzBRMB0GA1UdDgQWBBQ2 +qPSBOmDn3biSI5Nhc5mdcUUrtjAfBgNVHSMEGDAWgBQ2qPSBOmDn3biSI5Nhc5md +cUUrtjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQCgQgPjZDV4 +xJySpf18XqnuQlteoxFQIFEe3edg7W7aC9E4g6L9ZtqnopmSDw1+RRT2bzBc1Uuz +MSs77OJlnM/OxrEBqP73GZXG5VvnOj36d4ZVJjh5NWBTdqegkNhkyMOBHLpGLWMv +wYOzXew4Q1yH6iIxZGUUu/BdV+cr933pAFZSaEGrXWWiYL2WI0eirALrMleuZpXL +qaQfMX8dnFrIzo7lkXZIPQjAkeL6HleJPIW6WhoLvhxAyOU1vPzNmXRjFItiMQqN +o567EM5VXKsJ40L27NfslzrgGA7SO6aiALoITX3zSZJ7qyNi9c5wpl1jKqspprjk +PWgM+zxSgE3x -----END CERTIFICATE----- -----BEGIN PRIVATE KEY----- -MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC7RgCKzVAyLSEn -6QKs7S9kxRFhByxk8whIeQINrHTA+1GG6iDxyzhOBCDb/nahDDNDcy2J8OwobVXo -F0/dO8QmkHJngxUnYas3uC/M2sA355+LMgfFwMBmCX6bLWMHt5zuvtFry0m9QOU2 -DXsqF48JQFChJcZHlgKOdboUeNRg4Q0PRoKal9XHAIZkqFIYCEUs3+n+ChN1k3c5 -daddmbZGBwfCaNowfyV58Bjs+orC56Ub5HseAe7FF/u7tTKiv3tV+x4tRv1ZGgHw -tkjn403j7RgQwV60NWq2Fwz0QNOLIBc0oeeZe5Qv+B2rEP4wG94feXXBCKsnOvYo -qGjdXNTXAgMBAAECggEAD7yDISa9fWnjZlojGmrX16zjl/alWVo+sPBSJtn9+ZVk -tWSJHihIc+3O4Q2R5FiFGj7cbcHr5j3BwT3sPRfflKoAowgVx/hiDc2RXrJnAouZ -EXZDxu86e5iCpgF7V9OrATjRmjA74wZH/HHHjrLqFwnrfI8TCULmthfYag35Mqax -qrIEzvSuYdaGxblNe+ZfnVEDW2F9DLBGcma0ffUlJp8AvV7bpo8Rj/JovPxit/VS -UdwSRxwSAugctFpmcGlFkoQfxUx1WdEy8hjopLrayMjCCJvRUL4+C4zT9r9PBHOj -fCSbJ+ajQIoRrgaL9bURk8BFMHY8+yMUsWEYVSmFAQKBgQDtOvPkhvZsNocUB5nJ -ti3SXyDQ6OZQuKKHPSeDV/EvmZKeNlrQ1ZnwXLP3vkcedDOkt1nEVq/hUewpjt08 -2MvmMwJBQEnmbTzMf43DtlXsStdP1lhYaFbU4iMM5zRfyBHDu1GPZEPXvKKpJUk0 -M+jYIyTAP3mcZhqDKn0mPVP7VwKBgQDKFy9DtWFKxCvhFQvHx7YeZiVWJbIst/O4 -ZyuPVAErni0hzSeCkmm7+F9hgEdPSLRcSaeTWP4L0u1cixECKboIhoNs38aft7o3 -MdnI2RDSEKtKX2uVuhvpGDNuGpBAc8Qu8iCiv5INSC36ZhD1h++O/TiiUdgRJ3yX -yeG7ej+CgQKBgCR5F95e0aw5hfMSaBaXJ9xcO9Niu2ZVvMdGI7kR4EcNOXmRqczJ -ym0mE5VXb9/Cxd3hQq/pFAl0avbIvEMKoe62kPYvSC1hRiO6yLT6Z6N4rjncHqEZ -CaCZVAI72dWQEQsi1ZtSMwwMOIYA8YxRHs98N75HBA+DszfPZIZoj2zpAoGBAJHp -B3ElhmeLF/tdTLIj2bQ9H/wBH5H2Bvw/UU4c4vNxMzjSfRJjUAAtpgAptFLkNYTk -kR9sA5DZ7BMDPXaIVg9Nv5peP3SWHNc5IPtI7kIdUu9R0cW7J+e2V3vJphlC/ITA -wRuAoZ0BXmEKTHhae3aMEdXwrcZE8kpNsrO/4hcBAoGBAMISiPJPuxAX1UtqcxTa -mDJfnQ2gxRu6AK9VmXqo0X4IBxDSnTjcL0huUlS849wgsE5oTXgdYb2hn+TXM5JJ -NsEXLhV09X1mrk4M4LV1npd0mYxvFsO4+p+IX5YLiahInmQtq0gx3DWE8wouVFER -4yzfp27z8MZT8Qvr/ZI9lzWd +MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDChB5LljS2j20S +Xa+VHvEpsjmPtLEiuel4CDibe0v2yMBXzX+UFhHUutrMSVpLRnk2s+WJ8voBPb7j +TICm3u5VYnOjbmWAyC5ViuGhBNdhxOMCjiJs3qEauNu+oQDS3cQeEVBHK4U05fxO +KaXS+B3r1FvIiJUjj7yf5RfT1Rw3EvV5oDLjfgv53tfD6CdQPf3d7XR5NdkZmiP/ +GDgNBkiaW/u/8i424l1TWHTd878CdxXUhZo5Cmu2ZoJm/JsVrnJ2FdovE3N+R+0F +tKbaZZYK60R0jFb95oSzJI11IRK+Leij+4dS2c5nlkS+7Ew3/1VlHZJt99aoD2JP +h2Ea+56PAgMBAAECggEAWDGUFNxxYRbNsuaUbi3d1XRwAdbA+8hEcX50wBZavnWO +NCFCB5AsHIJuIvLdREUbP3C4kd//d6GZ07BDoqVwdXlSihbLYeUhkPqLy7iIuVUO +QoHUXP1iGV4YkCmq2HDhc2qRNfunBXGDgKMEgw+pbVxXEyjOShXpRawXLh4xkUw1 +tGdgt4WSufui+5vCEQed1zrq1Q3vImZTJkoqyHwbc/VyirZsPP5jexRtJeAoS4cc +6IJntjN7SKQRu/S6bAm4OdX2ArCbeOZ3ss1wycENpLz4md25Sr7J+uszDQRS3JZS +buG7N1Ihm0oY3aMGCF10Q0yEU5pKqzLaAyoBE4rF0QKBgQDzGmwyZ9chHL5Zut+5 +s5AQchY+8kIZ1Ud35VzkqlE9S8JOsDmfAP4WR4DntqIPbE2F+9tNt1+hrQztfCG3 +in1FXX3nzJe7Sk93GMPsYC+lIBTmB09weXlbP7P9J2i0jVAUpHo1Pa1C+NVy2dOk +cU81vmVea6EJ9dBJYNVgdLeI/wKBgQDM1dXdkxibfqBqz/i4jvzywn/9yC5GEWXr +IRUKbxwiuirylNUQSlFKrqRpxay495FnJpwSs3qxvYGWiXAGgtIy1VluWWolrqG4 +gbnL3aDrHeC8BmTcfCnjIYGl7ACBTJFH4qR1FzMt2FYm+lI0SwGrvinqbLUF5dW4 +uHzRbbHacQKBgQDqh+E+N8PqJArYEltokn04AHjJvXpb5dEPMG4QBOhfVElfFNBi +P9jhsZYA9ccfTgL0ceg+79wI5CSGsKzun2L/mpSvHkh73dMQOQo7bwhIK809pmvT +PL4BdFG2t2BiX7qUT6G+34PaCqoSJWfzS4V5effdwcQZEdciE5OHfNLcDQKBgQCS +mRgPFI+v+dhlmaKws+Vk+L8Rqoszqo/+0BZ2+T5xvDuwkcRLfGThxkv1R3xuhQCT +ipZ46+sL+k0cqBB9GHPH3dm7mFLX1Tv5CR8oQN5CZ4fICet1wYdY/0oCrf1OjLYN +dK+u/YOrdAF0tALRWj0/5UGqfVKxfeSP57mtSYzYgQKBgQChNy3y9sFp4WcRBjWE +2IJtTMD682rrxnJQCND6tOgYi+8hGCnbt9wJes4Z73UjTMwNDohImOaC9VImPVYC +GdSaWzpHru18PcKExq6SFRYbZXagwCXMAXB4v17h/Vm4PsjJZFTgrnFTb5FUIMDR +yaWMV5Lt8jgV/NINDPcq2P58Ow== -----END PRIVATE KEY----- diff -Nru php8.4-8.4.24/ext/ftp/tests/gh20601_set_option.phpt php8.4-8.4.26/ext/ftp/tests/gh20601_set_option.phpt --- php8.4-8.4.24/ext/ftp/tests/gh20601_set_option.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/ftp/tests/gh20601_set_option.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,26 @@ +--TEST-- +GH-20601 (ftp_set_option FTP_TIMEOUT_SEC timeout overflow) +--EXTENSIONS-- +ftp +pcntl +--SKIPIF-- + +--FILE-- +getMessage(); +} +?> +--EXPECTF-- +ftp_set_option(): Argument #3 ($value) must be less than %d for the FTP_TIMEOUT_SEC option diff -Nru php8.4-8.4.24/ext/ftp/tests/gh20601_ssl.phpt php8.4-8.4.26/ext/ftp/tests/gh20601_ssl.phpt --- php8.4-8.4.24/ext/ftp/tests/gh20601_ssl.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/ftp/tests/gh20601_ssl.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,21 @@ +--TEST-- +GH-20601 (ftp_ssl_connect timeout overflow) +--EXTENSIONS-- +ftp +openssl +--SKIPIF-- + +--FILE-- +getMessage(); +} +?> +--EXPECTF-- +ftp_ssl_connect(): Argument #3 ($timeout) must be less than %d diff -Nru php8.4-8.4.24/ext/ftp/tests/server.inc php8.4-8.4.26/ext/ftp/tests/server.inc --- php8.4-8.4.24/ext/ftp/tests/server.inc 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/ftp/tests/server.inc 2026-09-22 15:00:02.000000000 +0000 @@ -290,7 +290,7 @@ } if (empty($m[1]) || $m[1] !== 'emptydir') { - fputs($fs, "file1\r\nfile1\r\nfile\nb0rk\r\n"); + fputs($fs, $nlst_data ?? "file1\r\nfile1\r\nfile\nb0rk\r\n"); } fputs($s, "226 Closing data Connection.\r\n"); diff -Nru php8.4-8.4.24/ext/gd/gd.c php8.4-8.4.26/ext/gd/gd.c --- php8.4-8.4.24/ext/gd/gd.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/gd/gd.c 2026-09-22 15:00:02.000000000 +0000 @@ -4210,7 +4210,7 @@ case GD_AFFINE_SCALE: { double x, y; if (Z_TYPE_P(options) != IS_ARRAY) { - zend_argument_type_error(1, "must be of type array when using translate or scale"); + zend_argument_type_error(2, "must be of type array when using translate or scale"); RETURN_THROWS(); } @@ -4291,7 +4291,7 @@ } if (zend_hash_num_elements(Z_ARRVAL_P(z_m2)) != 6) { - zend_argument_value_error(1, "must have 6 elements"); + zend_argument_value_error(2, "must have 6 elements"); RETURN_THROWS(); } @@ -4464,21 +4464,39 @@ efree(ctx); } /* }}} */ +typedef struct { + gdIOCtx ctx; + size_t buf_len; + unsigned char buf[8192]; +} php_gd_stream_ctx; + +static void _php_image_stream_flush(php_gd_stream_ctx *stream_ctx) /* {{{ */ +{ + if (stream_ctx->buf_len) { + php_stream_write((php_stream *) stream_ctx->ctx.data, (char *) stream_ctx->buf, stream_ctx->buf_len); + stream_ctx->buf_len = 0; + } +} /* }}} */ + static void _php_image_stream_putc(struct gdIOCtx *ctx, int c) /* {{{ */ { - char ch = (char) c; - php_stream * stream = (php_stream *)ctx->data; - php_stream_write(stream, &ch, 1); + php_gd_stream_ctx *stream_ctx = (php_gd_stream_ctx *) ctx; + if (stream_ctx->buf_len == sizeof(stream_ctx->buf)) { + _php_image_stream_flush(stream_ctx); + } + stream_ctx->buf[stream_ctx->buf_len++] = (unsigned char) c; } /* }}} */ static int _php_image_stream_putbuf(struct gdIOCtx *ctx, const void* buf, int l) /* {{{ */ { php_stream * stream = (php_stream *)ctx->data; + _php_image_stream_flush((php_gd_stream_ctx *) ctx); return php_stream_write(stream, (void *)buf, l); } /* }}} */ static void _php_image_stream_ctxfree(struct gdIOCtx *ctx) /* {{{ */ { if(ctx->data) { + _php_image_stream_flush((php_gd_stream_ctx *) ctx); ctx->data = NULL; } efree(ctx); @@ -4487,6 +4505,7 @@ static void _php_image_stream_ctxfreeandclose(struct gdIOCtx *ctx) /* {{{ */ { if(ctx->data) { + _php_image_stream_flush((php_gd_stream_ctx *) ctx); php_stream_close((php_stream *) ctx->data); ctx->data = NULL; } @@ -4494,7 +4513,8 @@ } /* }}} */ static gdIOCtx *create_stream_context(php_stream *stream, int close_stream) { - gdIOCtx *ctx = ecalloc(1, sizeof(gdIOCtx)); + php_gd_stream_ctx *stream_ctx = ecalloc(1, sizeof(php_gd_stream_ctx)); + gdIOCtx *ctx = &stream_ctx->ctx; ctx->putC = _php_image_stream_putc; ctx->putBuf = _php_image_stream_putbuf; diff -Nru php8.4-8.4.24/ext/gd/tests/bug67248.phpt php8.4-8.4.26/ext/gd/tests/bug67248.phpt --- php8.4-8.4.24/ext/gd/tests/bug67248.phpt 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/gd/tests/bug67248.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -17,8 +17,8 @@ } ?> --EXPECTF-- -!! [TypeError] imageaffinematrixget(): Argument #1 ($type) must be of type array when using translate or scale -!! [TypeError] imageaffinematrixget(): Argument #1 ($type) must be of type array when using translate or scale +!! [TypeError] imageaffinematrixget(): Argument #2 ($options) must be of type array when using translate or scale +!! [TypeError] imageaffinematrixget(): Argument #2 ($options) must be of type array when using translate or scale Warning: Object of class stdClass could not be converted to float in %s on line %d array(6) { diff -Nru php8.4-8.4.24/ext/gd/tests/gh23457.phpt php8.4-8.4.26/ext/gd/tests/gh23457.phpt --- php8.4-8.4.24/ext/gd/tests/gh23457.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/gd/tests/gh23457.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,37 @@ +--TEST-- +GH-23457 (imagebmp() writes to the stream one byte at a time) +--EXTENSIONS-- +gd +--FILE-- + +--EXPECT-- +bool(true) +bool(true) diff -Nru php8.4-8.4.24/ext/gd/tests/imageaffinematrixconcat_error.phpt php8.4-8.4.26/ext/gd/tests/imageaffinematrixconcat_error.phpt --- php8.4-8.4.24/ext/gd/tests/imageaffinematrixconcat_error.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/gd/tests/imageaffinematrixconcat_error.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,14 @@ +--TEST-- +imageaffinematrixconcat() reports the correct argument for an invalid matrix size +--EXTENSIONS-- +gd +--FILE-- +getMessage(), "\n"; +} +?> +--EXPECT-- +ValueError: imageaffinematrixconcat(): Argument #2 ($matrix2) must have 6 elements diff -Nru php8.4-8.4.24/ext/gettext/tests/bug53251.phpt php8.4-8.4.26/ext/gettext/tests/bug53251.phpt --- php8.4-8.4.24/ext/gettext/tests/bug53251.phpt 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/gettext/tests/bug53251.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -21,15 +21,21 @@ // "foo" is unbound, so in the first call, you will get false instead // of a string. // -// bind_textdomain_codeset() always returns false on musl -// because musl only supports UTF-8. For more information: +// Prior to v1.2.6, bind_textdomain_codeset() always returns false on +// musl because musl only supports UTF-8. For more information: // // * https://github.com/php/doc-en/issues/4311, // * https://github.com/php/php-src/issues/17163 // $expected_musl = [false, true, false, false, false]; -var_dump($results === $expected || $results === $expected_musl); +// As of v1.2.6, bind_textdomain_codeset() returns "UTF-8" in all +// three cases on musl because UTF-8 is the only supported codeset. +$expected_musl126 = [false, true, "UTF-8", "UTF-8", "UTF-8"]; + +var_dump($results === $expected + || $results === $expected_musl + || $results === $expected_musl126); ?> --EXPECT-- bool(true) diff -Nru php8.4-8.4.24/ext/gettext/tests/gettext_bind_textdomain_codeset-retval.phpt php8.4-8.4.26/ext/gettext/tests/gettext_bind_textdomain_codeset-retval.phpt --- php8.4-8.4.24/ext/gettext/tests/gettext_bind_textdomain_codeset-retval.phpt 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/gettext/tests/gettext_bind_textdomain_codeset-retval.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -17,11 +17,12 @@ } // bind_textdomain_codeset() always returns false on musl - // because musl only supports UTF-8. For more information: + // prior to v1.2.6. For more information: // // * https://github.com/php/doc-en/issues/4311, // * https://github.com/php/php-src/issues/17163 // + // As of v1.2.6, it returns "UTF-8" as well. $result = bind_textdomain_codeset('messages', "UTF-8"); var_dump($result === false || $result === "UTF-8"); diff -Nru php8.4-8.4.24/ext/hash/hash.c php8.4-8.4.26/ext/hash/hash.c --- php8.4-8.4.24/ext/hash/hash.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/hash/hash.c 2026-09-22 15:00:02.000000000 +0000 @@ -19,7 +19,6 @@ #include #endif -#include #include "php_hash.h" #include "ext/standard/info.h" #include "ext/standard/file.h" @@ -1043,10 +1042,10 @@ } digest_length = length; if (!raw_output) { - digest_length = (zend_long) ceil((float) length / 2.0); + digest_length = length / 2 + (length % 2); } - loops = (zend_long) ceil((float) digest_length / (float) ops->digest_size); + loops = (digest_length - 1) / ops->digest_size + 1; result = safe_emalloc(loops, ops->digest_size, 0); diff -Nru php8.4-8.4.24/ext/hash/php_hash.h php8.4-8.4.26/ext/hash/php_hash.h --- php8.4-8.4.24/ext/hash/php_hash.h 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/hash/php_hash.h 2026-09-22 15:00:02.000000000 +0000 @@ -158,7 +158,7 @@ /* Zero out context memory so serialization doesn't expose internals */ if (ops->context_align > 0) { size_t align = ops->context_align; - char *base = ecalloc(1, ops->context_size + align); + char *base = (char *) ecalloc(1, ops->context_size + align); size_t offset = align - ((uintptr_t)base & (align - 1)); char *ptr = base + offset; ptr[-1] = (char)offset; diff -Nru php8.4-8.4.24/ext/hash/tests/hash_pbkdf2_large_length.phpt php8.4-8.4.26/ext/hash/tests/hash_pbkdf2_large_length.phpt --- php8.4-8.4.24/ext/hash/tests/hash_pbkdf2_large_length.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/hash/tests/hash_pbkdf2_large_length.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,19 @@ +--TEST-- +Hash: hash_pbkdf2() function : large output length +--FILE-- + +--EXPECT-- +int(33554433) +bool(true) diff -Nru php8.4-8.4.24/ext/hash/tests/hash_pbkdf2_max_length.phpt php8.4-8.4.26/ext/hash/tests/hash_pbkdf2_max_length.phpt --- php8.4-8.4.24/ext/hash/tests/hash_pbkdf2_max_length.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/hash/tests/hash_pbkdf2_max_length.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,17 @@ +--TEST-- +Hash: hash_pbkdf2() function : output length of PHP_INT_MAX +--SKIPIF-- + +--INI-- +memory_limit=128M +--FILE-- + +--EXPECTF-- +Fatal error: Allowed memory size of 134217728 bytes exhausted%s(tried to allocate 4611686018427387904 bytes) in %s on line %d diff -Nru php8.4-8.4.24/ext/hash/tests/hash_pbkdf2_max_length_raw.phpt php8.4-8.4.26/ext/hash/tests/hash_pbkdf2_max_length_raw.phpt --- php8.4-8.4.24/ext/hash/tests/hash_pbkdf2_max_length_raw.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/hash/tests/hash_pbkdf2_max_length_raw.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,17 @@ +--TEST-- +Hash: hash_pbkdf2() function : raw output length of PHP_INT_MAX +--SKIPIF-- + +--INI-- +memory_limit=128M +--FILE-- + +--EXPECTF-- +Fatal error: Allowed memory size of 134217728 bytes exhausted%s(tried to allocate 9223372036854775808 bytes) in %s on line %d diff -Nru php8.4-8.4.24/ext/intl/breakiterator/breakiterator_class.cpp php8.4-8.4.26/ext/intl/breakiterator/breakiterator_class.cpp --- php8.4-8.4.24/ext/intl/breakiterator/breakiterator_class.cpp 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/intl/breakiterator/breakiterator_class.cpp 2026-09-22 15:00:02.000000000 +0000 @@ -109,6 +109,9 @@ } else { bio_new->biter = new_biter; ZVAL_COPY(&bio_new->text, &bio_orig->text); + if (bio_orig->compiled_rules) { + bio_new->compiled_rules = zend_string_copy(bio_orig->compiled_rules); + } } } else { zend_throw_error(NULL, "Cannot clone uninitialized BreakIterator"); @@ -163,6 +166,7 @@ { intl_error_init(BREAKITER_ERROR_P(bio)); bio->biter = NULL; + bio->compiled_rules = NULL; ZVAL_UNDEF(&bio->text); } /* }}} */ @@ -177,6 +181,10 @@ delete bio->biter; bio->biter = NULL; } + if (bio->compiled_rules) { + zend_string_release(bio->compiled_rules); + bio->compiled_rules = NULL; + } intl_error_reset(BREAKITER_ERROR_P(bio)); zend_object_std_dtor(&bio->zo); diff -Nru php8.4-8.4.24/ext/intl/breakiterator/breakiterator_class.h php8.4-8.4.26/ext/intl/breakiterator/breakiterator_class.h --- php8.4-8.4.24/ext/intl/breakiterator/breakiterator_class.h 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/intl/breakiterator/breakiterator_class.h 2026-09-22 15:00:02.000000000 +0000 @@ -38,6 +38,8 @@ // current text zval text; + zend_string *compiled_rules; + zend_object zo; } BreakIterator_object; diff -Nru php8.4-8.4.24/ext/intl/breakiterator/breakiterator_iterators.cpp php8.4-8.4.26/ext/intl/breakiterator/breakiterator_iterators.cpp --- php8.4-8.4.24/ext/intl/breakiterator/breakiterator_iterators.cpp 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/intl/breakiterator/breakiterator_iterators.cpp 2026-09-22 15:00:02.000000000 +0000 @@ -242,7 +242,7 @@ ii->iterator->index = 0; ((zoi_with_current*)ii->iterator)->destroy_it = _breakiterator_parts_destroy_it; - ZVAL_OBJ_COPY(&((zoi_with_current*)ii->iterator)->wrapping_obj, Z_OBJ_P(object)); + ZVAL_UNDEF(&((zoi_with_current*)ii->iterator)->wrapping_obj); ZVAL_UNDEF(&((zoi_with_current*)ii->iterator)->current); ((zoi_break_iter_parts*)ii->iterator)->bio = Z_INTL_BREAKITERATOR_P(break_iter_zv); diff -Nru php8.4-8.4.24/ext/intl/breakiterator/rulebasedbreakiterator_methods.cpp php8.4-8.4.26/ext/intl/breakiterator/rulebasedbreakiterator_methods.cpp --- php8.4-8.4.24/ext/intl/breakiterator/rulebasedbreakiterator_methods.cpp 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/intl/breakiterator/rulebasedbreakiterator_methods.cpp 2026-09-22 15:00:02.000000000 +0000 @@ -34,15 +34,14 @@ static void _php_intlrbbi_constructor_body(INTERNAL_FUNCTION_PARAMETERS, zend_error_handling *error_handling, bool *error_handling_replaced) { - char *rules; - size_t rules_len; + zend_string *rules; bool compiled = false; UErrorCode status = U_ZERO_ERROR; BREAKITER_METHOD_INIT_VARS; object = ZEND_THIS; ZEND_PARSE_PARAMETERS_START(1, 2) - Z_PARAM_STRING(rules, rules_len) + Z_PARAM_STR(rules) Z_PARAM_OPTIONAL Z_PARAM_BOOL(compiled) ZEND_PARSE_PARAMETERS_END(); @@ -62,7 +61,7 @@ if (!compiled) { UnicodeString rulesStr; UParseError parseError = UParseError(); - if (intl_stringFromChar(rulesStr, rules, rules_len, &status) + if (intl_stringFromChar(rulesStr, ZSTR_VAL(rules), ZSTR_LEN(rules), &status) == FAILURE) { zend_throw_exception(IntlException_ce_ptr, "IntlRuleBasedBreakIterator::__construct(): " @@ -84,7 +83,7 @@ RETURN_THROWS(); } } else { // compiled - rbbi = new RuleBasedBreakIterator((uint8_t*)rules, rules_len, status); + rbbi = new RuleBasedBreakIterator(reinterpret_cast(ZSTR_VAL(rules)), ZSTR_LEN(rules), status); if (U_FAILURE(status)) { zend_throw_exception(IntlException_ce_ptr, "IntlRuleBasedBreakIterator::__construct(): " @@ -95,6 +94,9 @@ } breakiterator_object_create(return_value, rbbi, 0); + if (compiled) { + Z_INTL_BREAKITERATOR_P(return_value)->compiled_rules = zend_string_copy(rules); + } } U_CFUNC PHP_METHOD(IntlRuleBasedBreakIterator, __construct) diff -Nru php8.4-8.4.24/ext/intl/calendar/calendar_class.cpp php8.4-8.4.26/ext/intl/calendar/calendar_class.cpp --- php8.4-8.4.24/ext/intl/calendar/calendar_class.cpp 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/intl/calendar/calendar_class.cpp 2026-09-22 15:00:02.000000000 +0000 @@ -171,6 +171,8 @@ FREE_HASHTABLE(debug_info_tz); zend_hash_str_update(debug_info, "timeZone", sizeof("timeZone") - 1, &ztz_debug); + + zval_ptr_dtor(&ztz); } { diff -Nru php8.4-8.4.24/ext/intl/calendar/gregoriancalendar_methods.cpp php8.4-8.4.26/ext/intl/calendar/gregoriancalendar_methods.cpp --- php8.4-8.4.24/ext/intl/calendar/gregoriancalendar_methods.cpp 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/intl/calendar/gregoriancalendar_methods.cpp 2026-09-22 15:00:02.000000000 +0000 @@ -168,7 +168,6 @@ if (gcal) { delete gcal; } - delete tz; if (!is_constructor) { zval_ptr_dtor(return_value); RETVAL_NULL(); diff -Nru php8.4-8.4.24/ext/intl/common/common_enum.cpp php8.4-8.4.26/ext/intl/common/common_enum.cpp --- php8.4-8.4.24/ext/intl/common/common_enum.cpp 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/intl/common/common_enum.cpp 2026-09-22 15:00:02.000000000 +0000 @@ -35,6 +35,8 @@ void zoi_with_current_dtor(zend_object_iterator *iter) { zoi_with_current *zoiwc = (zoi_with_current*)iter; + iter->funcs->invalidate_current(iter); + zoiwc->destroy_it(iter); zval_ptr_dtor(&zoiwc->wrapping_obj); ZVAL_UNDEF(&zoiwc->wrapping_obj); } @@ -147,7 +149,6 @@ { IntlIterator_object *ii = php_intl_iterator_fetch_object(object); if (ii->iterator) { - ((zoi_with_current*)ii->iterator)->destroy_it(ii->iterator); OBJ_RELEASE(&ii->iterator->std); ii->iterator = NULL; } diff -Nru php8.4-8.4.24/ext/intl/formatter/formatter_parse.c php8.4-8.4.26/ext/intl/formatter/formatter_parse.c --- php8.4-8.4.24/ext/intl/formatter/formatter_parse.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/intl/formatter/formatter_parse.c 2026-09-22 15:00:02.000000000 +0000 @@ -27,6 +27,42 @@ #define ICU_LOCALE_BUG 1 +static bool numfmt_utf8_offset_to_utf16(const char *str, size_t str_len, int32_t *position, UErrorCode *status) +{ + int32_t utf16_position; + + if (*position < 0 || (size_t) *position > str_len) { + return true; + } + + *status = U_ZERO_ERROR; + u_strFromUTF8(NULL, 0, &utf16_position, str, *position, status); + if (*status != U_BUFFER_OVERFLOW_ERROR && U_FAILURE(*status)) { + return false; + } + *status = U_ZERO_ERROR; + + *position = utf16_position; + return true; +} + +static int32_t numfmt_utf16_offset_to_utf8(const UChar *str, int32_t str_len, int32_t position) +{ + int32_t utf8_position; + UErrorCode status = U_ZERO_ERROR; + + if (position < 0 || position > str_len) { + return position; + } + + u_strToUTF8(NULL, 0, &utf8_position, str, position, &status); + if (status != U_BUFFER_OVERFLOW_ERROR && U_FAILURE(status)) { + return position; + } + + return utf8_position; +} + /* {{{ Parse a number. */ PHP_FUNCTION( numfmt_parse ) { @@ -61,6 +97,10 @@ /* Convert given string to UTF-16. */ intl_convert_utf8_to_utf16(&sstr, &sstr_len, str, str_len, &INTL_DATA_ERROR_CODE(nfo)); INTL_METHOD_CHECK_STATUS( nfo, "String conversion to UTF-16 failed" ); + if (zposition && !numfmt_utf8_offset_to_utf16(str, str_len, &position, &INTL_DATA_ERROR_CODE(nfo))) { + efree(sstr); + INTL_METHOD_CHECK_STATUS(nfo, "Invalid UTF-8 offset"); + } #if ICU_LOCALE_BUG && defined(LC_NUMERIC) /* need to copy here since setlocale may change it later */ @@ -101,6 +141,7 @@ } if (zposition) { + position = numfmt_utf16_offset_to_utf8(sstr, sstr_len, position); ZEND_TRY_ASSIGN_REF_LONG(zposition, position); } @@ -150,11 +191,16 @@ if(zposition) { position = (int32_t) zval_get_long(zposition); + if (!numfmt_utf8_offset_to_utf16(str, str_len, &position, &INTL_DATA_ERROR_CODE(nfo))) { + efree(sstr); + INTL_METHOD_CHECK_STATUS(nfo, "Invalid UTF-8 offset"); + } position_p = &position; } number = unum_parseDoubleCurrency(FORMATTER_OBJECT(nfo), sstr, sstr_len, position_p, currency, &INTL_DATA_ERROR_CODE(nfo)); if(zposition) { + position = numfmt_utf16_offset_to_utf8(sstr, sstr_len, position); ZEND_TRY_ASSIGN_REF_LONG(zposition, position); } if (sstr) { diff -Nru php8.4-8.4.24/ext/intl/grapheme/grapheme_string.c php8.4-8.4.26/ext/intl/grapheme/grapheme_string.c --- php8.4-8.4.24/ext/intl/grapheme/grapheme_string.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/intl/grapheme/grapheme_string.c 2026-09-22 15:00:02.000000000 +0000 @@ -896,9 +896,9 @@ add_next_index_stringl(return_value, pstr, pos - current); end = pstr + pos - current; i = 0; + pstr += pos - current; + current = pos; } - pstr += pos - current; - current = pos; } else { i += 1; } diff -Nru php8.4-8.4.24/ext/intl/grapheme/grapheme_util.c php8.4-8.4.26/ext/intl/grapheme/grapheme_util.c --- php8.4-8.4.24/ext/intl/grapheme/grapheme_util.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/intl/grapheme/grapheme_util.c 2026-09-22 15:00:02.000000000 +0000 @@ -131,7 +131,11 @@ ret_pos = -1; goto finish; } - ret_pos = last && offset >= 0 ? uhaystack_len : offset_pos; + if (last && offset >= 0) { + ret_pos = grapheme_count_graphemes(bi, uhaystack, uhaystack_len); + } else { + ret_pos = grapheme_count_graphemes(bi, uhaystack, offset_pos); + } goto finish; } diff -Nru php8.4-8.4.24/ext/intl/locale/locale_methods.c php8.4-8.4.26/ext/intl/locale/locale_methods.c --- php8.4-8.4.24/ext/intl/locale/locale_methods.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/intl/locale/locale_methods.c 2026-09-22 15:00:02.000000000 +0000 @@ -279,7 +279,7 @@ break; } else { /* delimiter found; check for singleton */ - if( isIDSeparator(*(str+i+2)) ){ + if( (size_t)i + 2 < len && isIDSeparator(*(str+i+2)) ){ /* a singleton; so send the position of separator before singleton */ result = i+1; break; @@ -776,6 +776,7 @@ zend_string_efree( kw_value_str ); } zend_array_destroy(Z_ARR_P(return_value)); + uenum_close( e ); RETURN_FALSE; } diff -Nru php8.4-8.4.24/ext/intl/tests/breakiter_parts_iterator_current_leak.phpt php8.4-8.4.26/ext/intl/tests/breakiter_parts_iterator_current_leak.phpt --- php8.4-8.4.24/ext/intl/tests/breakiter_parts_iterator_current_leak.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/intl/tests/breakiter_parts_iterator_current_leak.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,31 @@ +--TEST-- +IntlPartsIterator must not leak, and a temporary one must not dangle +--EXTENSIONS-- +intl +--FILE-- +setText('hello world'); + return $bi->getPartsIterator(); +} + +foreach (parts() as $part) { + echo "[$part]\n"; +} + +$bi = IntlBreakIterator::createWordInstance('en'); +$bi->setText('hello world foo bar baz'); +$m0 = memory_get_usage(); +for ($i = 0; $i < 20000; $i++) { + foreach ($bi->getPartsIterator() as $v) { + break; + } +} +var_dump(memory_get_usage() - $m0 < 1024 * 1024); +?> +--EXPECT-- +[hello] +[ ] +[world] +bool(true) diff -Nru php8.4-8.4.24/ext/intl/tests/calendar_get_debug_info_tz_leak.phpt php8.4-8.4.26/ext/intl/tests/calendar_get_debug_info_tz_leak.phpt --- php8.4-8.4.24/ext/intl/tests/calendar_get_debug_info_tz_leak.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/intl/tests/calendar_get_debug_info_tz_leak.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,26 @@ +--TEST-- +IntlCalendar get_debug_info() must not leak the time zone wrapper object +--EXTENSIONS-- +intl +--FILE-- + +--EXPECT-- +int(0) diff -Nru php8.4-8.4.24/ext/intl/tests/gh23094.phpt php8.4-8.4.26/ext/intl/tests/gh23094.phpt --- php8.4-8.4.24/ext/intl/tests/gh23094.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/intl/tests/gh23094.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,47 @@ +--TEST-- +GH-23094 NumberFormatter parse offsets use UTF-8 byte positions +--EXTENSIONS-- +intl +--FILE-- +parse($prefix . '123', NumberFormatter::TYPE_INT32, $offset)); +var_dump($offset); + +$offset = 1; +var_dump($formatter->parse("\u{00E9}123", NumberFormatter::TYPE_INT32, $offset)); +var_dump($offset); +var_dump(intl_is_failure($formatter->getErrorCode())); + +$formatter = new NumberFormatter('en_US', NumberFormatter::CURRENCY); +$offset = strlen($prefix); +$currency = null; +var_dump($formatter->parseCurrency($prefix . '$123.45', $currency, $offset)); +var_dump($currency); +var_dump($offset); + +$offset = 1; +$currency = null; +var_dump($formatter->parseCurrency("\u{00E9}$123.45", $currency, $offset)); +var_dump($currency); +var_dump($offset); +var_dump(intl_is_failure($formatter->getErrorCode())); + +?> +--EXPECT-- +int(123) +int(7) +bool(false) +int(1) +bool(true) +float(123.45) +string(3) "USD" +int(11) +bool(false) +NULL +int(1) +bool(true) diff -Nru php8.4-8.4.24/ext/intl/tests/grapheme_empty_offset_multibyte.phpt php8.4-8.4.26/ext/intl/tests/grapheme_empty_offset_multibyte.phpt --- php8.4-8.4.24/ext/intl/tests/grapheme_empty_offset_multibyte.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/intl/tests/grapheme_empty_offset_multibyte.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,36 @@ +--TEST-- +grapheme_strpos() family with empty needle and offset on multi-code-unit graphemes +--EXTENSIONS-- +intl +--FILE-- +getMessage(), "\n"; +} + +?> +--EXPECT-- +int(0) +int(0) +int(1) +int(1) +int(1) +int(2) +int(2) +int(2) +int(1) +ValueError: grapheme_strpos(): Argument #3 ($offset) must be contained in argument #1 ($haystack) diff -Nru php8.4-8.4.24/ext/intl/tests/locale_get_keywords_failure.phpt php8.4-8.4.26/ext/intl/tests/locale_get_keywords_failure.phpt --- php8.4-8.4.24/ext/intl/tests/locale_get_keywords_failure.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/intl/tests/locale_get_keywords_failure.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,18 @@ +--TEST-- +Locale::getKeywords() closes the keyword enumeration on failure +--EXTENSIONS-- +intl +--SKIPIF-- += 59.1'); +} +?> +--FILE-- + +--EXPECT-- +bool(false) +bool(true) diff -Nru php8.4-8.4.24/ext/intl/tests/locale_parse_trailing_separator.phpt php8.4-8.4.26/ext/intl/tests/locale_parse_trailing_separator.phpt --- php8.4-8.4.24/ext/intl/tests/locale_parse_trailing_separator.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/intl/tests/locale_parse_trailing_separator.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,45 @@ +--TEST-- +Locale::parseLocale() does not read past a trailing '-' or '_' +--EXTENSIONS-- +intl +--FILE-- + +--EXPECT-- +en-: array ( + 'language' => 'en', +) +foo-: array ( + 'language' => 'foo', +) +en_US-: array ( + 'language' => 'en', + 'region' => 'US', +) +en_: array ( + 'language' => 'en', +) +de-CH-x-: array ( + 'language' => 'de', + 'region' => 'CH', +) diff -Nru php8.4-8.4.24/ext/intl/tests/rbbiter_compiled_rules_lifetime.phpt php8.4-8.4.26/ext/intl/tests/rbbiter_compiled_rules_lifetime.phpt --- php8.4-8.4.24/ext/intl/tests/rbbiter_compiled_rules_lifetime.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/intl/tests/rbbiter_compiled_rules_lifetime.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,77 @@ +--TEST-- +IntlRuleBasedBreakIterator compiled rules outlive the source string +--EXTENSIONS-- +intl +--SKIPIF-- += 68.1'); ?> +--FILE-- +getBinaryRules()); + +$it = new IntlRuleBasedBreakIterator($src->getBinaryRules(), true); +unset($src); + +/* ICU aliases the buffer it was built from, so the freed rules have to be + reclaimed and overwritten for the iterator below to read stale bytes. */ +$ballast = []; +for ($i = 0; $i < 16; $i++) { + $ballast[] = str_repeat("\xCC", $len); +} + +$it->setText('ab,cd'); +echo $it->first(), "\n"; +while (true) { + $n = $it->next(); + if ($n === IntlBreakIterator::DONE) { + break; + } + echo $n, "\n"; +} + +$clone = clone $it; +unset($it); +$ballast[] = str_repeat("\xDD", $len); +$clone->setText('xy'); +echo $clone->first(), "\n"; +echo $clone->next(), "\n"; + +$src = new IntlRuleBasedBreakIterator($rules); +$it = new IntlRuleBasedBreakIterator($src->getBinaryRules(), true); +unset($src); +for ($i = 0; $i < 16; $i++) { + $ballast[] = str_repeat("\xEE", $len); +} +$it->setText('ab,cd'); +$parts = $it->getPartsIterator(); +unset($it); +foreach ($parts as $p) { + echo $p, "\n"; +} + +?> +--EXPECT-- +0 +2 +3 +5 +0 +2 +ab +, +cd diff -Nru php8.4-8.4.24/ext/json/json_encoder.c php8.4-8.4.26/ext/json/json_encoder.c --- php8.4-8.4.24/ext/json/json_encoder.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/json/json_encoder.c 2026-09-22 15:00:02.000000000 +0000 @@ -287,6 +287,7 @@ if (EG(exception)) { PHP_JSON_HASH_UNPROTECT_RECURSION(recursion_rc); zend_release_properties(prop_ht); + zval_ptr_dtor(&tmp); return FAILURE; } } diff -Nru php8.4-8.4.24/ext/json/tests/json_encode_hooked_property_throwing_getter.phpt php8.4-8.4.26/ext/json/tests/json_encode_hooked_property_throwing_getter.phpt --- php8.4-8.4.24/ext/json/tests/json_encode_hooked_property_throwing_getter.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/json/tests/json_encode_hooked_property_throwing_getter.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,44 @@ +--TEST-- +json_encode() releases the hooked property value when the get hook throws +--FILE-- +getMessage(), "\n"; +} + +echo "done\n"; + +?> +--EXPECT-- +Value::__destruct +Exception: thrown while freeing the get hook frame +done diff -Nru php8.4-8.4.24/ext/libxml/config.w32 php8.4-8.4.26/ext/libxml/config.w32 --- php8.4-8.4.24/ext/libxml/config.w32 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/libxml/config.w32 2026-09-22 15:00:02.000000000 +0000 @@ -12,11 +12,19 @@ if (GREP_HEADER("libxml/xmlversion.h", "#define\\s+LIBXML_VERSION\\s+(\\d+)", PHP_PHP_BUILD + "\\include\\libxml2") && +RegExp.$1 >= 20904) { + var libxml_ver = +RegExp.$1; /* capture now; RegExp.$1 gets clobbered below */ + EXTENSION("libxml", "libxml.c mime_sniff.c", false /* never shared */, "/DZEND_ENABLE_STATIC_TSRMLS_CACHE=1"); AC_DEFINE("HAVE_LIBXML", 1, "Define to 1 if the PHP extension 'libxml' is available."); ADD_FLAG("CFLAGS_LIBXML", "/D LIBXML_STATIC /D LIBXML_STATIC_FOR_DLL /D HAVE_WIN32_THREADS "); if (!PHP_LIBXML_SHARED) { - ADD_DEF_FILE("ext\\libxml\\php_libxml2.def"); + if (libxml_ver >= 21500) { + /* The HTTP and FTP modules, SAX1, the shell, xmlunicode.h + and various other legacy symbols were removed in 2.15. */ + ADD_DEF_FILE("ext\\libxml\\php_libxml2.def"); + } else { + ADD_DEF_FILE("ext\\libxml\\php_libxml2_legacy.def"); + } } PHP_INSTALL_HEADERS("ext/libxml", "php_libxml.h"); } else { diff -Nru php8.4-8.4.24/ext/libxml/php_libxml2.def php8.4-8.4.26/ext/libxml/php_libxml2.def --- php8.4-8.4.24/ext/libxml/php_libxml2.def 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/libxml/php_libxml2.def 2026-09-22 15:00:02.000000000 +0000 @@ -1,10 +1,4 @@ EXPORTS -__htmlDefaultSAXHandler -__oldXMLWDcompatibility -__xmlBufferAllocScheme -__xmlDefaultBufferSize -__xmlDefaultSAXHandler -__xmlDefaultSAXLocator __xmlDeregisterNodeDefaultValue __xmlDoValidityCheckingDefaultValue xmlFree DATA @@ -20,17 +14,11 @@ xmlIsIdeographicGroup DATA xmlIsPubidChar_tab DATA __xmlKeepBlanksDefaultValue -xmlLastError DATA __xmlLineNumbersDefaultValue __xmlLoadExtDtdDefaultValue xmlMalloc DATA xmlMallocAtomic DATA xmlMemStrdup DATA -xmlOutputBufferCreateFilenameValue DATA -__xmlParserDebugEntities -xmlParserInputBufferCreateFilenameValue DATA -xmlParserMaxDepth DATA -__xmlParserVersion __xmlPedanticParserDefaultValue xmlRealloc DATA __xmlRegisterNodeDefaultValue @@ -38,35 +26,11 @@ xmlStringComment DATA xmlStringText DATA xmlStringTextNoenc DATA -xmlStructuredError DATA __xmlSubstituteEntitiesDefaultValue __xmlTreeIndentString xmlXPathNAN DATA xmlXPathNINF DATA xmlXPathPINF DATA -UTF8ToHtml -UTF8Toisolat1 -attribute -attributeDecl -cdataBlock -characters -checkNamespace -comment -elementDecl -endDocument -endElement -entityDecl -externalSubset -getColumnNumber -getEntity -getLineNumber -getNamespace -getParameterEntity -getPublicId -getSystemId -globalNamespace -hasExternalSubset -hasInternalSubset htmlAttrAllowed htmlAutoCloseTag htmlCreateFileParserCtxt @@ -123,31 +87,8 @@ htmlSaveFileFormat htmlSetMetaEncoding htmlTagLookup -ignorableWhitespace -initGenericErrorDefaultFunc -inithtmlDefaultSAXHandler -initxmlDefaultSAXHandler -inputPop -inputPush -internalSubset -isStandalone -isolat1ToUTF8 -namePop -namePush -namespaceDecl nodePop nodePush -notationDecl -processingInstruction -reference -resolveEntity -setDocumentLocator -setNamespace -startDocument -startElement -unparsedEntityDecl -valuePop -valuePush xmlACatalogAdd xmlACatalogDump xmlACatalogRemove @@ -187,7 +128,6 @@ xmlAutomataNewTransition xmlAutomataNewTransition2 xmlAutomataSetFinalState -xmlBoolToText xmlBufferAdd xmlBufferAddHead xmlBufferCCat @@ -255,7 +195,6 @@ xmlCleanupMemory xmlCleanupOutputCallbacks xmlCleanupParser -xmlCleanupPredefinedEntities xmlCleanupThreads xmlClearNodeInfoSeq xmlClearParserCtxt @@ -289,6 +228,7 @@ xmlCreateURI xmlCreateURLParserCtxt xmlCtxtGetLastError +xmlCtxtParseDocument xmlCtxtReadDoc xmlCtxtReadFd xmlCtxtReadFile @@ -297,6 +237,7 @@ xmlCtxtReset xmlCtxtResetLastError xmlCtxtResetPush +xmlCtxtSetOptions xmlCtxtUseOptions xmlCurrentChar xmlDebugCheckDocument @@ -310,7 +251,6 @@ xmlDebugDumpNodeList xmlDebugDumpOneNode xmlDebugDumpString -xmlDecodeEntities xmlDefaultSAXHandlerInit xmlDelEncodingAlias xmlDeregisterNodeDefault @@ -342,7 +282,6 @@ xmlDumpNotationDecl xmlDumpNotationTable xmlElemDump -xmlEncodeEntities xmlEncodeEntitiesReentrant xmlEncodeSpecialChars xmlFileClose @@ -395,9 +334,6 @@ xmlGetDtdQElementDesc xmlGetEncodingAlias xmlGetExternalEntityLoader -xmlGetFeature -xmlGetFeaturesList -xmlGetGlobalState xmlGetID xmlGetIntSubset xmlGetLastChild @@ -411,9 +347,7 @@ xmlGetPredefinedEntity xmlGetProp xmlGetRefs -xmlGetThreadId xmlGetUTF8Char -xmlHandleEntity xmlHasNsProp xmlHasProp xmlHashAddEntry @@ -439,15 +373,6 @@ xmlHashUpdateEntry xmlHashUpdateEntry2 xmlHashUpdateEntry3 -xmlIOFTPClose -xmlIOFTPMatch -xmlIOFTPOpen -xmlIOFTPRead -xmlIOHTTPClose -xmlIOHTTPMatch -xmlIOHTTPOpen -xmlIOHTTPOpenW -xmlIOHTTPRead xmlIOParseDTD xmlInitCharEncodingHandlers xmlInitGlobals @@ -457,8 +382,6 @@ xmlInitParserCtxt xmlInitThreads xmlInitializeCatalog -xmlInitializeGlobalState -xmlInitializePredefinedEntities xmlIsBaseChar xmlIsBlank xmlIsBlankNode @@ -469,7 +392,6 @@ xmlIsID xmlIsIdeographic xmlIsLetter -xmlIsMainThread xmlIsMixedElement xmlIsPubidChar xmlIsRef @@ -508,8 +430,6 @@ xmlLoadExternalEntity xmlLoadSGMLSuperCatalog xmlLockLibrary -xmlLsCountNode -xmlLsOneNode xmlMallocAtomicLoc xmlMallocLoc xmlMemBlocks @@ -530,48 +450,6 @@ xmlModuleSymbol xmlMutexLock xmlMutexUnlock -xmlNamespaceParseNCName -xmlNamespaceParseNSDef -xmlNamespaceParseQName -xmlNanoFTPCheckResponse -xmlNanoFTPCleanup -xmlNanoFTPClose -xmlNanoFTPCloseConnection -xmlNanoFTPConnect -xmlNanoFTPConnectTo -xmlNanoFTPCwd -xmlNanoFTPDele -xmlNanoFTPFreeCtxt -xmlNanoFTPGet -xmlNanoFTPGetConnection -xmlNanoFTPGetResponse -xmlNanoFTPGetSocket -xmlNanoFTPInit -xmlNanoFTPList -xmlNanoFTPNewCtxt -xmlNanoFTPOpen -xmlNanoFTPProxy -xmlNanoFTPQuit -xmlNanoFTPRead -xmlNanoFTPScanProxy -xmlNanoFTPUpdateURL -xmlNanoHTTPAuthHeader -xmlNanoHTTPCleanup -xmlNanoHTTPClose -xmlNanoHTTPContentLength -xmlNanoHTTPEncoding -xmlNanoHTTPFetch -xmlNanoHTTPInit -xmlNanoHTTPMethod -xmlNanoHTTPMethodRedir -xmlNanoHTTPMimeType -xmlNanoHTTPOpen -xmlNanoHTTPOpenRedir -xmlNanoHTTPRead -xmlNanoHTTPRedir -xmlNanoHTTPReturnCode -xmlNanoHTTPSave -xmlNanoHTTPScanProxy xmlNewAutomata xmlNewCDataBlock xmlNewCatalog @@ -592,7 +470,6 @@ xmlNewDtd xmlNewElementContent xmlNewEntityInputStream -xmlNewGlobalNs xmlNewIOInputStream xmlNewInputFromFile xmlNewInputStream @@ -696,7 +573,6 @@ xmlParseMemory xmlParseMisc xmlParseName -xmlParseNamespace xmlParseNmtoken xmlParseNotationDecl xmlParseNotationType @@ -704,7 +580,6 @@ xmlParsePI xmlParsePITarget xmlParsePubidLiteral -xmlParseQuotedString xmlParseReference xmlParseSDDecl xmlParseStartTag @@ -721,7 +596,6 @@ xmlParserFindNodeInfoIndex xmlParserGetDirectory xmlParserHandlePEReference -xmlParserHandleReference xmlParserInputBufferCreateFd xmlParserInputBufferCreateFile xmlParserInputBufferCreateFilename @@ -783,7 +657,6 @@ xmlRegisterCharEncodingHandler xmlRegisterDefaultInputCallbacks xmlRegisterDefaultOutputCallbacks -xmlRegisterHTTPPostCallbacks xmlRegisterInputCallbacks xmlRegisterNodeDefault xmlRegisterOutputCallbacks @@ -918,9 +791,7 @@ xmlSetBufferAllocationScheme xmlSetCompressMode xmlSetDocCompressMode -xmlSetEntityReferenceFunc xmlSetExternalEntityLoader -xmlSetFeature xmlSetGenericErrorFunc xmlSetListDoc xmlSetNs @@ -929,20 +800,6 @@ xmlSetStructuredErrorFunc xmlSetTreeDoc xmlSetupParserForBuffer -xmlShell -xmlShellBase -xmlShellCat -xmlShellDir -xmlShellDu -xmlShellList -xmlShellLoad -xmlShellPrintNode -xmlShellPrintXPathError -xmlShellPrintXPathResult -xmlShellPwd -xmlShellSave -xmlShellValidate -xmlShellWrite xmlSkipBlankChars xmlSnprintfElementContent xmlSplitQName @@ -1116,8 +973,6 @@ xmlTextWriterWriteVFormatPI xmlTextWriterWriteVFormatRaw xmlTextWriterWriteVFormatString -xmlThrDefBufferAllocScheme -xmlThrDefDefaultBufferSize xmlThrDefDeregisterNodeDefault xmlThrDefDoValidityCheckingDefaultValue xmlThrDefGetWarningsDefaultValue @@ -1126,7 +981,6 @@ xmlThrDefLineNumbersDefaultValue xmlThrDefLoadExtDtdDefaultValue xmlThrDefOutputBufferCreateFilenameDefault -xmlThrDefParserDebugEntities xmlThrDefParserInputBufferCreateFilenameDefault xmlThrDefPedanticParserDefaultValue xmlThrDefRegisterNodeDefault @@ -1135,172 +989,6 @@ xmlThrDefSetStructuredErrorFunc xmlThrDefSubstituteEntitiesDefaultValue xmlThrDefTreeIndentString -xmlUCSIsAegeanNumbers -xmlUCSIsAlphabeticPresentationForms -xmlUCSIsArabic -xmlUCSIsArabicPresentationFormsA -xmlUCSIsArabicPresentationFormsB -xmlUCSIsArmenian -xmlUCSIsArrows -xmlUCSIsBasicLatin -xmlUCSIsBengali -xmlUCSIsBlock -xmlUCSIsBlockElements -xmlUCSIsBopomofo -xmlUCSIsBopomofoExtended -xmlUCSIsBoxDrawing -xmlUCSIsBraillePatterns -xmlUCSIsBuhid -xmlUCSIsByzantineMusicalSymbols -xmlUCSIsCJKCompatibility -xmlUCSIsCJKCompatibilityForms -xmlUCSIsCJKCompatibilityIdeographs -xmlUCSIsCJKCompatibilityIdeographsSupplement -xmlUCSIsCJKRadicalsSupplement -xmlUCSIsCJKSymbolsandPunctuation -xmlUCSIsCJKUnifiedIdeographs -xmlUCSIsCJKUnifiedIdeographsExtensionA -xmlUCSIsCJKUnifiedIdeographsExtensionB -xmlUCSIsCat -xmlUCSIsCatC -xmlUCSIsCatCc -xmlUCSIsCatCf -xmlUCSIsCatCo -xmlUCSIsCatCs -xmlUCSIsCatL -xmlUCSIsCatLl -xmlUCSIsCatLm -xmlUCSIsCatLo -xmlUCSIsCatLt -xmlUCSIsCatLu -xmlUCSIsCatM -xmlUCSIsCatMc -xmlUCSIsCatMe -xmlUCSIsCatMn -xmlUCSIsCatN -xmlUCSIsCatNd -xmlUCSIsCatNl -xmlUCSIsCatNo -xmlUCSIsCatP -xmlUCSIsCatPc -xmlUCSIsCatPd -xmlUCSIsCatPe -xmlUCSIsCatPf -xmlUCSIsCatPi -xmlUCSIsCatPo -xmlUCSIsCatPs -xmlUCSIsCatS -xmlUCSIsCatSc -xmlUCSIsCatSk -xmlUCSIsCatSm -xmlUCSIsCatSo -xmlUCSIsCatZ -xmlUCSIsCatZl -xmlUCSIsCatZp -xmlUCSIsCatZs -xmlUCSIsCherokee -xmlUCSIsCombiningDiacriticalMarks -xmlUCSIsCombiningDiacriticalMarksforSymbols -xmlUCSIsCombiningHalfMarks -xmlUCSIsCombiningMarksforSymbols -xmlUCSIsControlPictures -xmlUCSIsCurrencySymbols -xmlUCSIsCypriotSyllabary -xmlUCSIsCyrillic -xmlUCSIsCyrillicSupplement -xmlUCSIsDeseret -xmlUCSIsDevanagari -xmlUCSIsDingbats -xmlUCSIsEnclosedAlphanumerics -xmlUCSIsEnclosedCJKLettersandMonths -xmlUCSIsEthiopic -xmlUCSIsGeneralPunctuation -xmlUCSIsGeometricShapes -xmlUCSIsGeorgian -xmlUCSIsGothic -xmlUCSIsGreek -xmlUCSIsGreekExtended -xmlUCSIsGreekandCoptic -xmlUCSIsGujarati -xmlUCSIsGurmukhi -xmlUCSIsHalfwidthandFullwidthForms -xmlUCSIsHangulCompatibilityJamo -xmlUCSIsHangulJamo -xmlUCSIsHangulSyllables -xmlUCSIsHanunoo -xmlUCSIsHebrew -xmlUCSIsHighPrivateUseSurrogates -xmlUCSIsHighSurrogates -xmlUCSIsHiragana -xmlUCSIsIPAExtensions -xmlUCSIsIdeographicDescriptionCharacters -xmlUCSIsKanbun -xmlUCSIsKangxiRadicals -xmlUCSIsKannada -xmlUCSIsKatakana -xmlUCSIsKatakanaPhoneticExtensions -xmlUCSIsKhmer -xmlUCSIsKhmerSymbols -xmlUCSIsLao -xmlUCSIsLatin1Supplement -xmlUCSIsLatinExtendedA -xmlUCSIsLatinExtendedAdditional -xmlUCSIsLatinExtendedB -xmlUCSIsLetterlikeSymbols -xmlUCSIsLimbu -xmlUCSIsLinearBIdeograms -xmlUCSIsLinearBSyllabary -xmlUCSIsLowSurrogates -xmlUCSIsMalayalam -xmlUCSIsMathematicalAlphanumericSymbols -xmlUCSIsMathematicalOperators -xmlUCSIsMiscellaneousMathematicalSymbolsA -xmlUCSIsMiscellaneousMathematicalSymbolsB -xmlUCSIsMiscellaneousSymbols -xmlUCSIsMiscellaneousSymbolsandArrows -xmlUCSIsMiscellaneousTechnical -xmlUCSIsMongolian -xmlUCSIsMusicalSymbols -xmlUCSIsMyanmar -xmlUCSIsNumberForms -xmlUCSIsOgham -xmlUCSIsOldItalic -xmlUCSIsOpticalCharacterRecognition -xmlUCSIsOriya -xmlUCSIsOsmanya -xmlUCSIsPhoneticExtensions -xmlUCSIsPrivateUse -xmlUCSIsPrivateUseArea -xmlUCSIsRunic -xmlUCSIsShavian -xmlUCSIsSinhala -xmlUCSIsSmallFormVariants -xmlUCSIsSpacingModifierLetters -xmlUCSIsSpecials -xmlUCSIsSuperscriptsandSubscripts -xmlUCSIsSupplementalArrowsA -xmlUCSIsSupplementalArrowsB -xmlUCSIsSupplementalMathematicalOperators -xmlUCSIsSupplementaryPrivateUseAreaA -xmlUCSIsSupplementaryPrivateUseAreaB -xmlUCSIsSyriac -xmlUCSIsTagalog -xmlUCSIsTagbanwa -xmlUCSIsTags -xmlUCSIsTaiLe -xmlUCSIsTaiXuanJingSymbols -xmlUCSIsTamil -xmlUCSIsTelugu -xmlUCSIsThaana -xmlUCSIsThai -xmlUCSIsTibetan -xmlUCSIsUgaritic -xmlUCSIsUnifiedCanadianAboriginalSyllabics -xmlUCSIsVariationSelectors -xmlUCSIsVariationSelectorsSupplement -xmlUCSIsYiRadicals -xmlUCSIsYiSyllables -xmlUCSIsYijingHexagramSymbols xmlURIEscape xmlURIEscapeStr xmlURIUnescapeString @@ -1500,6 +1188,8 @@ xmlXPathTranslateFunction xmlXPathTrueFunction xmlXPathValueFlipSign +xmlXPathValuePop +xmlXPathValuePush xmlXPathVariableLookup xmlXPathVariableLookupNS xmlXPathWrapCString diff -Nru php8.4-8.4.24/ext/libxml/php_libxml2_legacy.def php8.4-8.4.26/ext/libxml/php_libxml2_legacy.def --- php8.4-8.4.24/ext/libxml/php_libxml2_legacy.def 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/libxml/php_libxml2_legacy.def 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,1514 @@ +EXPORTS +__htmlDefaultSAXHandler +__oldXMLWDcompatibility +__xmlBufferAllocScheme +__xmlDefaultBufferSize +__xmlDefaultSAXHandler +__xmlDefaultSAXLocator +__xmlDeregisterNodeDefaultValue +__xmlDoValidityCheckingDefaultValue +xmlFree DATA +__xmlGenericError +__xmlGenericErrorContext +__xmlGetWarningsDefaultValue +__xmlIndentTreeOutput +xmlIsBaseCharGroup DATA +xmlIsCharGroup DATA +xmlIsCombiningGroup DATA +xmlIsDigitGroup DATA +xmlIsExtenderGroup DATA +xmlIsIdeographicGroup DATA +xmlIsPubidChar_tab DATA +__xmlKeepBlanksDefaultValue +xmlLastError DATA +__xmlLineNumbersDefaultValue +__xmlLoadExtDtdDefaultValue +xmlMalloc DATA +xmlMallocAtomic DATA +xmlMemStrdup DATA +xmlOutputBufferCreateFilenameValue DATA +__xmlParserDebugEntities +xmlParserInputBufferCreateFilenameValue DATA +xmlParserMaxDepth DATA +__xmlParserVersion +__xmlPedanticParserDefaultValue +xmlRealloc DATA +__xmlRegisterNodeDefaultValue +__xmlSaveNoEmptyTags +xmlStringComment DATA +xmlStringText DATA +xmlStringTextNoenc DATA +xmlStructuredError DATA +__xmlSubstituteEntitiesDefaultValue +__xmlTreeIndentString +xmlXPathNAN DATA +xmlXPathNINF DATA +xmlXPathPINF DATA +UTF8ToHtml +UTF8Toisolat1 +attribute +attributeDecl +cdataBlock +characters +checkNamespace +comment +elementDecl +endDocument +endElement +entityDecl +externalSubset +getColumnNumber +getEntity +getLineNumber +getNamespace +getParameterEntity +getPublicId +getSystemId +globalNamespace +hasExternalSubset +hasInternalSubset +htmlAttrAllowed +htmlAutoCloseTag +htmlCreateFileParserCtxt +htmlCreateMemoryParserCtxt +htmlCreatePushParserCtxt +htmlCtxtReadDoc +htmlCtxtReadFd +htmlCtxtReadFile +htmlCtxtReadIO +htmlCtxtReadMemory +htmlCtxtReset +htmlCtxtUseOptions +htmlDefaultSAXHandlerInit +htmlDocContentDumpFormatOutput +htmlDocContentDumpOutput +htmlDocDump +htmlDocDumpMemory +htmlElementAllowedHere +htmlElementStatusHere +htmlEncodeEntities +htmlEntityLookup +htmlEntityValueLookup +htmlFreeParserCtxt +htmlGetMetaEncoding +htmlHandleOmittedElem +htmlInitAutoClose +htmlIsAutoClosed +htmlIsBooleanAttr +htmlIsScriptAttribute +htmlNewDoc +htmlNewDocNoDtD +htmlNodeDump +htmlNodeDumpFile +htmlNodeDumpFileFormat +htmlNodeDumpFormatOutput +htmlNodeDumpOutput +htmlNodeStatus +htmlParseCharRef +htmlParseChunk +htmlParseDoc +htmlParseDocument +htmlParseElement +htmlParseEntityRef +htmlParseFile +htmlReadDoc +htmlReadFd +htmlReadFile +htmlReadIO +htmlReadMemory +htmlSAXParseDoc +htmlSAXParseFile +htmlSaveFile +htmlSaveFileEnc +htmlSaveFileFormat +htmlSetMetaEncoding +htmlTagLookup +ignorableWhitespace +initGenericErrorDefaultFunc +inithtmlDefaultSAXHandler +initxmlDefaultSAXHandler +inputPop +inputPush +internalSubset +isStandalone +isolat1ToUTF8 +namePop +namePush +namespaceDecl +nodePop +nodePush +notationDecl +processingInstruction +reference +resolveEntity +setDocumentLocator +setNamespace +startDocument +startElement +unparsedEntityDecl +valuePop +valuePush +xmlACatalogAdd +xmlACatalogDump +xmlACatalogRemove +xmlACatalogResolve +xmlACatalogResolvePublic +xmlACatalogResolveSystem +xmlACatalogResolveURI +xmlAddAttributeDecl +xmlAddChild +xmlAddChildList +xmlAddDocEntity +xmlAddDtdEntity +xmlAddElementDecl +xmlAddEncodingAlias +xmlAddID +xmlAddNextSibling +xmlAddNotationDecl +xmlAddPrevSibling +xmlAddRef +xmlAddSibling +xmlAllocOutputBuffer +xmlAllocParserInputBuffer +xmlAttrSerializeTxtContent +xmlAutomataCompile +xmlAutomataGetInitState +xmlAutomataIsDeterminist +xmlAutomataNewAllTrans +xmlAutomataNewCountTrans +xmlAutomataNewCountTrans2 +xmlAutomataNewCountedTrans +xmlAutomataNewCounter +xmlAutomataNewCounterTrans +xmlAutomataNewEpsilon +xmlAutomataNewOnceTrans +xmlAutomataNewOnceTrans2 +xmlAutomataNewState +xmlAutomataNewTransition +xmlAutomataNewTransition2 +xmlAutomataSetFinalState +xmlBoolToText +xmlBufferAdd +xmlBufferAddHead +xmlBufferCCat +xmlBufferCat +xmlBufferContent +xmlBufferCreate +xmlBufferCreateSize +xmlBufferCreateStatic +xmlBufferDump +xmlBufferEmpty +xmlBufferFree +xmlBufferGrow +xmlBufferLength +xmlBufferResize +xmlBufferSetAllocationScheme +xmlBufferShrink +xmlBufferWriteCHAR +xmlBufferWriteChar +xmlBufferWriteQuotedString +xmlBuildQName +xmlBuildRelativeURI +xmlBuildURI +xmlByteConsumed +xmlC14NDocDumpMemory +xmlC14NDocSave +xmlC14NDocSaveTo +xmlC14NExecute +xmlCanonicPath +xmlCatalogAdd +xmlCatalogAddLocal +xmlCatalogCleanup +xmlCatalogConvert +xmlCatalogDump +xmlCatalogFreeLocal +xmlCatalogGetDefaults +xmlCatalogGetPublic +xmlCatalogGetSystem +xmlCatalogIsEmpty +xmlCatalogLocalResolve +xmlCatalogLocalResolveURI +xmlCatalogRemove +xmlCatalogResolve +xmlCatalogResolvePublic +xmlCatalogResolveSystem +xmlCatalogResolveURI +xmlCatalogSetDebug +xmlCatalogSetDefaultPrefer +xmlCatalogSetDefaults +xmlCharEncCloseFunc +xmlCharEncFirstLine +xmlCharEncInFunc +xmlCharEncOutFunc +xmlCharInRange +xmlCharStrdup +xmlCharStrndup +xmlCheckFilename +xmlCheckHTTPInput +xmlCheckLanguageID +xmlCheckUTF8 +xmlCheckVersion +xmlCleanupCharEncodingHandlers +xmlCleanupEncodingAliases +xmlCleanupGlobals +xmlCleanupInputCallbacks +xmlCleanupMemory +xmlCleanupOutputCallbacks +xmlCleanupParser +xmlCleanupPredefinedEntities +xmlCleanupThreads +xmlClearNodeInfoSeq +xmlClearParserCtxt +xmlConvertSGMLCatalog +xmlCopyAttributeTable +xmlCopyChar +xmlCopyCharMultiByte +xmlCopyDoc +xmlCopyDtd +xmlCopyElementContent +xmlCopyElementTable +xmlCopyEntitiesTable +xmlCopyEnumeration +xmlCopyError +xmlCopyNamespace +xmlCopyNamespaceList +xmlCopyNode +xmlCopyNodeList +xmlCopyNotationTable +xmlCopyProp +xmlCopyPropList +xmlCreateDocParserCtxt +xmlCreateEntitiesTable +xmlCreateEntityParserCtxt +xmlCreateEnumeration +xmlCreateFileParserCtxt +xmlCreateIOParserCtxt +xmlCreateIntSubset +xmlCreateMemoryParserCtxt +xmlCreatePushParserCtxt +xmlCreateURI +xmlCreateURLParserCtxt +xmlCtxtGetLastError +xmlCtxtReadDoc +xmlCtxtReadFd +xmlCtxtReadFile +xmlCtxtReadIO +xmlCtxtReadMemory +xmlCtxtReset +xmlCtxtResetLastError +xmlCtxtResetPush +xmlCtxtUseOptions +xmlCurrentChar +xmlDebugCheckDocument +xmlDebugDumpAttr +xmlDebugDumpAttrList +xmlDebugDumpDTD +xmlDebugDumpDocument +xmlDebugDumpDocumentHead +xmlDebugDumpEntities +xmlDebugDumpNode +xmlDebugDumpNodeList +xmlDebugDumpOneNode +xmlDebugDumpString +xmlDecodeEntities +xmlDefaultSAXHandlerInit +xmlDelEncodingAlias +xmlDeregisterNodeDefault +xmlDetectCharEncoding +xmlDictCreate +xmlDictCreateSub +xmlDictFree +xmlDictLookup +xmlDictOwns +xmlDictQLookup +xmlDictReference +xmlDictSize +xmlDocCopyNode +xmlDocCopyNodeList +xmlDocDump +xmlDocDumpFormatMemory +xmlDocDumpFormatMemoryEnc +xmlDocDumpMemory +xmlDocDumpMemoryEnc +xmlDocFormatDump +xmlDocGetRootElement +xmlDocSetRootElement +xmlDumpAttributeDecl +xmlDumpAttributeTable +xmlDumpElementDecl +xmlDumpElementTable +xmlDumpEntitiesTable +xmlDumpEntityDecl +xmlDumpNotationDecl +xmlDumpNotationTable +xmlElemDump +xmlEncodeEntities +xmlEncodeEntitiesReentrant +xmlEncodeSpecialChars +xmlFileClose +xmlFileMatch +xmlFileOpen +xmlFileRead +xmlFindCharEncodingHandler +xmlFreeAttributeTable +xmlFreeAutomata +xmlFreeCatalog +xmlFreeDoc +xmlFreeDtd +xmlFreeElementContent +xmlFreeElementTable +xmlFreeEntitiesTable +xmlFreeEnumeration +xmlFreeIDTable +xmlFreeInputStream +xmlFreeMutex +xmlFreeNode +xmlFreeNodeList +xmlFreeNotationTable +xmlFreeNs +xmlFreeNsList +xmlFreeParserCtxt +xmlFreeParserInputBuffer +xmlFreePattern +xmlFreePatternList +xmlFreeProp +xmlFreePropList +xmlFreeRMutex +xmlFreeRefTable +xmlFreeTextReader +xmlFreeTextWriter +xmlFreeURI +xmlFreeValidCtxt +xmlGcMemGet +xmlGcMemSetup +xmlGetBufferAllocationScheme +xmlGetCharEncodingHandler +xmlGetCharEncodingName +xmlGetCompressMode +xmlGetDocCompressMode +xmlGetDocEntity +xmlGetDtdAttrDesc +xmlGetDtdElementDesc +xmlGetDtdEntity +xmlGetDtdNotationDesc +xmlGetDtdQAttrDesc +xmlGetDtdQElementDesc +xmlGetEncodingAlias +xmlGetExternalEntityLoader +xmlGetFeature +xmlGetFeaturesList +xmlGetGlobalState +xmlGetID +xmlGetIntSubset +xmlGetLastChild +xmlGetLastError +xmlGetLineNo +xmlGetNoNsProp +xmlGetNodePath +xmlGetNsList +xmlGetNsProp +xmlGetParameterEntity +xmlGetPredefinedEntity +xmlGetProp +xmlGetRefs +xmlGetThreadId +xmlGetUTF8Char +xmlHandleEntity +xmlHasNsProp +xmlHasProp +xmlHashAddEntry +xmlHashAddEntry2 +xmlHashAddEntry3 +xmlHashCopy +xmlHashCreate +xmlHashFree +xmlHashLookup +xmlHashLookup2 +xmlHashLookup3 +xmlHashQLookup +xmlHashQLookup2 +xmlHashQLookup3 +xmlHashRemoveEntry +xmlHashRemoveEntry2 +xmlHashRemoveEntry3 +xmlHashScan +xmlHashScan3 +xmlHashScanFull +xmlHashScanFull3 +xmlHashSize +xmlHashUpdateEntry +xmlHashUpdateEntry2 +xmlHashUpdateEntry3 +xmlIOFTPClose +xmlIOFTPMatch +xmlIOFTPOpen +xmlIOFTPRead +xmlIOHTTPClose +xmlIOHTTPMatch +xmlIOHTTPOpen +xmlIOHTTPOpenW +xmlIOHTTPRead +xmlIOParseDTD +xmlInitCharEncodingHandlers +xmlInitGlobals +xmlInitMemory +xmlInitNodeInfoSeq +xmlInitParser +xmlInitParserCtxt +xmlInitThreads +xmlInitializeCatalog +xmlInitializeGlobalState +xmlInitializePredefinedEntities +xmlIsBaseChar +xmlIsBlank +xmlIsBlankNode +xmlIsChar +xmlIsCombining +xmlIsDigit +xmlIsExtender +xmlIsID +xmlIsIdeographic +xmlIsLetter +xmlIsMainThread +xmlIsMixedElement +xmlIsPubidChar +xmlIsRef +xmlIsXHTML +xmlKeepBlanksDefault +xmlLineNumbersDefault +xmlLinkGetData +xmlListAppend +xmlListClear +xmlListCopy +xmlListCreate +xmlListDelete +xmlListDup +xmlListEmpty +xmlListEnd +xmlListFront +xmlListInsert +xmlListMerge +xmlListPopBack +xmlListPopFront +xmlListPushBack +xmlListPushFront +xmlListRemoveAll +xmlListRemoveFirst +xmlListRemoveLast +xmlListReverse +xmlListReverseSearch +xmlListReverseWalk +xmlListSearch +xmlListSize +xmlListSort +xmlListWalk +xmlLoadACatalog +xmlLoadCatalog +xmlLoadCatalogs +xmlLoadExternalEntity +xmlLoadSGMLSuperCatalog +xmlLockLibrary +xmlLsCountNode +xmlLsOneNode +xmlMallocAtomicLoc +xmlMallocLoc +xmlMemBlocks +xmlMemDisplay +xmlMemFree +xmlMemGet +xmlMemMalloc +xmlMemRealloc +xmlMemSetup +xmlMemShow +xmlMemStrdupLoc +xmlMemUsed +xmlMemoryDump +xmlMemoryStrdup +xmlModuleClose +xmlModuleFree +xmlModuleOpen +xmlModuleSymbol +xmlMutexLock +xmlMutexUnlock +xmlNamespaceParseNCName +xmlNamespaceParseNSDef +xmlNamespaceParseQName +xmlNanoFTPCheckResponse +xmlNanoFTPCleanup +xmlNanoFTPClose +xmlNanoFTPCloseConnection +xmlNanoFTPConnect +xmlNanoFTPConnectTo +xmlNanoFTPCwd +xmlNanoFTPDele +xmlNanoFTPFreeCtxt +xmlNanoFTPGet +xmlNanoFTPGetConnection +xmlNanoFTPGetResponse +xmlNanoFTPGetSocket +xmlNanoFTPInit +xmlNanoFTPList +xmlNanoFTPNewCtxt +xmlNanoFTPOpen +xmlNanoFTPProxy +xmlNanoFTPQuit +xmlNanoFTPRead +xmlNanoFTPScanProxy +xmlNanoFTPUpdateURL +xmlNanoHTTPAuthHeader +xmlNanoHTTPCleanup +xmlNanoHTTPClose +xmlNanoHTTPContentLength +xmlNanoHTTPEncoding +xmlNanoHTTPFetch +xmlNanoHTTPInit +xmlNanoHTTPMethod +xmlNanoHTTPMethodRedir +xmlNanoHTTPMimeType +xmlNanoHTTPOpen +xmlNanoHTTPOpenRedir +xmlNanoHTTPRead +xmlNanoHTTPRedir +xmlNanoHTTPReturnCode +xmlNanoHTTPSave +xmlNanoHTTPScanProxy +xmlNewAutomata +xmlNewCDataBlock +xmlNewCatalog +xmlNewCharEncodingHandler +xmlNewCharRef +xmlNewChild +xmlNewComment +xmlNewDoc +xmlNewDocComment +xmlNewDocFragment +xmlNewDocNode +xmlNewDocNodeEatName +xmlNewDocPI +xmlNewDocProp +xmlNewDocRawNode +xmlNewDocText +xmlNewDocTextLen +xmlNewDtd +xmlNewElementContent +xmlNewEntityInputStream +xmlNewGlobalNs +xmlNewIOInputStream +xmlNewInputFromFile +xmlNewInputStream +xmlNewMutex +xmlNewNode +xmlNewNodeEatName +xmlNewNs +xmlNewNsProp +xmlNewNsPropEatName +xmlNewPI +xmlNewParserCtxt +xmlNewProp +xmlNewRMutex +xmlNewReference +xmlNewStringInputStream +xmlNewText +xmlNewTextChild +xmlNewTextLen +xmlNewTextReader +xmlNewTextReaderFilename +xmlNewTextWriter +xmlNewTextWriterDoc +xmlNewTextWriterFilename +xmlNewTextWriterMemory +xmlNewTextWriterPushParser +xmlNewTextWriterTree +xmlNewValidCtxt +xmlNextChar +xmlNoNetExternalEntityLoader +xmlNodeAddContent +xmlNodeAddContentLen +xmlNodeBufGetContent +xmlNodeDump +xmlNodeDumpOutput +xmlNodeGetBase +xmlNodeGetContent +xmlNodeGetLang +xmlNodeGetSpacePreserve +xmlNodeIsText +xmlNodeListGetRawString +xmlNodeListGetString +xmlNodeSetBase +xmlNodeSetContent +xmlNodeSetContentLen +xmlNodeSetLang +xmlNodeSetName +xmlNodeSetSpacePreserve +xmlNormalizeURIPath +xmlNormalizeWindowsPath +xmlOutputBufferClose +xmlOutputBufferCreateFd +xmlOutputBufferCreateFile +xmlOutputBufferCreateFilename +xmlOutputBufferCreateFilenameDefault +xmlOutputBufferCreateIO +xmlOutputBufferFlush +xmlOutputBufferWrite +xmlOutputBufferWriteEscape +xmlOutputBufferWriteString +xmlParseAttValue +xmlParseAttribute +xmlParseAttributeListDecl +xmlParseAttributeType +xmlParseBalancedChunkMemory +xmlParseBalancedChunkMemoryRecover +xmlParseCDSect +xmlParseCatalogFile +xmlParseCharData +xmlParseCharEncoding +xmlParseCharRef +xmlParseChunk +xmlParseComment +xmlParseContent +xmlParseCtxtExternalEntity +xmlParseDTD +xmlParseDefaultDecl +xmlParseDoc +xmlParseDocTypeDecl +xmlParseDocument +xmlParseElement +xmlParseElementChildrenContentDecl +xmlParseElementContentDecl +xmlParseElementDecl +xmlParseElementMixedContentDecl +xmlParseEncName +xmlParseEncodingDecl +xmlParseEndTag +xmlParseEntity +xmlParseEntityDecl +xmlParseEntityRef +xmlParseEntityValue +xmlParseEnumeratedType +xmlParseEnumerationType +xmlParseExtParsedEnt +xmlParseExternalEntity +xmlParseExternalID +xmlParseExternalSubset +xmlParseFile +xmlParseInNodeContext +xmlParseMarkupDecl +xmlParseMemory +xmlParseMisc +xmlParseName +xmlParseNamespace +xmlParseNmtoken +xmlParseNotationDecl +xmlParseNotationType +xmlParsePEReference +xmlParsePI +xmlParsePITarget +xmlParsePubidLiteral +xmlParseQuotedString +xmlParseReference +xmlParseSDDecl +xmlParseStartTag +xmlParseSystemLiteral +xmlParseTextDecl +xmlParseURI +xmlParseURIReference +xmlParseVersionInfo +xmlParseVersionNum +xmlParseXMLDecl +xmlParserAddNodeInfo +xmlParserError +xmlParserFindNodeInfo +xmlParserFindNodeInfoIndex +xmlParserGetDirectory +xmlParserHandlePEReference +xmlParserHandleReference +xmlParserInputBufferCreateFd +xmlParserInputBufferCreateFile +xmlParserInputBufferCreateFilename +xmlParserInputBufferCreateFilenameDefault +xmlParserInputBufferCreateIO +xmlParserInputBufferCreateMem +xmlParserInputBufferCreateStatic +xmlParserInputBufferGrow +xmlParserInputBufferPush +xmlParserInputBufferRead +xmlParserInputGrow +xmlParserInputRead +xmlParserInputShrink +xmlParserPrintFileContext +xmlParserPrintFileInfo +xmlParserValidityError +xmlParserValidityWarning +xmlParserWarning +xmlPatternMatch +xmlPatterncompile +xmlPedanticParserDefault +xmlPopInput +xmlPopInputCallbacks +xmlPrintURI +xmlPushInput +xmlRMutexLock +xmlRMutexUnlock +xmlReadDoc +xmlReadFd +xmlReadFile +xmlReadIO +xmlReadMemory +xmlReaderForDoc +xmlReaderForFd +xmlReaderForFile +xmlReaderForIO +xmlReaderForMemory +xmlReaderNewDoc +xmlReaderNewFd +xmlReaderNewFile +xmlReaderNewIO +xmlReaderNewMemory +xmlReaderNewWalker +xmlReaderWalker +xmlReallocLoc +xmlReconciliateNs +xmlRecoverDoc +xmlRecoverFile +xmlRecoverMemory +xmlRegExecPushString +xmlRegExecPushString2 +xmlRegFreeExecCtxt +xmlRegFreeRegexp +xmlRegNewExecCtxt +xmlRegexpCompile +xmlRegexpExec +xmlRegexpIsDeterminist +xmlRegexpPrint +xmlRegisterCharEncodingHandler +xmlRegisterDefaultInputCallbacks +xmlRegisterDefaultOutputCallbacks +xmlRegisterHTTPPostCallbacks +xmlRegisterInputCallbacks +xmlRegisterNodeDefault +xmlRegisterOutputCallbacks +xmlRelaxNGDump +xmlRelaxNGDumpTree +xmlRelaxNGFree +xmlRelaxNGFreeParserCtxt +xmlRelaxNGFreeValidCtxt +xmlRelaxNGGetParserErrors +xmlRelaxNGGetValidErrors +xmlRelaxNGInitTypes +xmlRelaxNGNewDocParserCtxt +xmlRelaxNGNewMemParserCtxt +xmlRelaxNGNewParserCtxt +xmlRelaxNGNewValidCtxt +xmlRelaxNGParse +xmlRelaxNGSetParserErrors +xmlRelaxNGSetValidErrors +xmlRelaxNGValidateDoc +xmlRelaxNGValidateFullElement +xmlRelaxNGValidatePopElement +xmlRelaxNGValidatePushCData +xmlRelaxNGValidatePushElement +xmlRelaxParserSetFlag +xmlRemoveID +xmlRemoveProp +xmlRemoveRef +xmlReplaceNode +xmlResetError +xmlResetLastError +xmlSAX2AttributeDecl +xmlSAX2CDataBlock +xmlSAX2Characters +xmlSAX2Comment +xmlSAX2ElementDecl +xmlSAX2EndDocument +xmlSAX2EndElement +xmlSAX2EndElementNs +xmlSAX2EntityDecl +xmlSAX2ExternalSubset +xmlSAX2GetColumnNumber +xmlSAX2GetEntity +xmlSAX2GetLineNumber +xmlSAX2GetParameterEntity +xmlSAX2GetPublicId +xmlSAX2GetSystemId +xmlSAX2HasExternalSubset +xmlSAX2HasInternalSubset +xmlSAX2IgnorableWhitespace +xmlSAX2InitDefaultSAXHandler +xmlSAX2InitHtmlDefaultSAXHandler +xmlSAX2InternalSubset +xmlSAX2IsStandalone +xmlSAX2NotationDecl +xmlSAX2ProcessingInstruction +xmlSAX2Reference +xmlSAX2ResolveEntity +xmlSAX2SetDocumentLocator +xmlSAX2StartDocument +xmlSAX2StartElement +xmlSAX2StartElementNs +xmlSAX2UnparsedEntityDecl +xmlSAXDefaultVersion +xmlSAXParseDTD +xmlSAXParseDoc +xmlSAXParseEntity +xmlSAXParseFile +xmlSAXParseFileWithData +xmlSAXParseMemory +xmlSAXParseMemoryWithData +xmlSAXUserParseFile +xmlSAXUserParseMemory +xmlSAXVersion +xmlSaveClose +xmlSaveDoc +xmlSaveFile +xmlSaveFileEnc +xmlSaveFileTo +xmlSaveFlush +xmlSaveFormatFile +xmlSaveFormatFileEnc +xmlSaveFormatFileTo +xmlSaveSetAttrEscape +xmlSaveSetEscape +xmlSaveToFd +xmlSaveToFilename +xmlSaveToIO +xmlSaveTree +xmlSaveUri +xmlScanName +xmlSchemaCheckFacet +xmlSchemaCleanupTypes +xmlSchemaCollapseString +xmlSchemaCompareValues +xmlSchemaDump +xmlSchemaFree +xmlSchemaFreeFacet +xmlSchemaFreeParserCtxt +xmlSchemaFreeType +xmlSchemaFreeValidCtxt +xmlSchemaFreeValue +xmlSchemaFreeWildcard +xmlSchemaGetBuiltInListSimpleTypeItemType +xmlSchemaGetBuiltInType +xmlSchemaGetFacetValueAsULong +xmlSchemaGetParserErrors +xmlSchemaGetPredefinedType +xmlSchemaGetValidErrors +xmlSchemaInitTypes +xmlSchemaIsBuiltInTypeFacet +xmlSchemaNewDocParserCtxt +xmlSchemaNewFacet +xmlSchemaNewMemParserCtxt +xmlSchemaNewParserCtxt +xmlSchemaNewValidCtxt +xmlSchemaParse +xmlSchemaSetParserErrors +xmlSchemaSetValidErrors +xmlSchemaSetValidOptions +xmlSchemaValPredefTypeNode +xmlSchemaValPredefTypeNodeNoNorm +xmlSchemaValidCtxtGetOptions +xmlSchemaValidateDoc +xmlSchemaValidateFacet +xmlSchemaValidateLengthFacet +xmlSchemaValidateListSimpleTypeFacet +xmlSchemaValidateOneElement +xmlSchemaValidatePredefinedType +xmlSchemaValidateStream +xmlSearchNs +xmlSearchNsByHref +xmlSetBufferAllocationScheme +xmlSetCompressMode +xmlSetDocCompressMode +xmlSetEntityReferenceFunc +xmlSetExternalEntityLoader +xmlSetFeature +xmlSetGenericErrorFunc +xmlSetListDoc +xmlSetNs +xmlSetNsProp +xmlSetProp +xmlSetStructuredErrorFunc +xmlSetTreeDoc +xmlSetupParserForBuffer +xmlShell +xmlShellBase +xmlShellCat +xmlShellDir +xmlShellDu +xmlShellList +xmlShellLoad +xmlShellPrintNode +xmlShellPrintXPathError +xmlShellPrintXPathResult +xmlShellPwd +xmlShellSave +xmlShellValidate +xmlShellWrite +xmlSkipBlankChars +xmlSnprintfElementContent +xmlSplitQName +xmlSplitQName2 +xmlSplitQName3 +xmlSprintfElementContent +xmlStopParser +xmlStrEqual +xmlStrPrintf +xmlStrQEqual +xmlStrVPrintf +xmlStrcasecmp +xmlStrcasestr +xmlStrcat +xmlStrchr +xmlStrcmp +xmlStrdup +xmlStringCurrentChar +xmlStringDecodeEntities +xmlStringGetNodeList +xmlStringLenDecodeEntities +xmlStringLenGetNodeList +xmlStrlen +xmlStrncasecmp +xmlStrncat +xmlStrncatNew +xmlStrncmp +xmlStrndup +xmlStrstr +xmlStrsub +xmlSubstituteEntitiesDefault +xmlSwitchEncoding +xmlSwitchInputEncoding +xmlSwitchToEncoding +xmlTextConcat +xmlTextMerge +xmlTextReaderAttributeCount +xmlTextReaderBaseUri +xmlTextReaderClose +xmlTextReaderConstBaseUri +xmlTextReaderConstEncoding +xmlTextReaderConstLocalName +xmlTextReaderConstName +xmlTextReaderConstNamespaceUri +xmlTextReaderConstPrefix +xmlTextReaderConstString +xmlTextReaderConstValue +xmlTextReaderConstXmlLang +xmlTextReaderConstXmlVersion +xmlTextReaderCurrentDoc +xmlTextReaderCurrentNode +xmlTextReaderDepth +xmlTextReaderExpand +xmlTextReaderGetAttribute +xmlTextReaderGetAttributeNo +xmlTextReaderGetAttributeNs +xmlTextReaderGetErrorHandler +xmlTextReaderGetParserProp +xmlTextReaderGetRemainder +xmlTextReaderHasAttributes +xmlTextReaderHasValue +xmlTextReaderIsDefault +xmlTextReaderIsEmptyElement +xmlTextReaderIsNamespaceDecl +xmlTextReaderIsValid +xmlTextReaderLocalName +xmlTextReaderLocatorBaseURI +xmlTextReaderLocatorLineNumber +xmlTextReaderLookupNamespace +xmlTextReaderMoveToAttribute +xmlTextReaderMoveToAttributeNo +xmlTextReaderMoveToAttributeNs +xmlTextReaderMoveToElement +xmlTextReaderMoveToFirstAttribute +xmlTextReaderMoveToNextAttribute +xmlTextReaderName +xmlTextReaderNamespaceUri +xmlTextReaderNext +xmlTextReaderNextSibling +xmlTextReaderNodeType +xmlTextReaderNormalization +xmlTextReaderPrefix +xmlTextReaderPreserve +xmlTextReaderPreservePattern +xmlTextReaderQuoteChar +xmlTextReaderRead +xmlTextReaderReadAttributeValue +xmlTextReaderReadInnerXml +xmlTextReaderReadOuterXml +xmlTextReaderReadState +xmlTextReaderReadString +xmlTextReaderRelaxNGSetSchema +xmlTextReaderRelaxNGValidate +xmlTextReaderSchemaValidate +xmlTextReaderSetErrorHandler +xmlTextReaderSetParserProp +xmlTextReaderSetStructuredErrorHandler +xmlTextReaderSetup +xmlTextReaderStandalone +xmlTextReaderValue +xmlTextReaderXmlLang +xmlTextWriterEndAttribute +xmlTextWriterEndCDATA +xmlTextWriterEndComment +xmlTextWriterEndDTD +xmlTextWriterEndDTDAttlist +xmlTextWriterEndDTDElement +xmlTextWriterEndDTDEntity +xmlTextWriterEndDocument +xmlTextWriterEndElement +xmlTextWriterEndPI +xmlTextWriterFlush +xmlTextWriterFullEndElement +xmlTextWriterSetIndent +xmlTextWriterSetIndentString +xmlTextWriterStartAttribute +xmlTextWriterStartAttributeNS +xmlTextWriterStartCDATA +xmlTextWriterStartComment +xmlTextWriterStartDTD +xmlTextWriterStartDTDAttlist +xmlTextWriterStartDTDElement +xmlTextWriterStartDTDEntity +xmlTextWriterStartDocument +xmlTextWriterStartElement +xmlTextWriterStartElementNS +xmlTextWriterStartPI +xmlTextWriterWriteAttribute +xmlTextWriterWriteAttributeNS +xmlTextWriterWriteBase64 +xmlTextWriterWriteBinHex +xmlTextWriterWriteCDATA +xmlTextWriterWriteComment +xmlTextWriterWriteDTD +xmlTextWriterWriteDTDAttlist +xmlTextWriterWriteDTDElement +xmlTextWriterWriteDTDEntity +xmlTextWriterWriteDTDExternalEntity +xmlTextWriterWriteDTDExternalEntityContents +xmlTextWriterWriteDTDInternalEntity +xmlTextWriterWriteDTDNotation +xmlTextWriterWriteElement +xmlTextWriterWriteElementNS +xmlTextWriterWriteFormatAttribute +xmlTextWriterWriteFormatAttributeNS +xmlTextWriterWriteFormatCDATA +xmlTextWriterWriteFormatComment +xmlTextWriterWriteFormatDTD +xmlTextWriterWriteFormatDTDAttlist +xmlTextWriterWriteFormatDTDElement +xmlTextWriterWriteFormatDTDInternalEntity +xmlTextWriterWriteFormatElement +xmlTextWriterWriteFormatElementNS +xmlTextWriterWriteFormatPI +xmlTextWriterWriteFormatRaw +xmlTextWriterWriteFormatString +xmlTextWriterWritePI +xmlTextWriterWriteRaw +xmlTextWriterWriteRawLen +xmlTextWriterWriteString +xmlTextWriterWriteVFormatAttribute +xmlTextWriterWriteVFormatAttributeNS +xmlTextWriterWriteVFormatCDATA +xmlTextWriterWriteVFormatComment +xmlTextWriterWriteVFormatDTD +xmlTextWriterWriteVFormatDTDAttlist +xmlTextWriterWriteVFormatDTDElement +xmlTextWriterWriteVFormatDTDInternalEntity +xmlTextWriterWriteVFormatElement +xmlTextWriterWriteVFormatElementNS +xmlTextWriterWriteVFormatPI +xmlTextWriterWriteVFormatRaw +xmlTextWriterWriteVFormatString +xmlThrDefBufferAllocScheme +xmlThrDefDefaultBufferSize +xmlThrDefDeregisterNodeDefault +xmlThrDefDoValidityCheckingDefaultValue +xmlThrDefGetWarningsDefaultValue +xmlThrDefIndentTreeOutput +xmlThrDefKeepBlanksDefaultValue +xmlThrDefLineNumbersDefaultValue +xmlThrDefLoadExtDtdDefaultValue +xmlThrDefOutputBufferCreateFilenameDefault +xmlThrDefParserDebugEntities +xmlThrDefParserInputBufferCreateFilenameDefault +xmlThrDefPedanticParserDefaultValue +xmlThrDefRegisterNodeDefault +xmlThrDefSaveNoEmptyTags +xmlThrDefSetGenericErrorFunc +xmlThrDefSetStructuredErrorFunc +xmlThrDefSubstituteEntitiesDefaultValue +xmlThrDefTreeIndentString +xmlUCSIsAegeanNumbers +xmlUCSIsAlphabeticPresentationForms +xmlUCSIsArabic +xmlUCSIsArabicPresentationFormsA +xmlUCSIsArabicPresentationFormsB +xmlUCSIsArmenian +xmlUCSIsArrows +xmlUCSIsBasicLatin +xmlUCSIsBengali +xmlUCSIsBlock +xmlUCSIsBlockElements +xmlUCSIsBopomofo +xmlUCSIsBopomofoExtended +xmlUCSIsBoxDrawing +xmlUCSIsBraillePatterns +xmlUCSIsBuhid +xmlUCSIsByzantineMusicalSymbols +xmlUCSIsCJKCompatibility +xmlUCSIsCJKCompatibilityForms +xmlUCSIsCJKCompatibilityIdeographs +xmlUCSIsCJKCompatibilityIdeographsSupplement +xmlUCSIsCJKRadicalsSupplement +xmlUCSIsCJKSymbolsandPunctuation +xmlUCSIsCJKUnifiedIdeographs +xmlUCSIsCJKUnifiedIdeographsExtensionA +xmlUCSIsCJKUnifiedIdeographsExtensionB +xmlUCSIsCat +xmlUCSIsCatC +xmlUCSIsCatCc +xmlUCSIsCatCf +xmlUCSIsCatCo +xmlUCSIsCatCs +xmlUCSIsCatL +xmlUCSIsCatLl +xmlUCSIsCatLm +xmlUCSIsCatLo +xmlUCSIsCatLt +xmlUCSIsCatLu +xmlUCSIsCatM +xmlUCSIsCatMc +xmlUCSIsCatMe +xmlUCSIsCatMn +xmlUCSIsCatN +xmlUCSIsCatNd +xmlUCSIsCatNl +xmlUCSIsCatNo +xmlUCSIsCatP +xmlUCSIsCatPc +xmlUCSIsCatPd +xmlUCSIsCatPe +xmlUCSIsCatPf +xmlUCSIsCatPi +xmlUCSIsCatPo +xmlUCSIsCatPs +xmlUCSIsCatS +xmlUCSIsCatSc +xmlUCSIsCatSk +xmlUCSIsCatSm +xmlUCSIsCatSo +xmlUCSIsCatZ +xmlUCSIsCatZl +xmlUCSIsCatZp +xmlUCSIsCatZs +xmlUCSIsCherokee +xmlUCSIsCombiningDiacriticalMarks +xmlUCSIsCombiningDiacriticalMarksforSymbols +xmlUCSIsCombiningHalfMarks +xmlUCSIsCombiningMarksforSymbols +xmlUCSIsControlPictures +xmlUCSIsCurrencySymbols +xmlUCSIsCypriotSyllabary +xmlUCSIsCyrillic +xmlUCSIsCyrillicSupplement +xmlUCSIsDeseret +xmlUCSIsDevanagari +xmlUCSIsDingbats +xmlUCSIsEnclosedAlphanumerics +xmlUCSIsEnclosedCJKLettersandMonths +xmlUCSIsEthiopic +xmlUCSIsGeneralPunctuation +xmlUCSIsGeometricShapes +xmlUCSIsGeorgian +xmlUCSIsGothic +xmlUCSIsGreek +xmlUCSIsGreekExtended +xmlUCSIsGreekandCoptic +xmlUCSIsGujarati +xmlUCSIsGurmukhi +xmlUCSIsHalfwidthandFullwidthForms +xmlUCSIsHangulCompatibilityJamo +xmlUCSIsHangulJamo +xmlUCSIsHangulSyllables +xmlUCSIsHanunoo +xmlUCSIsHebrew +xmlUCSIsHighPrivateUseSurrogates +xmlUCSIsHighSurrogates +xmlUCSIsHiragana +xmlUCSIsIPAExtensions +xmlUCSIsIdeographicDescriptionCharacters +xmlUCSIsKanbun +xmlUCSIsKangxiRadicals +xmlUCSIsKannada +xmlUCSIsKatakana +xmlUCSIsKatakanaPhoneticExtensions +xmlUCSIsKhmer +xmlUCSIsKhmerSymbols +xmlUCSIsLao +xmlUCSIsLatin1Supplement +xmlUCSIsLatinExtendedA +xmlUCSIsLatinExtendedAdditional +xmlUCSIsLatinExtendedB +xmlUCSIsLetterlikeSymbols +xmlUCSIsLimbu +xmlUCSIsLinearBIdeograms +xmlUCSIsLinearBSyllabary +xmlUCSIsLowSurrogates +xmlUCSIsMalayalam +xmlUCSIsMathematicalAlphanumericSymbols +xmlUCSIsMathematicalOperators +xmlUCSIsMiscellaneousMathematicalSymbolsA +xmlUCSIsMiscellaneousMathematicalSymbolsB +xmlUCSIsMiscellaneousSymbols +xmlUCSIsMiscellaneousSymbolsandArrows +xmlUCSIsMiscellaneousTechnical +xmlUCSIsMongolian +xmlUCSIsMusicalSymbols +xmlUCSIsMyanmar +xmlUCSIsNumberForms +xmlUCSIsOgham +xmlUCSIsOldItalic +xmlUCSIsOpticalCharacterRecognition +xmlUCSIsOriya +xmlUCSIsOsmanya +xmlUCSIsPhoneticExtensions +xmlUCSIsPrivateUse +xmlUCSIsPrivateUseArea +xmlUCSIsRunic +xmlUCSIsShavian +xmlUCSIsSinhala +xmlUCSIsSmallFormVariants +xmlUCSIsSpacingModifierLetters +xmlUCSIsSpecials +xmlUCSIsSuperscriptsandSubscripts +xmlUCSIsSupplementalArrowsA +xmlUCSIsSupplementalArrowsB +xmlUCSIsSupplementalMathematicalOperators +xmlUCSIsSupplementaryPrivateUseAreaA +xmlUCSIsSupplementaryPrivateUseAreaB +xmlUCSIsSyriac +xmlUCSIsTagalog +xmlUCSIsTagbanwa +xmlUCSIsTags +xmlUCSIsTaiLe +xmlUCSIsTaiXuanJingSymbols +xmlUCSIsTamil +xmlUCSIsTelugu +xmlUCSIsThaana +xmlUCSIsThai +xmlUCSIsTibetan +xmlUCSIsUgaritic +xmlUCSIsUnifiedCanadianAboriginalSyllabics +xmlUCSIsVariationSelectors +xmlUCSIsVariationSelectorsSupplement +xmlUCSIsYiRadicals +xmlUCSIsYiSyllables +xmlUCSIsYijingHexagramSymbols +xmlURIEscape +xmlURIEscapeStr +xmlURIUnescapeString +xmlUTF8Charcmp +xmlUTF8Size +xmlUTF8Strlen +xmlUTF8Strloc +xmlUTF8Strndup +xmlUTF8Strpos +xmlUTF8Strsize +xmlUTF8Strsub +xmlUnlinkNode +xmlUnlockLibrary +xmlUnsetNsProp +xmlUnsetProp +xmlValidBuildContentModel +xmlValidCtxtNormalizeAttributeValue +xmlValidGetPotentialChildren +xmlValidGetValidElements +xmlValidNormalizeAttributeValue +xmlValidateAttributeDecl +xmlValidateAttributeValue +xmlValidateDocument +xmlValidateDocumentFinal +xmlValidateDtd +xmlValidateDtdFinal +xmlValidateElement +xmlValidateElementDecl +xmlValidateNCName +xmlValidateNMToken +xmlValidateName +xmlValidateNameValue +xmlValidateNamesValue +xmlValidateNmtokenValue +xmlValidateNmtokensValue +xmlValidateNotationDecl +xmlValidateNotationUse +xmlValidateOneAttribute +xmlValidateOneElement +xmlValidateOneNamespace +xmlValidatePopElement +xmlValidatePushCData +xmlValidatePushElement +xmlValidateQName +xmlValidateRoot +xmlXIncludeFreeContext +xmlXIncludeNewContext +xmlXIncludeProcess +xmlXIncludeProcessFlags +xmlXIncludeProcessNode +xmlXIncludeProcessTree +xmlXIncludeProcessTreeFlags +xmlXIncludeSetFlags +xmlXPathAddValues +xmlXPathBooleanFunction +xmlXPathCastBooleanToNumber +xmlXPathCastBooleanToString +xmlXPathCastNodeSetToBoolean +xmlXPathCastNodeSetToNumber +xmlXPathCastNodeSetToString +xmlXPathCastNodeToNumber +xmlXPathCastNodeToString +xmlXPathCastNumberToBoolean +xmlXPathCastNumberToString +xmlXPathCastStringToBoolean +xmlXPathCastStringToNumber +xmlXPathCastToBoolean +xmlXPathCastToNumber +xmlXPathCastToString +xmlXPathCeilingFunction +xmlXPathCmpNodes +xmlXPathCompareValues +xmlXPathCompile +xmlXPathCompiledEval +xmlXPathCompiledEvalToBoolean +xmlXPathConcatFunction +xmlXPathContainsFunction +xmlXPathContextSetCache +xmlXPathConvertBoolean +xmlXPathConvertNumber +xmlXPathConvertString +xmlXPathCountFunction +xmlXPathCtxtCompile +xmlXPathDebugDumpCompExpr +xmlXPathDebugDumpObject +xmlXPathDifference +xmlXPathDistinct +xmlXPathDistinctSorted +xmlXPathDivValues +xmlXPathEqualValues +xmlXPathErr +xmlXPathEval +xmlXPathEvalExpr +xmlXPathEvalExpression +xmlXPathEvalPredicate +xmlXPathEvaluatePredicateResult +xmlXPathFalseFunction +xmlXPathFloorFunction +xmlXPathFreeCompExpr +xmlXPathFreeContext +xmlXPathFreeNodeSet +xmlXPathFreeNodeSetList +xmlXPathFreeObject +xmlXPathFreeParserContext +xmlXPathFunctionLookup +xmlXPathFunctionLookupNS +xmlXPathHasSameNodes +xmlXPathIdFunction +xmlXPathInit +xmlXPathIntersection +xmlXPathIsInf +xmlXPathIsNaN +xmlXPathIsNodeType +xmlXPathLangFunction +xmlXPathLastFunction +xmlXPathLeading +xmlXPathLeadingSorted +xmlXPathLocalNameFunction +xmlXPathModValues +xmlXPathMultValues +xmlXPathNamespaceURIFunction +xmlXPathNewBoolean +xmlXPathNewCString +xmlXPathNewContext +xmlXPathNewFloat +xmlXPathNewNodeSet +xmlXPathNewNodeSetList +xmlXPathNewParserContext +xmlXPathNewString +xmlXPathNewValueTree +xmlXPathNextAncestor +xmlXPathNextAncestorOrSelf +xmlXPathNextAttribute +xmlXPathNextChild +xmlXPathNextDescendant +xmlXPathNextDescendantOrSelf +xmlXPathNextFollowing +xmlXPathNextFollowingSibling +xmlXPathNextNamespace +xmlXPathNextParent +xmlXPathNextPreceding +xmlXPathNextPrecedingSibling +xmlXPathNextSelf +xmlXPathNodeLeading +xmlXPathNodeLeadingSorted +xmlXPathNodeSetAdd +xmlXPathNodeSetAddNs +xmlXPathNodeSetAddUnique +xmlXPathNodeSetContains +xmlXPathNodeSetCreate +xmlXPathNodeSetDel +xmlXPathNodeSetFreeNs +xmlXPathNodeSetMerge +xmlXPathNodeSetRemove +xmlXPathNodeSetSort +xmlXPathNodeTrailing +xmlXPathNodeTrailingSorted +xmlXPathNormalizeFunction +xmlXPathNotEqualValues +xmlXPathNotFunction +xmlXPathNsLookup +xmlXPathNumberFunction +xmlXPathObjectCopy +xmlXPathOrderDocElems +xmlXPathParseNCName +xmlXPathParseName +xmlXPathPopBoolean +xmlXPathPopExternal +xmlXPathPopNodeSet +xmlXPathPopNumber +xmlXPathPopString +xmlXPathPositionFunction +xmlXPathRegisterAllFunctions +xmlXPathRegisterFunc +xmlXPathRegisterFuncLookup +xmlXPathRegisterFuncNS +xmlXPathRegisterNs +xmlXPathRegisterVariable +xmlXPathRegisterVariableLookup +xmlXPathRegisterVariableNS +xmlXPathRegisteredFuncsCleanup +xmlXPathRegisteredNsCleanup +xmlXPathRegisteredVariablesCleanup +xmlXPathRoot +xmlXPathRoundFunction +xmlXPathStartsWithFunction +xmlXPathStringEvalNumber +xmlXPathStringFunction +xmlXPathStringLengthFunction +xmlXPathSubValues +xmlXPathSubstringAfterFunction +xmlXPathSubstringBeforeFunction +xmlXPathSubstringFunction +xmlXPathSumFunction +xmlXPathTrailing +xmlXPathTrailingSorted +xmlXPathTranslateFunction +xmlXPathTrueFunction +xmlXPathValueFlipSign +xmlXPathVariableLookup +xmlXPathVariableLookupNS +xmlXPathWrapCString +xmlXPathWrapExternal +xmlXPathWrapNodeSet +xmlXPathWrapString +xmlXPatherror +xmlXPtrEval +xmlXPtrNewContext +xmlBufContent +xmlBufUse +xmlBufferDetach diff -Nru php8.4-8.4.24/ext/mbstring/mbstring.c php8.4-8.4.26/ext/mbstring/mbstring.c --- php8.4-8.4.24/ext/mbstring/mbstring.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/mbstring/mbstring.c 2026-09-22 15:00:02.000000000 +0000 @@ -1931,7 +1931,7 @@ } else if (offset >= 0) { found_pos = zend_memnrstr((const char*)offset_pointer, ZSTR_VAL(needle_u8), ZSTR_LEN(needle_u8), ZSTR_VAL(haystack_u8) + ZSTR_LEN(haystack_u8)); } else { - size_t needle_len = pointer_to_offset_utf8((unsigned char*)ZSTR_VAL(needle), (unsigned char*)ZSTR_VAL(needle) + ZSTR_LEN(needle)); + size_t needle_len = pointer_to_offset_utf8((unsigned char*)ZSTR_VAL(needle_u8), (unsigned char*)ZSTR_VAL(needle_u8) + ZSTR_LEN(needle_u8)); offset_pointer = offset_to_pointer_utf8(offset_pointer, (unsigned char*)ZSTR_VAL(haystack_u8) + ZSTR_LEN(haystack_u8), needle_len); if (!offset_pointer) { offset_pointer = (unsigned char*)ZSTR_VAL(haystack_u8) + ZSTR_LEN(haystack_u8); diff -Nru php8.4-8.4.24/ext/mbstring/php_mbregex.c php8.4-8.4.26/ext/mbstring/php_mbregex.c --- php8.4-8.4.24/ext/mbstring/php_mbregex.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/mbstring/php_mbregex.c 2026-09-22 15:00:02.000000000 +0000 @@ -481,6 +481,10 @@ if (rc == MBREX(search_re)) { /* reuse the new rc? see bug #72399 */ MBREX(search_re) = NULL; + if (MBREX(search_regs) != NULL) { + onig_region_free(MBREX(search_regs), 1); + MBREX(search_regs) = NULL; + } } zend_hash_str_update_ptr(&MBREX(ht_rc), (char *)pattern, patlen, retval); } else { @@ -767,7 +771,7 @@ clen = (int) php_mb_mbchar_bytes(++p, enc); if (clen != 1 || p == eos || (p[0] != '<' && p[0] != '\'')) { /* not a backref delimiter */ - p += clen; + p = MIN(p + clen, eos); smart_str_appendl(pbuf, sp, p - sp); continue; } @@ -787,12 +791,13 @@ if (maybe_num && !isdigit((unsigned char)name_end[0])) maybe_num = 0; name_end++; } - p = name_end + 1; if (name_end - name < 1 || name_end >= eos) { /* the backref was empty or we failed to find the end delimiter */ + p = MIN(name_end + 1, eos); smart_str_appendl(pbuf, sp, p - sp); continue; } + p = name_end + 1; /* we have either a name or a number */ if (maybe_num) { if (!onig_noname_group_capture_is_active(regexp)) { diff -Nru php8.4-8.4.24/ext/mbstring/tests/gh21036.phpt php8.4-8.4.26/ext/mbstring/tests/gh21036.phpt --- php8.4-8.4.24/ext/mbstring/tests/gh21036.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/mbstring/tests/gh21036.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,21 @@ +--TEST-- +GH-21036 (mb_ereg_search_getregs() after regex cache invalidation) +--EXTENSIONS-- +mbstring +--SKIPIF-- + +--FILE-- +a)'; +mb_ereg_search_init('a', $pattern); +mb_ereg_search_pos(); +mb_eregi($pattern, 'a'); + +var_dump(mb_ereg_search_getregs()); +?> +--EXPECT-- +bool(false) diff -Nru php8.4-8.4.24/ext/mbstring/tests/gh22779.phpt php8.4-8.4.26/ext/mbstring/tests/gh22779.phpt --- php8.4-8.4.24/ext/mbstring/tests/gh22779.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/mbstring/tests/gh22779.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,34 @@ +--TEST-- +GH-22779: mb_strrpos() wrong result for a negative offset in a non-UTF-8 encoding +--EXTENSIONS-- +mbstring +--FILE-- + +--EXPECT-- +int(1) +int(1) +int(0) +int(1) +int(2) +int(2) +int(2) +int(1) +int(0) +int(0) diff -Nru php8.4-8.4.24/ext/mbstring/tests/mb_ereg_replace_kname_unterminated_nul.phpt php8.4-8.4.26/ext/mbstring/tests/mb_ereg_replace_kname_unterminated_nul.phpt --- php8.4-8.4.24/ext/mbstring/tests/mb_ereg_replace_kname_unterminated_nul.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/mbstring/tests/mb_ereg_replace_kname_unterminated_nul.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,18 @@ +--TEST-- +mb_ereg_replace() with unterminated \k backref must not embed a NUL byte +--EXTENSIONS-- +mbstring +--FILE-- + +--EXPECT-- +string(12) "5c6b3c6e756d" +string(12) "5c6b276e756d" +string(10) "615c6b3c6e" +string(8) "615c6bf0" +string(10) "5c5c6be282" diff -Nru php8.4-8.4.24/ext/mysqli/tests/fake_server.inc php8.4-8.4.26/ext/mysqli/tests/fake_server.inc --- php8.4-8.4.24/ext/mysqli/tests/fake_server.inc 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/mysqli/tests/fake_server.inc 2026-09-22 15:00:02.000000000 +0000 @@ -168,11 +168,11 @@ return new my_mysqli_fake_packet_item(null, $packed_value, $is_hex); } - public function server_ok(): my_mysqli_fake_packet + public function server_ok($number = "02"): my_mysqli_fake_packet { $packet = new my_mysqli_fake_packet(); $packet->packet_length = "070000"; - $packet->packet_number = "02"; + $packet->packet_number = $number; $packet->header = "00"; // OK $packet->affected_rows = "00"; $packet->last_insert_id = "00"; @@ -181,6 +181,17 @@ return $packet; } + public function server_eof(): my_mysqli_fake_packet + { + $packet = new my_mysqli_fake_packet(); + $packet->packet_length = "050000"; + $packet->packet_number = "01"; + $packet->header = "fe"; // EOF + $packet->warning_count = "0000"; + $packet->server_status = "0200"; + return $packet; + } + public function server_greetings(): my_mysqli_fake_packet { $packet = new my_mysqli_fake_packet(); @@ -204,6 +215,25 @@ return $packet; } + public function server_greetings_sha256(): my_mysqli_fake_packet + { + $packet = $this->server_greetings(); + // 6 bytes shorter than the default mysql_native_password greeting + $packet->packet_length = "520000"; + $packet->mariadb_extended_server_capabilities_auth_plugin = + self::create_packet_item('sha256_password'); + + return $packet; + } + public function server_greetings_caching_sha2(): my_mysqli_fake_packet + { + $packet = $this->server_greetings(); + // same length as the default mysql_native_password so the length stays + $packet->mariadb_extended_server_capabilities_auth_plugin = + self::create_packet_item('caching_sha2_password'); + + return $packet; + } public function server_tabular_query_response(): array { $qr1 = new my_mysqli_fake_packet(); @@ -246,7 +276,6 @@ $qr1->packet_number = "01"; $qr1->field_count = "00"; // UPSERT $qr1->affected_rows = "00"; - $qr1->affected_rows = "00"; $qr1->last_insert_id = "00"; $qr1->server_status = "0000"; $qr1->warning_count = "0000"; @@ -257,6 +286,21 @@ return [$qr1]; } + public function server_upsert_result_response(): my_mysqli_fake_packet + { + $ur = new my_mysqli_fake_packet(); + $ur->packet_length = "300000"; + $ur->packet_number = "01"; + $ur->field_count = "00"; // UPSERT + $ur->affected_rows = "00"; + $ur->last_insert_id = "00"; + $ur->server_status = "0002"; + $ur->warning_count = "0000"; + $ur->payload = "28526f7773206d6174636865643a203120204368616e6765643a203020205761726e696e67733a2030"; + + return $ur; + } + public function server_stmt_prepare_response_start($num_field): my_mysqli_fake_packet { $pr1 = new my_mysqli_fake_packet(); @@ -560,6 +604,32 @@ } } + private function read_bytes(int $length): string + { + $data = ''; + while (strlen($data) < $length) { + $chunk = fread($this->conn, $length - strlen($data)); + if ($chunk === false || $chunk === '') { + throw new RuntimeException("Failed to read $length bytes from the client"); + } + $data .= $chunk; + } + return $data; + } + + public function read_packets(int $packet_count): void + { + $data = ''; + for ($i = 0; $i < $packet_count; $i++) { + $header = $this->read_bytes(4); + $packet_length = ord($header[0]) + | (ord($header[1]) << 8) + | (ord($header[2]) << 16); + $data .= $header . $this->read_bytes($packet_length); + } + fprintf(STDERR, "[*] Received: %s\n", bin2hex($data)); + } + public function close() { fclose($this->conn); @@ -712,6 +782,44 @@ $conn->read(65536); } +function my_mysqli_test_stmt_response_row_short_length( + my_mysqli_fake_server_conn $conn, + string $field_name +): void { + $rh = $conn->packet_generator->server_stmt_execute_data_response($field_name); + + // The length does not cover the fixed offsets that the field type reads + $rh[4]->packet_length = '090000'; + $rh[4]->row_field2 = '01de'; + + $conn->send_server_greetings(); + $conn->read(); + $conn->send_server_ok(); + $conn->read(); + $conn->send_server_stmt_prepare_data_response($field_name); + $conn->read(); + $conn->send( + $conn->packets_to_bytes($rh), + "Malicious Stmt Response for data $field_name [length too short]" + ); + $conn->read(65536); +} + +function my_mysqli_test_stmt_response_row_short_length_date(my_mysqli_fake_server_conn $conn): void +{ + my_mysqli_test_stmt_response_row_short_length($conn, 'datval'); +} + +function my_mysqli_test_stmt_response_row_short_length_time(my_mysqli_fake_server_conn $conn): void +{ + my_mysqli_test_stmt_response_row_short_length($conn, 'timval'); +} + +function my_mysqli_test_stmt_response_row_short_length_datetime(my_mysqli_fake_server_conn $conn): void +{ + my_mysqli_test_stmt_response_row_short_length($conn, 'dtival'); +} + function my_mysqli_test_stmt_response_row_over_read_two_fields( my_mysqli_fake_server_conn $conn, string $field_name, @@ -732,7 +840,7 @@ $conn->packets_to_bytes($rh), "Malicious Stmt Response for data $field_name [Extract heap through buffer over-read]" ); - $conn->read(65536); + $conn->read_packets(2); } function my_mysqli_test_stmt_response_row_over_read_int(my_mysqli_fake_server_conn $conn): void @@ -778,15 +886,15 @@ function my_mysqli_test_stmt_response_row_read_two_fields(my_mysqli_fake_server_conn $conn): void { $conn->send_server_greetings(); - $conn->read(); + $conn->read_packets(1); $conn->send_server_ok(); - $conn->read(); + $conn->read_packets(1); $field_names = array_keys(my_mysqli_data_fields()); foreach ($field_names as $field_name) { $conn->send_server_stmt_prepare_data_response($field_name); - $conn->read(65536); + $conn->read_packets(1); $conn->send_server_stmt_execute_data_response($field_name); - $conn->read(65536); + $conn->read_packets(2); } } @@ -805,6 +913,114 @@ $conn->read(65536); } +function my_mysqli_test_query_response_row_field_len(my_mysqli_fake_server_conn $conn): void +{ + $rh = $conn->packet_generator->server_query_execute_data_response('strval'); + + // 2-byte length prefix (0xfc) with the packet ending right after it, so + // decoding the length itself would read past the end of the packet + $rh[4]->row_field2 = 'fc'; + $rh[4]->packet_length = '060000'; + + $conn->send_server_greetings(); + $conn->read(); + $conn->send_server_ok(); + $conn->read(); + $conn->send($conn->packets_to_bytes($rh), "Malicious Query Response for data strval field [field length over-read]"); + $conn->read(65536); +} + +function my_mysqli_test_query_response_row(my_mysqli_fake_server_conn $conn, string $packet_length, + string $row_field2, string $message): void +{ + $rh = $conn->packet_generator->server_query_execute_data_response('strval'); + $rh[4]->packet_length = $packet_length; + $rh[4]->row_field2 = $row_field2; + + $conn->send_server_greetings(); + $conn->read(); + $conn->send_server_ok(); + $conn->read(); + $conn->send($conn->packets_to_bytes($rh), $message); + $conn->read(65536); +} + +function my_mysqli_test_query_response_row_eof_short(my_mysqli_fake_server_conn $conn): void +{ + $rh = $conn->packet_generator->server_query_execute_data_response('strval'); + // EOF row packet that has no space for the warnings and the status + $rh[5]->packet_length = '030000'; + $rh[5]->server_status = ''; + + $conn->send_server_greetings(); + $conn->read(); + $conn->send_server_ok(); + $conn->read(); + $conn->send($conn->packets_to_bytes($rh), "Malicious Query Response [short EOF row packet]"); + $conn->read(65536); +} + +function my_mysqli_test_query_response_row_field_null(my_mysqli_fake_server_conn $conn): void +{ + // NULL field, which is encoded as a single 0xfb byte + my_mysqli_test_query_response_row($conn, "060000", "fb", "Query Response for data strval field [NULL]"); +} + +function my_mysqli_test_query_response_row_field_len_2_bytes(my_mysqli_fake_server_conn $conn): void +{ + // field length encoded on 2 bytes + my_mysqli_test_query_response_row($conn, "0c0000", "fc040074657374", + "Query Response for data strval field [length on 2 bytes]"); +} + +function my_mysqli_test_query_rset_header_field_over_read(my_mysqli_fake_server_conn $conn): void +{ + $rh = $conn->packet_generator->server_query_execute_data_response('strval'); + + $rh[0]->num_fields = "fd"; + + $conn->send_server_greetings(); + $conn->read(); + $conn->send_server_ok(); + $conn->read(); + $conn->send($conn->packets_to_bytes($rh), "Malicious Query Response for data strval field [length overflow]"); + $conn->read(65536); +} + +function my_mysqli_test_upsert_rset_header_affected_rows_over_read(my_mysqli_fake_server_conn $conn): void +{ + $ur = $conn->packet_generator->server_upsert_result_response(); + + $ur->packet_length = "020000"; + $ur->affected_rows = "fd"; + $ur->last_insert_id = ""; + $ur->server_status = ""; + $ur->warning_count = ""; + $ur->payload = ""; + + $conn->send_server_greetings(); + $conn->read(); + $conn->send_server_ok(); + $conn->read(); + $conn->send($ur->to_bytes(), "Malicious Upsert Response [affected rows overflow]"); + $conn->read(65536); +} + +function my_mysqli_test_upsert_rset_header_packet_len_over_read(my_mysqli_fake_server_conn $conn): void +{ + $ur = $conn->packet_generator->server_upsert_result_response(); + + $ur->affected_rows = "fd"; + + $conn->send_server_greetings(); + $conn->read(); + $conn->send_server_ok(); + $conn->read(); + $conn->send($ur->to_bytes(), "Malicious Upsert Response [affected rows overflow]"); + $conn->read(65536); +} + + function my_mysqli_test_query_response_row_read_two_fields(my_mysqli_fake_server_conn $conn): void { $conn->send_server_greetings(); @@ -818,7 +1034,401 @@ } } -function run_fake_server(string $test_function, int|string $port = 0): int +function my_mysqli_test_auth_affected_rows_over_read(my_mysqli_fake_server_conn $conn): void +{ + $p = $conn->packet_generator->server_ok(); + $p->packet_length = "020000"; + $p->affected_rows = "fe"; + $p->last_insert_id = ""; + $p->server_status = ""; + $p->warning_count = ""; + + $conn->send_server_greetings(); + $conn->read(); + $conn->send($p->to_bytes(), "Malicious OK Auth Response"); + $conn->read(); +} + +function my_mysqli_test_auth_last_insert_id_over_read(my_mysqli_fake_server_conn $conn): void +{ + $p = $conn->packet_generator->server_ok(); + $p->packet_length = "030000"; + $p->last_insert_id = "fd"; + $p->server_status = ""; + $p->warning_count = ""; + + $conn->send_server_greetings(); + $conn->read(); + $conn->send($p->to_bytes(), "Malicious OK Auth Response"); + $conn->read(); +} + +function my_mysqli_test_auth_warning_count_over_read(my_mysqli_fake_server_conn $conn): void +{ + $p = $conn->packet_generator->server_ok(); + $p->packet_length = "060000"; + $p->warning_count = "00"; // Shrunk 1 byte + + $conn->send_server_greetings(); + $conn->read(); + $conn->send($p->to_bytes(), "Malicious OK Auth Response"); + $conn->read(); +} + +function my_mysqli_test_cached_sha2_result(my_mysqli_fake_server_conn $conn, string $packet_length, string $payload, + string $message): void +{ + $p = new my_mysqli_fake_packet(); + $p->packet_length = $packet_length; + $p->packet_number = "02"; + if ($payload !== '') { + $p->payload = $payload; + } + + $conn->send($conn->packet_generator->server_greetings_caching_sha2()->to_bytes(), "Server Greeting"); + $conn->read(65536); + // sent in one go so that the client cannot interleave its output in between + $conn->send($p->to_bytes() . $conn->packet_generator->server_ok("03")->to_bytes(), $message); + $conn->read(65536); +} + +function my_mysqli_test_cached_sha2_result_fast_auth(my_mysqli_fake_server_conn $conn): void +{ + // What a real server sends for a successful fast auth: CR_OK and the status byte + my_mysqli_test_cached_sha2_result($conn, "020000", "0103", "Cached SHA2 Result [fast auth]"); +} + +function my_mysqli_test_cached_sha2_result_empty(my_mysqli_fake_server_conn $conn): void +{ + // Empty packet, so reading the response code reads past the packet + my_mysqli_test_cached_sha2_result($conn, "000000", "", "Malicious Cached SHA2 Result [empty packet]"); +} + +function my_mysqli_test_cached_sha2_result_len(my_mysqli_fake_server_conn $conn): void +{ + // Only the response code is left, so there is no space for the status byte + my_mysqli_test_cached_sha2_result($conn, "010000", "01", "Malicious Cached SHA2 Result [packet too short]"); +} + +function my_mysqli_test_sha256_pk_response_empty(my_mysqli_fake_server_conn $conn): void +{ + $p = new my_mysqli_fake_packet(); + // Empty packet, so reading the response code reads past the packet + $p->packet_length = "000000"; + $p->packet_number = "02"; + + $conn->send($conn->packet_generator->server_greetings_sha256()->to_bytes(), "Server Greeting"); + $conn->read(65536); + $conn->send($p->to_bytes(), "Malicious SHA256 PK Response [empty packet]"); + $conn->read(65536); + $conn->send($conn->packet_generator->server_ok("04")->to_bytes(), "Server OK"); + $conn->read(65536); +} + +function my_mysqli_test_sha256_pk_response_len(my_mysqli_fake_server_conn $conn): void +{ + $p = new my_mysqli_fake_packet(); + // Only the response code is left, so there is no space for the public key + $p->packet_length = "010000"; + $p->packet_number = "02"; + $p->response_code = "00"; + + $conn->send($conn->packet_generator->server_greetings_sha256()->to_bytes(), "Server Greeting"); + $conn->read(65536); + $conn->send($p->to_bytes(), "Malicious SHA256 PK Response [packet too short]"); + $conn->read(65536); + $conn->send($conn->packet_generator->server_ok("04")->to_bytes(), "Server OK"); + $conn->read(65536); +} + +/* An auth switch packet whose plugin name is not NUL terminated. */ +function my_mysqli_auth_switch_packet(string $packet_number): my_mysqli_fake_packet +{ + $p = new my_mysqli_fake_packet(); + $p->packet_length = "160000"; + $p->packet_number = $packet_number; + $p->response_code = "fe"; + // 21 bytes of plugin name and no terminator + $p->auth_plugin_name = bin2hex('mysql_native_password'); + + return $p; +} + +function my_mysqli_test_auth_response_switch_unterminated(my_mysqli_fake_server_conn $conn): void +{ + $conn->send_server_greetings(); + $conn->read(); + $conn->send(my_mysqli_auth_switch_packet("02")->to_bytes(), + "Malicious Auth Switch Response [plugin name not terminated]"); + $conn->read(65536); +} + +function my_mysqli_test_chg_user_switch_unterminated(my_mysqli_fake_server_conn $conn): void +{ + $conn->send_server_greetings(); + $conn->read(); + $conn->send_server_ok(); + $conn->read(65536); + $conn->send(my_mysqli_auth_switch_packet("01")->to_bytes(), + "Malicious Change User Response [plugin name not terminated]"); + $conn->read(65536); +} + +function my_mysqli_test_cached_sha2_switch_unterminated(my_mysqli_fake_server_conn $conn): void +{ + $conn->send($conn->packet_generator->server_greetings_caching_sha2()->to_bytes(), "Server Greeting"); + $conn->read(65536); + // sent in one go so that the client cannot interleave its output in between + $conn->send(my_mysqli_auth_switch_packet("02")->to_bytes() + . $conn->packet_generator->server_ok("03")->to_bytes(), + "Malicious Cached SHA2 Result [plugin name not terminated]"); + $conn->read(65536); +} + +function my_mysqli_test_chg_user_response_empty(my_mysqli_fake_server_conn $conn): void +{ + $p = $conn->packet_generator->server_ok("01"); + // Empty packet, so reading the response code reads past the packet + $p->packet_length = "000000"; + $p->header = ""; + $p->affected_rows = ""; + $p->last_insert_id = ""; + $p->server_status = ""; + $p->warning_count = ""; + + $conn->send_server_greetings(); + $conn->read(); + $conn->send_server_ok(); + $conn->read(65536); + $conn->send($p->to_bytes(), "Malicious Change User Response [empty packet]"); + $conn->read(65536); +} + +function my_mysqli_test_chg_user_response_len(my_mysqli_fake_server_conn $conn): void +{ + $p = $conn->packet_generator->server_ok("01"); + // Only the response code is left, so there is no space for the rest + $p->packet_length = "010000"; + $p->affected_rows = ""; + $p->last_insert_id = ""; + $p->server_status = ""; + $p->warning_count = ""; + + $conn->send_server_greetings(); + $conn->read(); + $conn->send_server_ok(); + $conn->read(65536); + $conn->send($p->to_bytes(), "Malicious Change User Response [packet too short]"); + $conn->read(65536); +} + +function my_mysqli_test_auth_ok(my_mysqli_fake_server_conn $conn, string $packet_length, string $affected_rows, + string $last_insert_id, string $server_status, string $warning_count, + string $message): void +{ + $p = $conn->packet_generator->server_ok(); + $p->packet_length = $packet_length; + $p->affected_rows = $affected_rows; + $p->last_insert_id = $last_insert_id; + $p->server_status = $server_status; + $p->warning_count = $warning_count; + + $conn->send_server_greetings(); + $conn->read(); + $conn->send($p->to_bytes(), $message); + $conn->read(); +} + +function my_mysqli_test_auth_last_insert_id_no_space(my_mysqli_fake_server_conn $conn): void +{ + // affected rows takes the last byte, so there is nothing left for the last insert id + my_mysqli_test_auth_ok($conn, "020000", "00", "", "", "", + "Malicious OK Auth Response [no space for last insert id]"); +} + +function my_mysqli_test_auth_affected_rows_null_length(my_mysqli_fake_server_conn $conn): void +{ + // affected rows sent as the NULL length marker + my_mysqli_test_auth_ok($conn, "070000", "fb", "00", "0200", "0000", + "OK Auth Response [affected rows as NULL length]"); +} + +function my_mysqli_test_auth_affected_rows_2_bytes(my_mysqli_fake_server_conn $conn): void +{ + // affected rows encoded on 2 bytes + my_mysqli_test_auth_ok($conn, "090000", "fc3412", "00", "0200", "0000", + "OK Auth Response [affected rows on 2 bytes]"); +} + +function my_mysqli_test_auth_affected_rows_8_bytes(my_mysqli_fake_server_conn $conn): void +{ + // affected rows encoded on 8 bytes + my_mysqli_test_auth_ok($conn, "0f0000", "fe0100000000000000", "00", "0200", "0000", + "OK Auth Response [affected rows on 8 bytes]"); +} + +function my_mysqli_test_greet_scramble_len_over_read(my_mysqli_fake_server_conn $conn): void +{ + $p = $conn->packet_generator->server_greetings(); + // the scramble length claims more data than the packet holds + $p->auth_plugin = "ff"; + + $conn->send($p->to_bytes(), "Malicious Server Greeting [scramble length over-read]"); + $conn->read(); +} + +function my_mysqli_test_greet_over_read_string(my_mysqli_fake_server_conn $conn): void +{ + $p = new my_mysqli_fake_packet(); + $p->packet_length = "080000"; + $p->packet_number = "00"; + $p->proto_version = "0a"; + $p->version = my_mysqli_fake_packet_generator::create_packet_item('5.5'); + $p->thread_id = "03030303"; + $p->salt = "473e3f6047257c67"; + + $conn->send($p->to_bytes(), "Malicious Server Greeting"); + $conn->read(); +} + +function my_mysqli_test_greet_over_read(my_mysqli_fake_server_conn $conn): void +{ + $p = new my_mysqli_fake_packet(); + $p->packet_length = "110000"; + $p->packet_number = "00"; + $p->proto_version = "0a"; + $p->version = my_mysqli_fake_packet_generator::create_packet_item('8.0' . chr(0)); + $p->thread_id = "03000000"; + $p->salt = "473e3f6047257c67"; + + $conn->send($p->to_bytes(), "Malicious Server Greeting"); + $conn->read(); +} + +function my_mysqli_test_ok_affected_rows_over_read(my_mysqli_fake_server_conn $conn): void +{ + $p = $conn->packet_generator->server_ok("01"); + $p->packet_length = "020000"; + $p->affected_rows = "fe"; + $p->last_insert_id = ""; + $p->server_status = ""; + $p->warning_count = ""; + + $conn->send_server_greetings(); + $conn->read(); + $conn->send_server_ok(); + $conn->read(); + $conn->send($p->to_bytes(), "Malicious OK Auth Response"); + $conn->read(); +} + +function my_mysqli_test_ok_last_insert_id_over_read(my_mysqli_fake_server_conn $conn): void +{ + $p = $conn->packet_generator->server_ok("01"); + $p->packet_length = "030000"; + $p->last_insert_id = "fd"; + $p->server_status = ""; + $p->warning_count = ""; + + $conn->send_server_greetings(); + $conn->read(); + $conn->send_server_ok(); + $conn->read(); + $conn->send($p->to_bytes(), "Malicious OK Auth Response"); + $conn->read(); +} + +function my_mysqli_test_ok_message_len_over_read(my_mysqli_fake_server_conn $conn): void +{ + $p = $conn->packet_generator->server_ok("01"); + $p->packet_length = "080000"; + $p->message_len = "fd"; + + $conn->send_server_greetings(); + $conn->read(); + $conn->send_server_ok(); + $conn->read(); + $conn->send($p->to_bytes(), "Malicious OK Auth Response"); + $conn->read(); +} + +function my_mysqli_test_ok_warning_count_over_read(my_mysqli_fake_server_conn $conn): void +{ + $p = $conn->packet_generator->server_ok("01"); + $p->packet_length = "060000"; + $p->warning_count = "00"; // Shrunk 1 byte + + $conn->send_server_greetings(); + $conn->read(); + $conn->send_server_ok(); + $conn->read(); + $conn->send($p->to_bytes(), "Malicious OK Auth Response"); + $conn->read(); +} + +function my_mysqli_test_eof_warning_count_over_read(my_mysqli_fake_server_conn $conn): void +{ + $p = $conn->packet_generator->server_eof(); + $p->packet_length = "040000"; + $p->warning_count = "00"; // Shrunk 1 byte + + $conn->send_server_greetings(); + $conn->read(); + $conn->send_server_ok(); + $conn->read(); + $conn->send($p->to_bytes(), "Malicious EOF Response"); + $conn->read(); +} + +function my_mysqli_test_stmt_response_row_over_read_status(my_mysqli_fake_server_conn $conn): void +{ + $rh = $conn->packet_generator->server_stmt_execute_items_response(); + + $conn->send_server_greetings(); + $conn->read(); + $conn->send_server_ok(); + $conn->read(); + $packets = $conn->packet_generator->server_stmt_prepare_items_response(); + $packets[2]->server_status = '02'; + $packets[2]->packet_length = '040000'; + $conn->send($conn->packets_to_bytes($packets), "Stmt prepare items"); + $conn->read(); + $conn->send($conn->packets_to_bytes($rh), "Malicious Stmt Response for items [Extract heap through buffer over-read]"); + $conn->read(65536); +} + +function my_mysqli_test_stmt_response_field_len_faulty(my_mysqli_fake_server_conn $conn): void +{ + $rh = $conn->packet_generator->server_stmt_execute_items_response(); + + $conn->send_server_greetings(); + $conn->read(); + $conn->send_server_ok(); + $conn->read(); + $packets = $conn->packet_generator->server_stmt_prepare_items_response(); + // org_name length exceeds the whole remaining packet + $packets[1]->orig_name_len = 'fe'; + $packets[2]->packet_length = '1f0000'; + $conn->send($conn->packets_to_bytes($packets), "Stmt prepare items"); + $conn->read(); + $conn->send($conn->packets_to_bytes($rh), "Malicious Stmt Response for fields [Extract heap through buffer over-read]"); + $conn->read(65536); +} + +function my_mysqli_test_stmt_response_field_len_premature(my_mysqli_fake_server_conn $conn): void +{ + $conn->send_server_greetings(); + $conn->read(); + $conn->send_server_ok(); + $conn->read(); + $packets = $conn->packet_generator->server_stmt_prepare_items_response(); + // org_name length over-reads into the trailing fixed-length metadata block + $packets[1]->orig_name_len = '0c'; + $conn->send($conn->packets_to_bytes($packets), "Malicious Stmt Prepare items [Field length over-read]"); + $conn->read(65536); +} + +function run_fake_server(string $test_function, int|string $port = 0): void { $host = '127.0.0.1'; @@ -847,9 +1457,12 @@ echo "[*] Server finished\n"; } - function run_fake_server_in_background($test_function, $port = 0): my_mysqli_fake_server_process { + if ($port == 0) { + $port = (int) getenv('MYSQLI_TEST_FAKE_SERVER_PORT'); + } + $command = [PHP_BINARY, '-n', __FILE__, 'mysqli_fake_server', $test_function, $port]; $descriptorspec = array( diff -Nru php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-auth-packet-affected-rows-2-bytes.phpt php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-auth-packet-affected-rows-2-bytes.phpt --- php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-auth-packet-affected-rows-2-bytes.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-auth-packet-affected-rows-2-bytes.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,32 @@ +--TEST-- +GHSA-r6x9-5r99-36j7 (Various packet overreads in mysqlnd_writeprotocol.c - auth packet with affected rows on 2 bytes) +--EXTENSIONS-- +mysqli +--FILE-- +wait(); + +$conn = new mysqli( $servername, $username, $password, "", $process->getPort() ); +echo "[*] connect_errno: ", $conn->connect_errno, "\n"; + +$conn->close(); + +$process->terminate(); + +print "done!"; +?> +--EXPECTF-- +[*] Server started on 127.0.0.1:%d +[*] Connection established +[*] Sending - Server Greeting: 580000000a352e352e352d31302e352e31382d4d6172696144420003000000473e3f6047257c6700fef7080200ff81150000000000000f0000006c6b55463f49335f686c6431006d7973716c5f6e61746976655f70617373776f7264 +[*] Received: 6900000185a21a00000000c0080000000000000000000000000000000000000000000000726f6f7400006d7973716c5f6e61746976655f70617373776f7264002c0c5f636c69656e745f6e616d65076d7973716c6e640c5f7365727665725f686f7374093132372e302e302e31 +[*] Sending - OK Auth Response [affected rows on 2 bytes]: 0900000200fc34120002000000 +[*] connect_errno: 0 +done! diff -Nru php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-auth-packet-affected-rows-8-bytes.phpt php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-auth-packet-affected-rows-8-bytes.phpt --- php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-auth-packet-affected-rows-8-bytes.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-auth-packet-affected-rows-8-bytes.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,32 @@ +--TEST-- +GHSA-r6x9-5r99-36j7 (Various packet overreads in mysqlnd_writeprotocol.c - auth packet with affected rows on 8 bytes) +--EXTENSIONS-- +mysqli +--FILE-- +wait(); + +$conn = new mysqli( $servername, $username, $password, "", $process->getPort() ); +echo "[*] connect_errno: ", $conn->connect_errno, "\n"; + +$conn->close(); + +$process->terminate(); + +print "done!"; +?> +--EXPECTF-- +[*] Server started on 127.0.0.1:%d +[*] Connection established +[*] Sending - Server Greeting: 580000000a352e352e352d31302e352e31382d4d6172696144420003000000473e3f6047257c6700fef7080200ff81150000000000000f0000006c6b55463f49335f686c6431006d7973716c5f6e61746976655f70617373776f7264 +[*] Received: 6900000185a21a00000000c0080000000000000000000000000000000000000000000000726f6f7400006d7973716c5f6e61746976655f70617373776f7264002c0c5f636c69656e745f6e616d65076d7973716c6e640c5f7365727665725f686f7374093132372e302e302e31 +[*] Sending - OK Auth Response [affected rows on 8 bytes]: 0f00000200fe01000000000000000002000000 +[*] connect_errno: 0 +done! diff -Nru php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-auth-packet-affected-rows-null-length.phpt php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-auth-packet-affected-rows-null-length.phpt --- php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-auth-packet-affected-rows-null-length.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-auth-packet-affected-rows-null-length.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,32 @@ +--TEST-- +GHSA-r6x9-5r99-36j7 (Various packet overreads in mysqlnd_writeprotocol.c - auth packet with affected rows as NULL length) +--EXTENSIONS-- +mysqli +--FILE-- +wait(); + +$conn = new mysqli( $servername, $username, $password, "", $process->getPort() ); +echo "[*] connect_errno: ", $conn->connect_errno, "\n"; + +$conn->close(); + +$process->terminate(); + +print "done!"; +?> +--EXPECTF-- +[*] Server started on 127.0.0.1:%d +[*] Connection established +[*] Sending - Server Greeting: 580000000a352e352e352d31302e352e31382d4d6172696144420003000000473e3f6047257c6700fef7080200ff81150000000000000f0000006c6b55463f49335f686c6431006d7973716c5f6e61746976655f70617373776f7264 +[*] Received: 6900000185a21a00000000c0080000000000000000000000000000000000000000000000726f6f7400006d7973716c5f6e61746976655f70617373776f7264002c0c5f636c69656e745f6e616d65076d7973716c6e640c5f7365727665725f686f7374093132372e302e302e31 +[*] Sending - OK Auth Response [affected rows as NULL length]: 0700000200fb0002000000 +[*] connect_errno: 0 +done! diff -Nru php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-auth-packet-affected-rows.phpt php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-auth-packet-affected-rows.phpt --- php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-auth-packet-affected-rows.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-auth-packet-affected-rows.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,37 @@ +--TEST-- +GHSA-r6x9-5r99-36j7 (Various packet overreads in mysqlnd_writeprotocol.c - auth packet over-read in affected rows) +--EXTENSIONS-- +mysqli +--FILE-- +wait(); + +try { + $conn = new mysqli( $servername, $username, $password, "", $process->getPort() ); +} catch (Exception $e) { + echo $e->getMessage() . PHP_EOL; +} + +$process->terminate(); + +print "done!"; +?> +--EXPECTF-- +[*] Server started on 127.0.0.1:%d +[*] Connection established +[*] Sending - Server Greeting: 580000000a352e352e352d31302e352e31382d4d6172696144420003000000473e3f6047257c6700fef7080200ff81150000000000000f0000006c6b55463f49335f686c6431006d7973716c5f6e61746976655f70617373776f7264 +[*] Received: 6900000185a21a00000000c0080000000000000000000000000000000000000000000000726f6f7400006d7973716c5f6e61746976655f70617373776f7264002c0c5f636c69656e745f6e616d65076d7973716c6e640c5f7365727665725f686f7374093132372e302e302e31 +[*] Sending - Malicious OK Auth Response: 0200000200fe + +Warning: mysqli::__construct(): Premature end of data (mysqlnd_wireprotocol.c:%d) in %s on line %d + +Warning: mysqli::__construct(): AUTH_RESPONSE packet shorter than expected in %s on line %d +Unknown error while trying to connect via tcp://127.0.0.1:%d +done! diff -Nru php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-auth-packet-last-insert-id-no-space.phpt php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-auth-packet-last-insert-id-no-space.phpt --- php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-auth-packet-last-insert-id-no-space.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-auth-packet-last-insert-id-no-space.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,37 @@ +--TEST-- +GHSA-r6x9-5r99-36j7 (Various packet overreads in mysqlnd_writeprotocol.c - auth packet with no space for last inserted id) +--EXTENSIONS-- +mysqli +--FILE-- +wait(); + +try { + $conn = new mysqli( $servername, $username, $password, "", $process->getPort() ); +} catch (Exception $e) { + echo $e->getMessage() . PHP_EOL; +} + +$process->terminate(); + +print "done!"; +?> +--EXPECTF-- +[*] Server started on 127.0.0.1:%d +[*] Connection established +[*] Sending - Server Greeting: 580000000a352e352e352d31302e352e31382d4d6172696144420003000000473e3f6047257c6700fef7080200ff81150000000000000f0000006c6b55463f49335f686c6431006d7973716c5f6e61746976655f70617373776f7264 +[*] Received: 6900000185a21a00000000c0080000000000000000000000000000000000000000000000726f6f7400006d7973716c5f6e61746976655f70617373776f7264002c0c5f636c69656e745f6e616d65076d7973716c6e640c5f7365727665725f686f7374093132372e302e302e31 +[*] Sending - Malicious OK Auth Response [no space for last insert id]: 020000020000 + +Warning: mysqli::__construct(): Premature end of data (mysqlnd_wireprotocol.c:%d) in %s on line %d + +Warning: mysqli::__construct(): AUTH_RESPONSE packet shorter than expected in %s on line %d +Unknown error while trying to connect via tcp://127.0.0.1:%d +done! diff -Nru php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-auth-packet-last-insert-id.phpt php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-auth-packet-last-insert-id.phpt --- php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-auth-packet-last-insert-id.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-auth-packet-last-insert-id.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,37 @@ +--TEST-- +GHSA-r6x9-5r99-36j7 (Various packet overreads in mysqlnd_writeprotocol.c - auth packet over-read in last inserted id) +--EXTENSIONS-- +mysqli +--FILE-- +wait(); + +try { + $conn = new mysqli( $servername, $username, $password, "", $process->getPort() ); +} catch (Exception $e) { + echo $e->getMessage() . PHP_EOL; +} + +$process->terminate(); + +print "done!"; +?> +--EXPECTF-- +[*] Server started on 127.0.0.1:%d +[*] Connection established +[*] Sending - Server Greeting: 580000000a352e352e352d31302e352e31382d4d6172696144420003000000473e3f6047257c6700fef7080200ff81150000000000000f0000006c6b55463f49335f686c6431006d7973716c5f6e61746976655f70617373776f7264 +[*] Received: 6900000185a21a00000000c0080000000000000000000000000000000000000000000000726f6f7400006d7973716c5f6e61746976655f70617373776f7264002c0c5f636c69656e745f6e616d65076d7973716c6e640c5f7365727665725f686f7374093132372e302e302e31 +[*] Sending - Malicious OK Auth Response: 030000020000fd + +Warning: mysqli::__construct(): Premature end of data (mysqlnd_wireprotocol.c:%d) in %s on line %d + +Warning: mysqli::__construct(): AUTH_RESPONSE packet shorter than expected in %s on line %d +Unknown error while trying to connect via tcp://127.0.0.1:%d +done! diff -Nru php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-auth-packet-warning-count.phpt php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-auth-packet-warning-count.phpt --- php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-auth-packet-warning-count.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-auth-packet-warning-count.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,37 @@ +--TEST-- +GHSA-r6x9-5r99-36j7 (Various packet overreads in mysqlnd_writeprotocol.c - auth packet over-read in warning count) +--EXTENSIONS-- +mysqli +--FILE-- +wait(); + +try { + $conn = new mysqli( $servername, $username, $password, "", $process->getPort() ); +} catch (Exception $e) { + echo $e->getMessage() . PHP_EOL; +} + +$process->terminate(); + +print "done!"; +?> +--EXPECTF-- +[*] Server started on 127.0.0.1:%d +[*] Connection established +[*] Sending - Server Greeting: 580000000a352e352e352d31302e352e31382d4d6172696144420003000000473e3f6047257c6700fef7080200ff81150000000000000f0000006c6b55463f49335f686c6431006d7973716c5f6e61746976655f70617373776f7264 +[*] Received: 6900000185a21a00000000c0080000000000000000000000000000000000000000000000726f6f7400006d7973716c5f6e61746976655f70617373776f7264002c0c5f636c69656e745f6e616d65076d7973716c6e640c5f7365727665725f686f7374093132372e302e302e31 +[*] Sending - Malicious OK Auth Response: 06000002000000020000 + +Warning: mysqli::__construct(): Premature end of data (mysqlnd_wireprotocol.c:%d) in %s on line %d + +Warning: mysqli::__construct(): AUTH_RESPONSE packet shorter than expected in %s on line %d +Unknown error while trying to connect via tcp://127.0.0.1:%d +done! diff -Nru php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-auth-switch-unterminated.phpt php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-auth-switch-unterminated.phpt --- php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-auth-switch-unterminated.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-auth-switch-unterminated.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,37 @@ +--TEST-- +GHSA-r6x9-5r99-36j7 (Various packet overreads in mysqlnd_writeprotocol.c - auth switch response with an unterminated plugin name) +--EXTENSIONS-- +mysqli +--FILE-- +wait(); + +try { + $conn = new mysqli( $servername, $username, $password, "", $process->getPort() ); +} catch (Exception $e) { + echo $e->getMessage() . PHP_EOL; +} + +$process->terminate(); + +print "done!"; +?> +--EXPECTF-- +[*] Server started on 127.0.0.1:%d +[*] Connection established +[*] Sending - Server Greeting: 580000000a352e352e352d31302e352e31382d4d6172696144420003000000473e3f6047257c6700fef7080200ff81150000000000000f0000006c6b55463f49335f686c6431006d7973716c5f6e61746976655f70617373776f7264 +[*] Received: 7d00000185a21a00000000c0080000000000000000000000000000000000000000000000726f6f7400140c7b6398a9794c7dc95737fa731fe62e95fe56626d7973716c5f6e61746976655f70617373776f7264002c0c5f636c69656e745f6e616d65076d7973716c6e640c5f7365727665725f686f7374093132372e302e302e31 +[*] Sending - Malicious Auth Switch Response [plugin name not terminated]: 16000002fe6d7973716c5f6e61746976655f70617373776f7264 + +Warning: mysqli::__construct(): Premature end of data (mysqlnd_wireprotocol.c:%d) in %s on line %d + +Warning: mysqli::__construct(): AUTH_RESPONSE packet shorter than expected in %s on line %d +mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication. Please use an administration tool to reset your password with the command SET PASSWORD = PASSWORD('your_existing_password'). This will store a new, and more secure, hash value in mysql.user. If this user is used in other scripts executed by PHP 5.2 or earlier you might need to remove the old-passwords flag from your my.cnf file +done! diff -Nru php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-cached-sha2-empty.phpt php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-cached-sha2-empty.phpt --- php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-cached-sha2-empty.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-cached-sha2-empty.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,45 @@ +--TEST-- +GHSA-r6x9-5r99-36j7 (Various packet overreads in mysqlnd_writeprotocol.c - cached sha2 result with empty packet) +--EXTENSIONS-- +mysqli +--SKIPIF-- + +--FILE-- +wait(); + +echo "[*] Connecting to the fake server...\n"; +$conn = new mysqli($servername, $username, $password, "", $process->getPort()); +echo "[*] connect_errno: ", $conn->connect_errno, "\n"; + +$conn->close(); + +$process->terminate(true); + +print "done!"; +?> +--EXPECTF-- +[*] Server started on 127.0.0.1:%d +[*] Connecting to the fake server... +[*] Connection established +[*] Sending - Server Greeting: 580000000a352e352e352d31302e352e31382d4d6172696144420003000000473e3f6047257c6700fef7080200ff81150000000000000f0000006c6b55463f49335f686c64310063616368696e675f736861325f70617373776f7264 +[*] Received: 8900000185a21a00000000c0080000000000000000000000000000000000000000000000726f6f7400204829cef922c9e8d5c6b4a4299cb857d65b18323a1b833559f3aa6a0b462994be63616368696e675f736861325f70617373776f7264002c0c5f636c69656e745f6e616d65076d7973716c6e640c5f7365727665725f686f7374093132372e302e302e31 +[*] Sending - Malicious Cached SHA2 Result [empty packet]: 000000020700000300000002000000 + +Warning: mysqli::__construct(): Premature end of data (mysqlnd_wireprotocol.c:%d) in %s on line %d + +Warning: mysqli::__construct(): SHA256_PK_REQUEST_RESPONSE packet shorter than expected in %s on line %d +[*] connect_errno: 0 +[*] Received: 0100000001 +[*] Server finished +done! diff -Nru php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-cached-sha2-fast-auth.phpt php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-cached-sha2-fast-auth.phpt --- php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-cached-sha2-fast-auth.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-cached-sha2-fast-auth.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,41 @@ +--TEST-- +GHSA-r6x9-5r99-36j7 (Various packet overreads in mysqlnd_writeprotocol.c - cached sha2 result for a successful fast auth) +--EXTENSIONS-- +mysqli +--SKIPIF-- + +--FILE-- +wait(); + +echo "[*] Connecting to the fake server...\n"; +$conn = new mysqli($servername, $username, $password, "", $process->getPort()); +echo "[*] connect_errno: ", $conn->connect_errno, "\n"; + +$conn->close(); + +$process->terminate(true); + +print "done!"; +?> +--EXPECTF-- +[*] Server started on 127.0.0.1:%d +[*] Connecting to the fake server... +[*] Connection established +[*] Sending - Server Greeting: 580000000a352e352e352d31302e352e31382d4d6172696144420003000000473e3f6047257c6700fef7080200ff81150000000000000f0000006c6b55463f49335f686c64310063616368696e675f736861325f70617373776f7264 +[*] Received: 8900000185a21a00000000c0080000000000000000000000000000000000000000000000726f6f7400204829cef922c9e8d5c6b4a4299cb857d65b18323a1b833559f3aa6a0b462994be63616368696e675f736861325f70617373776f7264002c0c5f636c69656e745f6e616d65076d7973716c6e640c5f7365727665725f686f7374093132372e302e302e31 +[*] Sending - Cached SHA2 Result [fast auth]: 0200000201030700000300000002000000 +[*] connect_errno: 0 +[*] Received: 0100000001 +[*] Server finished +done! diff -Nru php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-cached-sha2-len.phpt php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-cached-sha2-len.phpt --- php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-cached-sha2-len.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-cached-sha2-len.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,45 @@ +--TEST-- +GHSA-r6x9-5r99-36j7 (Various packet overreads in mysqlnd_writeprotocol.c - cached sha2 result shorter than expected) +--EXTENSIONS-- +mysqli +--SKIPIF-- + +--FILE-- +wait(); + +echo "[*] Connecting to the fake server...\n"; +$conn = new mysqli($servername, $username, $password, "", $process->getPort()); +echo "[*] connect_errno: ", $conn->connect_errno, "\n"; + +$conn->close(); + +$process->terminate(true); + +print "done!"; +?> +--EXPECTF-- +[*] Server started on 127.0.0.1:%d +[*] Connecting to the fake server... +[*] Connection established +[*] Sending - Server Greeting: 580000000a352e352e352d31302e352e31382d4d6172696144420003000000473e3f6047257c6700fef7080200ff81150000000000000f0000006c6b55463f49335f686c64310063616368696e675f736861325f70617373776f7264 +[*] Received: 8900000185a21a00000000c0080000000000000000000000000000000000000000000000726f6f7400204829cef922c9e8d5c6b4a4299cb857d65b18323a1b833559f3aa6a0b462994be63616368696e675f736861325f70617373776f7264002c0c5f636c69656e745f6e616d65076d7973716c6e640c5f7365727665725f686f7374093132372e302e302e31 +[*] Sending - Malicious Cached SHA2 Result [packet too short]: 01000002010700000300000002000000 + +Warning: mysqli::__construct(): Premature end of data (mysqlnd_wireprotocol.c:%d) in %s on line %d + +Warning: mysqli::__construct(): SHA256_PK_REQUEST_RESPONSE packet shorter than expected in %s on line %d +[*] connect_errno: 0 +[*] Received: 0100000001 +[*] Server finished +done! diff -Nru php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-cached-sha2-switch-unterminated.phpt php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-cached-sha2-switch-unterminated.phpt --- php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-cached-sha2-switch-unterminated.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-cached-sha2-switch-unterminated.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,40 @@ +--TEST-- +GHSA-r6x9-5r99-36j7 (Various packet overreads in mysqlnd_writeprotocol.c - cached sha2 result with an unterminated plugin name) +--EXTENSIONS-- +mysqli +--SKIPIF-- + +--FILE-- +wait(); + +$conn = new mysqli( $servername, $username, $password, "", $process->getPort() ); +echo "[*] connect_errno: ", $conn->connect_errno, "\n"; +$conn->close(); + +$process->terminate(); + +print "done!"; +?> +--EXPECTF-- +[*] Server started on 127.0.0.1:%d +[*] Connection established +[*] Sending - Server Greeting: 580000000a352e352e352d31302e352e31382d4d6172696144420003000000473e3f6047257c6700fef7080200ff81150000000000000f0000006c6b55463f49335f686c64310063616368696e675f736861325f70617373776f7264 +[*] Received: 8900000185a21a00000000c0080000000000000000000000000000000000000000000000726f6f7400204829cef922c9e8d5c6b4a4299cb857d65b18323a1b833559f3aa6a0b462994be63616368696e675f736861325f70617373776f7264002c0c5f636c69656e745f6e616d65076d7973716c6e640c5f7365727665725f686f7374093132372e302e302e31 +[*] Sending - Malicious Cached SHA2 Result [plugin name not terminated]: 16000002fe6d7973716c5f6e61746976655f70617373776f72640700000300000002000000 + +Warning: mysqli::__construct(): Premature end of data (mysqlnd_wireprotocol.c:%d) in %s on line %d + +Warning: mysqli::__construct(): SHA256_PK_REQUEST_RESPONSE packet shorter than expected in %s on line %d +[*] connect_errno: 0 +done! diff -Nru php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-chg-user-empty.phpt php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-chg-user-empty.phpt --- php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-chg-user-empty.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-chg-user-empty.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,43 @@ +--TEST-- +GHSA-r6x9-5r99-36j7 (Various packet overreads in mysqlnd_writeprotocol.c - change user response with empty packet) +--EXTENSIONS-- +mysqli +--FILE-- +wait(); + +$conn = new mysqli($servername, $username, $password, "", $process->getPort()); + +echo "[*] Changing user on the fake server...\n"; +var_dump($conn->change_user("root2", "", "")); + +$conn->close(); + +$process->terminate(true); + +print "done!"; +?> +--EXPECTF-- +[*] Server started on 127.0.0.1:%d +[*] Connection established +[*] Sending - Server Greeting: 580000000a352e352e352d31302e352e31382d4d6172696144420003000000473e3f6047257c6700fef7080200ff81150000000000000f0000006c6b55463f49335f686c6431006d7973716c5f6e61746976655f70617373776f7264 +[*] Received: 6900000185a21a00000000c0080000000000000000000000000000000000000000000000726f6f7400006d7973716c5f6e61746976655f70617373776f7264002c0c5f636c69656e745f6e616d65076d7973716c6e640c5f7365727665725f686f7374093132372e302e302e31 +[*] Sending - Server OK: 0700000200000002000000 +[*] Changing user on the fake server... +[*] Received: 4e00000011726f6f743200000008006d7973716c5f6e61746976655f70617373776f7264002c0c5f636c69656e745f6e616d65076d7973716c6e640c5f7365727665725f686f7374093132372e302e302e31 +[*] Sending - Malicious Change User Response [empty packet]: 00000001 + +Warning: mysqli::change_user(): Premature end of data (mysqlnd_wireprotocol.c:%d) in %s on line %d + +Warning: mysqli::change_user(): CHANGE_USER packet shorter than expected in %s on line %d +bool(false) +[*] Received: 0100000001 +[*] Server finished +done! diff -Nru php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-chg-user-len.phpt php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-chg-user-len.phpt --- php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-chg-user-len.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-chg-user-len.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,43 @@ +--TEST-- +GHSA-r6x9-5r99-36j7 (Various packet overreads in mysqlnd_writeprotocol.c - change user response shorter than expected) +--EXTENSIONS-- +mysqli +--FILE-- +wait(); + +$conn = new mysqli($servername, $username, $password, "", $process->getPort()); + +echo "[*] Changing user on the fake server...\n"; +var_dump($conn->change_user("root2", "", "")); + +$conn->close(); + +$process->terminate(true); + +print "done!"; +?> +--EXPECTF-- +[*] Server started on 127.0.0.1:%d +[*] Connection established +[*] Sending - Server Greeting: 580000000a352e352e352d31302e352e31382d4d6172696144420003000000473e3f6047257c6700fef7080200ff81150000000000000f0000006c6b55463f49335f686c6431006d7973716c5f6e61746976655f70617373776f7264 +[*] Received: 6900000185a21a00000000c0080000000000000000000000000000000000000000000000726f6f7400006d7973716c5f6e61746976655f70617373776f7264002c0c5f636c69656e745f6e616d65076d7973716c6e640c5f7365727665725f686f7374093132372e302e302e31 +[*] Sending - Server OK: 0700000200000002000000 +[*] Changing user on the fake server... +[*] Received: 4e00000011726f6f743200000008006d7973716c5f6e61746976655f70617373776f7264002c0c5f636c69656e745f6e616d65076d7973716c6e640c5f7365727665725f686f7374093132372e302e302e31 +[*] Sending - Malicious Change User Response [packet too short]: 0100000100 + +Warning: mysqli::change_user(): Premature end of data (mysqlnd_wireprotocol.c:%d) in %s on line %d + +Warning: mysqli::change_user(): CHANGE_USER packet shorter than expected in %s on line %d +bool(false) +[*] Received: 0100000001 +[*] Server finished +done! diff -Nru php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-chg-user-switch-unterminated.phpt php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-chg-user-switch-unterminated.phpt --- php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-chg-user-switch-unterminated.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-chg-user-switch-unterminated.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,43 @@ +--TEST-- +GHSA-r6x9-5r99-36j7 (Various packet overreads in mysqlnd_writeprotocol.c - change user response with an unterminated plugin name) +--EXTENSIONS-- +mysqli +--FILE-- +wait(); + +$conn = new mysqli( $servername, $username, "", "", $process->getPort() ); + +echo "[*] Changing user on the fake server...\n"; +try { + var_dump($conn->change_user("root2", "", "")); +} catch (Exception $e) { + echo $e->getMessage() . PHP_EOL; +} + +$process->terminate(); + +print "done!"; +?> +--EXPECTF-- +[*] Server started on 127.0.0.1:%d +[*] Connection established +[*] Sending - Server Greeting: 580000000a352e352e352d31302e352e31382d4d6172696144420003000000473e3f6047257c6700fef7080200ff81150000000000000f0000006c6b55463f49335f686c6431006d7973716c5f6e61746976655f70617373776f7264 +[*] Received: 6900000185a21a00000000c0080000000000000000000000000000000000000000000000726f6f7400006d7973716c5f6e61746976655f70617373776f7264002c0c5f636c69656e745f6e616d65076d7973716c6e640c5f7365727665725f686f7374093132372e302e302e31 +[*] Sending - Server OK: 0700000200000002000000 +[*] Changing user on the fake server... +[*] Received: 4e00000011726f6f743200000008006d7973716c5f6e61746976655f70617373776f7264002c0c5f636c69656e745f6e616d65076d7973716c6e640c5f7365727665725f686f7374093132372e302e302e31 +[*] Sending - Malicious Change User Response [plugin name not terminated]: 16000001fe6d7973716c5f6e61746976655f70617373776f7264 + +Warning: mysqli::change_user(): Premature end of data (mysqlnd_wireprotocol.c:%d) in %s on line %d + +Warning: mysqli::change_user(): CHANGE_USER packet shorter than expected in %s on line %d +mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication. Please use an administration tool to reset your password with the command SET PASSWORD = PASSWORD('your_existing_password'). This will store a new, and more secure, hash value in mysql.user. If this user is used in other scripts executed by PHP 5.2 or earlier you might need to remove the old-passwords flag from your my.cnf file +done! diff -Nru php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-eof-warning-count.phpt php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-eof-warning-count.phpt --- php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-eof-warning-count.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-eof-warning-count.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,44 @@ +--TEST-- +GHSA-r6x9-5r99-36j7 (Various packet overreads in mysqlnd_writeprotocol.c - eof packet over-read in warning count) +--EXTENSIONS-- +mysqli +--FILE-- +wait(); + +try { + $conn = new mysqli($servername, $username, $password, "", $process->getPort()); + $query = "SELECT 1; SELECT 2;"; + $conn->multi_query($query); +} catch (Exception $e) { + echo $e->getMessage() . PHP_EOL; +} + +$process->terminate(); + +print "done!"; +?> +--EXPECTF-- +[*] Server started on 127.0.0.1:%d +[*] Connection established +[*] Sending - Server Greeting: 580000000a352e352e352d31302e352e31382d4d6172696144420003000000473e3f6047257c6700fef7080200ff81150000000000000f0000006c6b55463f49335f686c6431006d7973716c5f6e61746976655f70617373776f7264 +[*] Received: 6900000185a21a00000000c0080000000000000000000000000000000000000000000000726f6f7400006d7973716c5f6e61746976655f70617373776f7264002c0c5f636c69656e745f6e616d65076d7973716c6e640c5f7365727665725f686f7374093132372e302e302e31 +[*] Sending - Server OK: 0700000200000002000000 +[*] Received: 030000001b0000 +[*] Sending - Malicious EOF Response: 04000001fe000200 + +Warning: mysqli::multi_query(): Premature end of data (mysqlnd_wireprotocol.c:%d) in %s on line %d + +Warning: mysqli::multi_query(): EOF packet shorter than expected in %s on line %d + +Warning: mysqli::multi_query(): Error while reading SET_OPTION's response packet. PID=%d in %s on line %d +[*] Received: 140000000353454c45435420313b2053454c45435420323b +MySQL server has gone away +done! diff -Nru php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-greet-packet-string.phpt php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-greet-packet-string.phpt --- php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-greet-packet-string.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-greet-packet-string.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,37 @@ +--TEST-- +GHSA-r6x9-5r99-36j7 (Various packet overreads in mysqlnd_writeprotocol.c - greet packet over-read string) +--EXTENSIONS-- +mysqli +--FILE-- +wait(); + +try { + $conn = new mysqli( $servername, $username, $password, "", $process->getPort() ); +} catch (Exception $e) { + echo $e->getMessage() . PHP_EOL; +} + +$process->terminate(); + +print "done!"; +?> +--EXPECTF-- +[*] Server started on 127.0.0.1:%d +[*] Connection established +[*] Sending - Malicious Server Greeting: 080000000a352e3503030303473e3f6047257c67 + +Warning: mysqli::__construct(): Premature end of data (mysqlnd_wireprotocol.c:%d) in %s on line %d + +Warning: mysqli::__construct(): GREET packet shorter than expected in %s on line %d + +Warning: mysqli::__construct(): Error while reading greeting packet. PID=%d in %s on line %d +Unknown error while trying to connect via tcp://127.0.0.1:%d +done! diff -Nru php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-greet-packet.phpt php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-greet-packet.phpt --- php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-greet-packet.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-greet-packet.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,37 @@ +--TEST-- +GHSA-r6x9-5r99-36j7 (Various packet overreads in mysqlnd_writeprotocol.c - greet packet over-read) +--EXTENSIONS-- +mysqli +--FILE-- +wait(); + +try { + $conn = new mysqli( $servername, $username, $password, "", $process->getPort() ); +} catch (Exception $e) { + echo $e->getMessage() . PHP_EOL; +} + +$process->terminate(); + +print "done!"; +?> +--EXPECTF-- +[*] Server started on 127.0.0.1:%d +[*] Connection established +[*] Sending - Malicious Server Greeting: 110000000a382e300003000000473e3f6047257c67 + +Warning: mysqli::__construct(): Premature end of data (mysqlnd_wireprotocol.c:%d) in %s on line %d + +Warning: mysqli::__construct(): GREET packet shorter than expected in %s on line %d + +Warning: mysqli::__construct(): Error while reading greeting packet. PID=%d in %s on line %d +Unknown error while trying to connect via tcp://127.0.0.1:%d +done! diff -Nru php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-greet-scramble-len.phpt php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-greet-scramble-len.phpt --- php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-greet-scramble-len.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-greet-scramble-len.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,37 @@ +--TEST-- +GHSA-r6x9-5r99-36j7 (Various packet overreads in mysqlnd_writeprotocol.c - greet packet scramble length over-read) +--EXTENSIONS-- +mysqli +--FILE-- +wait(); + +try { + $conn = new mysqli( $servername, $username, $password, "", $process->getPort() ); +} catch (Exception $e) { + echo $e->getMessage() . PHP_EOL; +} + +$process->terminate(); + +print "done!"; +?> +--EXPECTF-- +[*] Server started on 127.0.0.1:%d +[*] Connection established +[*] Sending - Malicious Server Greeting [scramble length over-read]: 580000000a352e352e352d31302e352e31382d4d6172696144420003000000473e3f6047257c6700fef7080200ff81ff0000000000000f0000006c6b55463f49335f686c6431006d7973716c5f6e61746976655f70617373776f7264 + +Warning: mysqli::__construct(): Premature end of data (mysqlnd_wireprotocol.c:%d) in %s on line %d + +Warning: mysqli::__construct(): GREET packet shorter than expected in %s on line %d + +Warning: mysqli::__construct(): Error while reading greeting packet. PID=%d in %s on line %d +Unknown error while trying to connect via tcp://127.0.0.1:%d +done! diff -Nru php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-ok-packet-affected-rows.phpt php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-ok-packet-affected-rows.phpt --- php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-ok-packet-affected-rows.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-ok-packet-affected-rows.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,42 @@ +--TEST-- +GHSA-r6x9-5r99-36j7 (Various packet overreads in mysqlnd_writeprotocol.c - ok packet over-read in affected rows) +--EXTENSIONS-- +mysqli +--FILE-- +wait(); + +try { + $conn = new mysqli($servername, $username, $password, "", $process->getPort()); + var_dump($conn->select_db("php_test")); +} catch (Exception $e) { + echo $e->getMessage() . PHP_EOL; +} + +$process->terminate(); + +print "done!"; +?> +--EXPECTF-- +[*] Server started on 127.0.0.1:%d +[*] Connection established +[*] Sending - Server Greeting: 580000000a352e352e352d31302e352e31382d4d6172696144420003000000473e3f6047257c6700fef7080200ff81150000000000000f0000006c6b55463f49335f686c6431006d7973716c5f6e61746976655f70617373776f7264 +[*] Received: 6900000185a21a00000000c0080000000000000000000000000000000000000000000000726f6f7400006d7973716c5f6e61746976655f70617373776f7264002c0c5f636c69656e745f6e616d65076d7973716c6e640c5f7365727665725f686f7374093132372e302e302e31 +[*] Sending - Server OK: 0700000200000002000000 +[*] Received: 09000000027068705f74657374 +[*] Sending - Malicious OK Auth Response: 0200000100fe + +Warning: mysqli::select_db(): Premature end of data (mysqlnd_wireprotocol.c:%d) in %s on line %d + +Warning: mysqli::select_db(): OK packet shorter than expected in %s on line %d + +Warning: mysqli::select_db(): Error while reading INIT_DB's response packet. PID=%d in %s on line %d +Malformed packet +done! diff -Nru php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-ok-packet-last-insert-id.phpt php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-ok-packet-last-insert-id.phpt --- php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-ok-packet-last-insert-id.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-ok-packet-last-insert-id.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,42 @@ +--TEST-- +GHSA-r6x9-5r99-36j7 (Various packet overreads in mysqlnd_writeprotocol.c - ok packet over-read in last inserted id) +--EXTENSIONS-- +mysqli +--FILE-- +wait(); + +try { + $conn = new mysqli($servername, $username, $password, "", $process->getPort()); + var_dump($conn->select_db("php_test")); +} catch (Exception $e) { + echo $e->getMessage() . PHP_EOL; +} + +$process->terminate(); + +print "done!"; +?> +--EXPECTF-- +[*] Server started on 127.0.0.1:%d +[*] Connection established +[*] Sending - Server Greeting: 580000000a352e352e352d31302e352e31382d4d6172696144420003000000473e3f6047257c6700fef7080200ff81150000000000000f0000006c6b55463f49335f686c6431006d7973716c5f6e61746976655f70617373776f7264 +[*] Received: 6900000185a21a00000000c0080000000000000000000000000000000000000000000000726f6f7400006d7973716c5f6e61746976655f70617373776f7264002c0c5f636c69656e745f6e616d65076d7973716c6e640c5f7365727665725f686f7374093132372e302e302e31 +[*] Sending - Server OK: 0700000200000002000000 +[*] Received: 09000000027068705f74657374 +[*] Sending - Malicious OK Auth Response: 030000010000fd + +Warning: mysqli::select_db(): Premature end of data (mysqlnd_wireprotocol.c:%d) in %s on line %d + +Warning: mysqli::select_db(): OK packet shorter than expected in %s on line %d + +Warning: mysqli::select_db(): Error while reading INIT_DB's response packet. PID=%d in %s on line %d +Malformed packet +done! diff -Nru php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-ok-packet-message-len.phpt php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-ok-packet-message-len.phpt --- php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-ok-packet-message-len.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-ok-packet-message-len.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,42 @@ +--TEST-- +GHSA-r6x9-5r99-36j7 (Various packet overreads in mysqlnd_writeprotocol.c - ok packet over-read in message length) +--EXTENSIONS-- +mysqli +--FILE-- +wait(); + +try { + $conn = new mysqli($servername, $username, $password, "", $process->getPort()); + var_dump($conn->select_db("php_test")); +} catch (Exception $e) { + echo $e->getMessage() . PHP_EOL; +} + +$process->terminate(); + +print "done!"; +?> +--EXPECTF-- +[*] Server started on 127.0.0.1:%d +[*] Connection established +[*] Sending - Server Greeting: 580000000a352e352e352d31302e352e31382d4d6172696144420003000000473e3f6047257c6700fef7080200ff81150000000000000f0000006c6b55463f49335f686c6431006d7973716c5f6e61746976655f70617373776f7264 +[*] Received: 6900000185a21a00000000c0080000000000000000000000000000000000000000000000726f6f7400006d7973716c5f6e61746976655f70617373776f7264002c0c5f636c69656e745f6e616d65076d7973716c6e640c5f7365727665725f686f7374093132372e302e302e31 +[*] Sending - Server OK: 0700000200000002000000 +[*] Received: 09000000027068705f74657374 +[*] Sending - Malicious OK Auth Response: 0800000100000002000000fd + +Warning: mysqli::select_db(): Premature end of data (mysqlnd_wireprotocol.c:%d) in %s on line %d + +Warning: mysqli::select_db(): OK packet shorter than expected in %s on line %d + +Warning: mysqli::select_db(): Error while reading INIT_DB's response packet. PID=%d in %s on line %d +Malformed packet +done! diff -Nru php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-ok-packet-warning-count.phpt php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-ok-packet-warning-count.phpt --- php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-ok-packet-warning-count.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-ok-packet-warning-count.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,42 @@ +--TEST-- +GHSA-r6x9-5r99-36j7 (Various packet overreads in mysqlnd_writeprotocol.c - ok packet over-read in warning count) +--EXTENSIONS-- +mysqli +--FILE-- +wait(); + +try { + $conn = new mysqli($servername, $username, $password, "", $process->getPort()); + var_dump($conn->select_db("php_test")); +} catch (Exception $e) { + echo $e->getMessage() . PHP_EOL; +} + +$process->terminate(); + +print "done!"; +?> +--EXPECTF-- +[*] Server started on 127.0.0.1:%d +[*] Connection established +[*] Sending - Server Greeting: 580000000a352e352e352d31302e352e31382d4d6172696144420003000000473e3f6047257c6700fef7080200ff81150000000000000f0000006c6b55463f49335f686c6431006d7973716c5f6e61746976655f70617373776f7264 +[*] Received: 6900000185a21a00000000c0080000000000000000000000000000000000000000000000726f6f7400006d7973716c5f6e61746976655f70617373776f7264002c0c5f636c69656e745f6e616d65076d7973716c6e640c5f7365727665725f686f7374093132372e302e302e31 +[*] Sending - Server OK: 0700000200000002000000 +[*] Received: 09000000027068705f74657374 +[*] Sending - Malicious OK Auth Response: 06000001000000020000 + +Warning: mysqli::select_db(): Premature end of data (mysqlnd_wireprotocol.c:%d) in %s on line %d + +Warning: mysqli::select_db(): OK packet shorter than expected in %s on line %d + +Warning: mysqli::select_db(): Error while reading INIT_DB's response packet. PID=%d in %s on line %d +Malformed packet +done! diff -Nru php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-query-row-eof-short.phpt php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-query-row-eof-short.phpt --- php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-query-row-eof-short.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-query-row-eof-short.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,47 @@ +--TEST-- +GHSA-r6x9-5r99-36j7 (Various packet overreads in mysqlnd_writeprotocol.c - row packet with an EOF shorter than the status it announces) +--EXTENSIONS-- +mysqli +--FILE-- +wait(); + +$conn = new mysqli($servername, $username, $password, "", $process->getPort()); + +echo "[*] Query the fake server...\n"; +$result = $conn->query("SELECT strval, strval FROM data"); + +if ($result->num_rows > 0) { + while ($row = $result->fetch_row()) { + var_dump($row); + } +} +$conn->close(); + +$process->terminate(); + +print "done!"; +?> +--EXPECTF-- +[*] Server started on 127.0.0.1:%d +[*] Connection established +[*] Sending - Server Greeting: 580000000a352e352e352d31302e352e31382d4d6172696144420003000000473e3f6047257c6700fef7080200ff81150000000000000f0000006c6b55463f49335f686c6431006d7973716c5f6e61746976655f70617373776f7264 +[*] Received: 6900000185a21a00000000c0080000000000000000000000000000000000000000000000726f6f7400006d7973716c5f6e61746976655f70617373776f7264002c0c5f636c69656e745f6e616d65076d7973716c6e640c5f7365727665725f686f7374093132372e302e302e31 +[*] Sending - Server OK: 0700000200000002000000 +[*] Query the fake server... +[*] Received: 200000000353454c4543542073747276616c2c2073747276616c2046524f4d2064617461 +[*] Sending - Malicious Query Response [short EOF row packet]: 01000001023200000203646566087068705f74657374046461746104646174610673747276616c0673747276616c0ce000c8000000fd01100000003200000303646566087068705f74657374046461746104646174610673747276616c0673747276616c0ce000c8000000fd011000000005000004fe000022000a0000050474657374047465737403000006fe0000 +array(2) { + [0]=> + string(4) "test" + [1]=> + string(4) "test" +} +done! diff -Nru php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-query-row-field-len-2-bytes.phpt php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-query-row-field-len-2-bytes.phpt --- php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-query-row-field-len-2-bytes.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-query-row-field-len-2-bytes.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,49 @@ +--TEST-- +GHSA-r6x9-5r99-36j7 (Various packet overreads in mysqlnd_writeprotocol.c - text protocol row field length on 2 bytes) +--EXTENSIONS-- +mysqli +--FILE-- +wait(); + +$conn = new mysqli($servername, $username, $password, "", $process->getPort()); + +echo "[*] Query the fake server...\n"; +$result = $conn->query("SELECT strval, strval FROM data"); + +if ($result->num_rows > 0) { + while ($row = $result->fetch_row()) { + var_dump($row); + } +} +$conn->close(); + +$process->terminate(true); + +print "done!"; +?> +--EXPECTF-- +[*] Server started on 127.0.0.1:%d +[*] Connection established +[*] Sending - Server Greeting: 580000000a352e352e352d31302e352e31382d4d6172696144420003000000473e3f6047257c6700fef7080200ff81150000000000000f0000006c6b55463f49335f686c6431006d7973716c5f6e61746976655f70617373776f7264 +[*] Received: 6900000185a21a00000000c0080000000000000000000000000000000000000000000000726f6f7400006d7973716c5f6e61746976655f70617373776f7264002c0c5f636c69656e745f6e616d65076d7973716c6e640c5f7365727665725f686f7374093132372e302e302e31 +[*] Sending - Server OK: 0700000200000002000000 +[*] Query the fake server... +[*] Received: 200000000353454c4543542073747276616c2c2073747276616c2046524f4d2064617461 +[*] Sending - Query Response for data strval field [length on 2 bytes]: 01000001023200000203646566087068705f74657374046461746104646174610673747276616c0673747276616c0ce000c8000000fd01100000003200000303646566087068705f74657374046461746104646174610673747276616c0673747276616c0ce000c8000000fd011000000005000004fe000022000c0000050474657374fc04007465737405000006fe00002200 +array(2) { + [0]=> + string(4) "test" + [1]=> + string(4) "test" +} +[*] Received: 0100000001 +[*] Server finished +done! diff -Nru php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-query-row-field-len.phpt php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-query-row-field-len.phpt --- php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-query-row-field-len.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-query-row-field-len.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,47 @@ +--TEST-- +GHSA-r6x9-5r99-36j7 (Various packet overreads in mysqlnd_writeprotocol.c - text protocol row field length prefix) +--EXTENSIONS-- +mysqli +--FILE-- +wait(); + +$conn = new mysqli($servername, $username, $password, "", $process->getPort()); + +echo "[*] Query the fake server...\n"; +$sql = "SELECT strval, strval FROM data"; + +$result = $conn->query($sql); + +if ($result->num_rows > 0) { + while ($row = $result->fetch_assoc()) { + var_dump($row['strval']); + } +} +$conn->close(); + +$process->terminate(true); + +print "done!"; +?> +--EXPECTF-- +[*] Server started on 127.0.0.1:%d +[*] Connection established +[*] Sending - Server Greeting: 580000000a352e352e352d31302e352e31382d4d6172696144420003000000473e3f6047257c6700fef7080200ff81150000000000000f0000006c6b55463f49335f686c6431006d7973716c5f6e61746976655f70617373776f7264 +[*] Received: 6900000185a21a00000000c0080000000000000000000000000000000000000000000000726f6f7400006d7973716c5f6e61746976655f70617373776f7264002c0c5f636c69656e745f6e616d65076d7973716c6e640c5f7365727665725f686f7374093132372e302e302e31 +[*] Sending - Server OK: 0700000200000002000000 +[*] Query the fake server... +[*] Received: 200000000353454c4543542073747276616c2c2073747276616c2046524f4d2064617461 +[*] Sending - Malicious Query Response for data strval field [field length over-read]: 01000001023200000203646566087068705f74657374046461746104646174610673747276616c0673747276616c0ce000c8000000fd01100000003200000303646566087068705f74657374046461746104646174610673747276616c0673747276616c0ce000c8000000fd011000000005000004fe00002200060000050474657374fc05000006fe00002200 + +Warning: mysqli_result::fetch_assoc(): Malformed server packet. Field length pointing after end of packet in %s on line %d +[*] Received: 0100000001 +[*] Server finished +done! diff -Nru php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-query-row-field-null.phpt php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-query-row-field-null.phpt --- php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-query-row-field-null.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-query-row-field-null.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,49 @@ +--TEST-- +GHSA-r6x9-5r99-36j7 (Various packet overreads in mysqlnd_writeprotocol.c - text protocol row with a NULL field) +--EXTENSIONS-- +mysqli +--FILE-- +wait(); + +$conn = new mysqli($servername, $username, $password, "", $process->getPort()); + +echo "[*] Query the fake server...\n"; +$result = $conn->query("SELECT strval, strval FROM data"); + +if ($result->num_rows > 0) { + while ($row = $result->fetch_row()) { + var_dump($row); + } +} +$conn->close(); + +$process->terminate(true); + +print "done!"; +?> +--EXPECTF-- +[*] Server started on 127.0.0.1:%d +[*] Connection established +[*] Sending - Server Greeting: 580000000a352e352e352d31302e352e31382d4d6172696144420003000000473e3f6047257c6700fef7080200ff81150000000000000f0000006c6b55463f49335f686c6431006d7973716c5f6e61746976655f70617373776f7264 +[*] Received: 6900000185a21a00000000c0080000000000000000000000000000000000000000000000726f6f7400006d7973716c5f6e61746976655f70617373776f7264002c0c5f636c69656e745f6e616d65076d7973716c6e640c5f7365727665725f686f7374093132372e302e302e31 +[*] Sending - Server OK: 0700000200000002000000 +[*] Query the fake server... +[*] Received: 200000000353454c4543542073747276616c2c2073747276616c2046524f4d2064617461 +[*] Sending - Query Response for data strval field [NULL]: 01000001023200000203646566087068705f74657374046461746104646174610673747276616c0673747276616c0ce000c8000000fd01100000003200000303646566087068705f74657374046461746104646174610673747276616c0673747276616c0ce000c8000000fd011000000005000004fe00002200060000050474657374fb05000006fe00002200 +array(2) { + [0]=> + string(4) "test" + [1]=> + NULL +} +[*] Received: 0100000001 +[*] Server finished +done! diff -Nru php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-rset-header-field-len.phpt php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-rset-header-field-len.phpt --- php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-rset-header-field-len.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-rset-header-field-len.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,50 @@ +--TEST-- +GHSA-r6x9-5r99-36j7 (Various packet overreads in mysqlnd_writeprotocol.c - rset header read field length) +--EXTENSIONS-- +mysqli +--FILE-- +wait(); + +$conn = new mysqli($servername, $username, $password, "", $process->getPort()); + +echo "[*] Query the fake server...\n"; +$sql = "SELECT strval, strval FROM data"; + +$result = $conn->query($sql); + +if ($result && $result->num_rows > 0) { + while ($row = $result->fetch_assoc()) { + var_dump($row['strval']); + } +} +$conn->close(); + +$process->terminate(true); + +print "done!"; +?> +--EXPECTF-- +[*] Server started on 127.0.0.1:%d +[*] Connection established +[*] Sending - Server Greeting: 580000000a352e352e352d31302e352e31382d4d6172696144420003000000473e3f6047257c6700fef7080200ff81150000000000000f0000006c6b55463f49335f686c6431006d7973716c5f6e61746976655f70617373776f7264 +[*] Received: 6900000185a21a00000000c0080000000000000000000000000000000000000000000000726f6f7400006d7973716c5f6e61746976655f70617373776f7264002c0c5f636c69656e745f6e616d65076d7973716c6e640c5f7365727665725f686f7374093132372e302e302e31 +[*] Sending - Server OK: 0700000200000002000000 +[*] Query the fake server... +[*] Received: 200000000353454c4543542073747276616c2c2073747276616c2046524f4d2064617461 +[*] Sending - Malicious Query Response for data strval field [length overflow]: 01000001fd3200000203646566087068705f74657374046461746104646174610673747276616c0673747276616c0ce000c8000000fd01100000003200000303646566087068705f74657374046461746104646174610673747276616c0673747276616c0ce000c8000000fd011000000005000004fe000022000a0000050474657374047465737405000006fe00002200 + +Warning: mysqli::query(): Premature end of data (mysqlnd_wireprotocol.c:%d) in %s on line %d + +Warning: mysqli::query(): RSET_HEADER packet shorter than expected in %s on line %d + +Warning: mysqli::query(): Error reading result set's header in %s on line %d +[*] Server finished +done! diff -Nru php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-rset-header-upsert-affected-rows.phpt php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-rset-header-upsert-affected-rows.phpt --- php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-rset-header-upsert-affected-rows.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-rset-header-upsert-affected-rows.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,50 @@ +--TEST-- +GHSA-r6x9-5r99-36j7 (Various packet overreads in mysqlnd_writeprotocol.c - rset header upsert affected_rows) +--EXTENSIONS-- +mysqli +--FILE-- +wait(); + +$conn = new mysqli($servername, $username, $password, "", $process->getPort()); + +// Construct the SQL query directly +$sql = "UPDATE data SET strval = 'test' WHERE id = 1"; + +// Execute the query +$result = $conn->query($sql); +if ($result) { + echo "Affected rows: " . $conn->affected_rows . "\n"; + echo "Info: " . $conn->info . "\n"; +} + +// Close the connection +$conn->close(); + +$process->terminate(true); + +print "done!"; +?> +--EXPECTF-- +[*] Server started on 127.0.0.1:%d +[*] Connection established +[*] Sending - Server Greeting: 580000000a352e352e352d31302e352e31382d4d6172696144420003000000473e3f6047257c6700fef7080200ff81150000000000000f0000006c6b55463f49335f686c6431006d7973716c5f6e61746976655f70617373776f7264 +[*] Received: 6900000185a21a00000000c0080000000000000000000000000000000000000000000000726f6f7400006d7973716c5f6e61746976655f70617373776f7264002c0c5f636c69656e745f6e616d65076d7973716c6e640c5f7365727665725f686f7374093132372e302e302e31 +[*] Sending - Server OK: 0700000200000002000000 +[*] Received: 2d000000035550444154452064617461205345542073747276616c203d20277465737427205748455245206964203d2031 +[*] Sending - Malicious Upsert Response [affected rows overflow]: 0200000100fd + +Warning: mysqli::query(): Premature end of data (mysqlnd_wireprotocol.c:%d) in %s on line %d + +Warning: mysqli::query(): RSET_HEADER packet shorter than expected in %s on line %d + +Warning: mysqli::query(): Error reading result set's header in %s on line %d +[*] Server finished +done! diff -Nru php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-rset-header-upsert-len.phpt php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-rset-header-upsert-len.phpt --- php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-rset-header-upsert-len.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-rset-header-upsert-len.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,48 @@ +--TEST-- +GHSA-r6x9-5r99-36j7 (Various packet overreads in mysqlnd_writeprotocol.c - rset header upsert packet length) +--EXTENSIONS-- +mysqli +--FILE-- +wait(); + +$conn = new mysqli($servername, $username, $password, "", $process->getPort()); + +// Construct the SQL query directly +$sql = "UPDATE data SET strval = 'test' WHERE id = 1"; + +// Execute the query +$result = $conn->query($sql); +if ($result) { + echo "Affected rows: " . $conn->affected_rows . "\n"; + echo "Info: " . $conn->info . "\n"; +} + +// Close the connection +$conn->close(); + +$process->terminate(true); + +print "done!"; +?> +--EXPECTF-- +[*] Server started on 127.0.0.1:%d +[*] Connection established +[*] Sending - Server Greeting: 580000000a352e352e352d31302e352e31382d4d6172696144420003000000473e3f6047257c6700fef7080200ff81150000000000000f0000006c6b55463f49335f686c6431006d7973716c5f6e61746976655f70617373776f7264 +[*] Received: 6900000185a21a00000000c0080000000000000000000000000000000000000000000000726f6f7400006d7973716c5f6e61746976655f70617373776f7264002c0c5f636c69656e745f6e616d65076d7973716c6e640c5f7365727665725f686f7374093132372e302e302e31 +[*] Sending - Server OK: 0700000200000002000000 +[*] Received: 2d000000035550444154452064617461205345542073747276616c203d20277465737427205748455245206964203d2031 +[*] Sending - Malicious Upsert Response [affected rows overflow]: 3000000100fd000002000028526f7773206d6174636865643a203120204368616e6765643a203020205761726e696e67733a2030 + +Warning: mysqli::query(): RSET_HEADER packet additional data length is past 82 bytes the packet size in %s on line %d + +Warning: mysqli::query(): Error reading result set's header in %s on line %d +[*] Server finished +done! diff -Nru php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-sha256-pk-empty.phpt php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-sha256-pk-empty.phpt --- php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-sha256-pk-empty.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-sha256-pk-empty.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,47 @@ +--TEST-- +GHSA-r6x9-5r99-36j7 (Various packet overreads in mysqlnd_writeprotocol.c - sha256 public key response with empty packet) +--EXTENSIONS-- +mysqli +--SKIPIF-- + +--FILE-- +wait(); + +echo "[*] Connecting to the fake server...\n"; +$conn = new mysqli($servername, $username, $password, "", $process->getPort()); + +$conn->close(); + +$process->terminate(true); + +print "done!"; +?> +--EXPECTF-- +[*] Server started on 127.0.0.1:%d +[*] Connecting to the fake server... +[*] Connection established +[*] Sending - Server Greeting: 520000000a352e352e352d31302e352e31382d4d6172696144420003000000473e3f6047257c6700fef7080200ff81150000000000000f0000006c6b55463f49335f686c6431007368613235365f70617373776f7264 +[*] Received: 0100000101 +[*] Sending - Malicious SHA256 PK Response [empty packet]: 00000002 + +Warning: mysqli::__construct(): Premature end of data (mysqlnd_wireprotocol.c:%d) in %s on line %d + +Warning: mysqli::__construct(): SHA256_PK_REQUEST_RESPONSE packet shorter than expected in %s on line %d + +Warning: Error while receiving public key. PID=%d in %s on line %d +[*] Received: 6300000385a21a00000000c0080000000000000000000000000000000000000000000000726f6f7400007368613235365f70617373776f7264002c0c5f636c69656e745f6e616d65076d7973716c6e640c5f7365727665725f686f7374093132372e302e302e31 +[*] Sending - Server OK: 0700000400000002000000 +[*] Received: 0100000001 +[*] Server finished +done! diff -Nru php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-sha256-pk-len.phpt php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-sha256-pk-len.phpt --- php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-sha256-pk-len.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-sha256-pk-len.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,47 @@ +--TEST-- +GHSA-r6x9-5r99-36j7 (Various packet overreads in mysqlnd_writeprotocol.c - sha256 public key response shorter than expected) +--EXTENSIONS-- +mysqli +--SKIPIF-- + +--FILE-- +wait(); + +echo "[*] Connecting to the fake server...\n"; +$conn = new mysqli($servername, $username, $password, "", $process->getPort()); + +$conn->close(); + +$process->terminate(true); + +print "done!"; +?> +--EXPECTF-- +[*] Server started on 127.0.0.1:%d +[*] Connecting to the fake server... +[*] Connection established +[*] Sending - Server Greeting: 520000000a352e352e352d31302e352e31382d4d6172696144420003000000473e3f6047257c6700fef7080200ff81150000000000000f0000006c6b55463f49335f686c6431007368613235365f70617373776f7264 +[*] Received: 0100000101 +[*] Sending - Malicious SHA256 PK Response [packet too short]: 0100000200 + +Warning: mysqli::__construct(): Premature end of data (mysqlnd_wireprotocol.c:%d) in %s on line %d + +Warning: mysqli::__construct(): SHA256_PK_REQUEST_RESPONSE packet shorter than expected in %s on line %d + +Warning: Error while receiving public key. PID=%d in %s on line %d +[*] Received: 6300000385a21a00000000c0080000000000000000000000000000000000000000000000726f6f7400007368613235365f70617373776f7264002c0c5f636c69656e745f6e616d65076d7973716c6e640c5f7365727665725f686f7374093132372e302e302e31 +[*] Sending - Server OK: 0700000400000002000000 +[*] Received: 0100000001 +[*] Server finished +done! diff -Nru php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-stmt-response-field-len-faulty.phpt php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-stmt-response-field-len-faulty.phpt --- php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-stmt-response-field-len-faulty.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-stmt-response-field-len-faulty.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,38 @@ +--TEST-- +GHSA-r6x9-5r99-36j7 (Various packet overreads in mysqlnd_writeprotocol.c - stmt field length exceeding the packet) +--EXTENSIONS-- +mysqli +--FILE-- +wait(); + +$conn = new mysqli( $servername, $username, $password, "", $process->getPort() ); + +echo "[*] Preparing statement on the fake server...\n"; +$conn->prepare("SELECT item FROM items"); + +$conn->close(); + +$process->terminate(); + +print "done!"; +?> +--EXPECTF-- +[*] Server started on 127.0.0.1:%d +[*] Connection established +[*] Sending - Server Greeting: 580000000a352e352e352d31302e352e31382d4d6172696144420003000000473e3f6047257c6700fef7080200ff81150000000000000f0000006c6b55463f49335f686c6431006d7973716c5f6e61746976655f70617373776f7264 +[*] Received: 6900000185a21a00000000c0080000000000000000000000000000000000000000000000726f6f7400006d7973716c5f6e61746976655f70617373776f7264002c0c5f636c69656e745f6e616d65076d7973716c6e640c5f7365727665725f686f7374093132372e302e302e31 +[*] Sending - Server OK: 0700000200000002000000 +[*] Preparing statement on the fake server... +[*] Received: 170000001653454c454354206974656d2046524f4d206974656d73 +[*] Sending - Stmt prepare items: 0c0000010001000000010000000000003000000203646566087068705f74657374056974656d73056974656d73046974656dfe6974656d0ce000c8000000fd01100000001f000003fe00000200 + +Warning: mysqli::prepare(): Protocol error. Server sent NULL_LENGTH. The server is faulty in %s on line %d +done! diff -Nru php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-stmt-response-field-len-premature.phpt php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-stmt-response-field-len-premature.phpt --- php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-stmt-response-field-len-premature.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-stmt-response-field-len-premature.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,42 @@ +--TEST-- +GHSA-r6x9-5r99-36j7 (Various packet overreads in mysqlnd_writeprotocol.c - stmt field length over-reading into fixed block) +--EXTENSIONS-- +mysqli +--FILE-- +wait(); + +$conn = new mysqli( $servername, $username, $password, "", $process->getPort() ); + +echo "[*] Preparing statement on the fake server...\n"; +$conn->prepare("SELECT item FROM items"); + +$conn->close(); + +$process->terminate(); + +print "done!"; +?> +--EXPECTF-- +[*] Server started on 127.0.0.1:%d +[*] Connection established +[*] Sending - Server Greeting: 580000000a352e352e352d31302e352e31382d4d6172696144420003000000473e3f6047257c6700fef7080200ff81150000000000000f0000006c6b55463f49335f686c6431006d7973716c5f6e61746976655f70617373776f7264 +[*] Received: 6900000185a21a00000000c0080000000000000000000000000000000000000000000000726f6f7400006d7973716c5f6e61746976655f70617373776f7264002c0c5f636c69656e745f6e616d65076d7973716c6e640c5f7365727665725f686f7374093132372e302e302e31 +[*] Sending - Server OK: 0700000200000002000000 +[*] Preparing statement on the fake server... +[*] Received: 170000001653454c454354206974656d2046524f4d206974656d73 +[*] Sending - Malicious Stmt Prepare items [Field length over-read]: 0c0000010001000000010000000000003000000203646566087068705f74657374056974656d73056974656d73046974656d0c6974656d0ce000c8000000fd011000000005000003fe00000200 + +Warning: mysqli::prepare(): Protocol error. Server sent false length. Expected 12 in %s on line %d + +Warning: mysqli::prepare(): Premature end of data (mysqlnd_wireprotocol.c:%d) in %s on line %d + +Warning: mysqli::prepare(): Result set field packet shorter than expected in %s on line %d +done! diff -Nru php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-stmt-response-row-status.phpt php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-stmt-response-row-status.phpt --- php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-stmt-response-row-status.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-stmt-response-row-status.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,40 @@ +--TEST-- +GHSA-r6x9-5r99-36j7 (Various packet overreads in mysqlnd_writeprotocol.c - stmt response) +--EXTENSIONS-- +mysqli +--FILE-- +wait(); + +$conn = new mysqli( $servername, $username, $password, "", $process->getPort() ); + +echo "[*] Preparing statement on the fake server...\n"; +$conn->prepare("SELECT item FROM items"); + +$conn->close(); + +$process->terminate(); + +print "done!"; +?> +--EXPECTF-- +[*] Server started on 127.0.0.1:%d +[*] Connection established +[*] Sending - Server Greeting: 580000000a352e352e352d31302e352e31382d4d6172696144420003000000473e3f6047257c6700fef7080200ff81150000000000000f0000006c6b55463f49335f686c6431006d7973716c5f6e61746976655f70617373776f7264 +[*] Received: 6900000185a21a00000000c0080000000000000000000000000000000000000000000000726f6f7400006d7973716c5f6e61746976655f70617373776f7264002c0c5f636c69656e745f6e616d65076d7973716c6e640c5f7365727665725f686f7374093132372e302e302e31 +[*] Sending - Server OK: 0700000200000002000000 +[*] Preparing statement on the fake server... +[*] Received: 170000001653454c454354206974656d2046524f4d206974656d73 +[*] Sending - Stmt prepare items: 0c0000010001000000010000000000003000000203646566087068705f74657374056974656d73056974656d73046974656d046974656d0ce000c8000000fd011000000004000003fe000002 + +Warning: mysqli::prepare(): Premature end of data (mysqlnd_wireprotocol.c:%d) in %s on line %d + +Warning: mysqli::prepare(): EOF packet shorter than expected in %s on line %d +done! diff -Nru php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-stmt-row-short-length-date.phpt php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-stmt-row-short-length-date.phpt --- php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-stmt-row-short-length-date.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-stmt-row-short-length-date.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,45 @@ +--TEST-- +GHSA-r6x9-5r99-36j7 (Various packet overreads in mysqlnd_writeprotocol.c - stmt row date field length too short for the type) +--EXTENSIONS-- +mysqli +--FILE-- +wait(); + +$conn = new mysqli($servername, $username, $password, "", $process->getPort()); + +echo "[*] Prepare and execute on the fake server...\n"; +$stmt = $conn->prepare("SELECT strval, datval FROM data"); +$stmt->execute(); +$result = $stmt->get_result(); +while ($row = $result->fetch_row()) { + var_dump($row); +} +$stmt->close(); +$conn->close(); + +$process->terminate(); + +print "done!"; +?> +--EXPECTF-- +[*] Server started on 127.0.0.1:%d +[*] Connection established +[*] Sending - Server Greeting: 580000000a352e352e352d31302e352e31382d4d6172696144420003000000473e3f6047257c6700fef7080200ff81150000000000000f0000006c6b55463f49335f686c6431006d7973716c5f6e61746976655f70617373776f7264 +[*] Received: 6900000185a21a00000000c0080000000000000000000000000000000000000000000000726f6f7400006d7973716c5f6e61746976655f70617373776f7264002c0c5f636c69656e745f6e616d65076d7973716c6e640c5f7365727665725f686f7374093132372e302e302e31 +[*] Sending - Server OK: 0700000200000002000000 +[*] Prepare and execute on the fake server... +[*] Received: 200000001653454c4543542073747276616c2c2064617476616c2046524f4d2064617461 +[*] Sending - Stmt prepare data datval: 0c0000010001000000020000000000003200000203646566087068705f74657374046461746104646174610673747276616c0673747276616c0ce000c8000000fd01100000003200000303646566087068705f74657374046461746104646174610664617476616c0664617476616c0c3f000a0000000a811000000005000004fe00000200 +[*] Received: 0a00000017010000000001000000 +[*] Sending - Malicious Stmt Response for data datval [length too short]: 01000001023200000203646566087068705f74657374046461746104646174610673747276616c0673747276616c0ce000c8000000fd01100000003200000303646566087068705f74657374046461746104646174610664617476616c0664617476616c0c3f000a0000000a811000000005000004fe00002200090000050000047465737401de05000006fe00002200 + +Warning: mysqli_result::fetch_row(): Malformed server packet. Field length is too short for the field type in %s on line %d +done! diff -Nru php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-stmt-row-short-length-datetime.phpt php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-stmt-row-short-length-datetime.phpt --- php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-stmt-row-short-length-datetime.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-stmt-row-short-length-datetime.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,45 @@ +--TEST-- +GHSA-r6x9-5r99-36j7 (Various packet overreads in mysqlnd_writeprotocol.c - stmt row datetime field length too short for the type) +--EXTENSIONS-- +mysqli +--FILE-- +wait(); + +$conn = new mysqli($servername, $username, $password, "", $process->getPort()); + +echo "[*] Prepare and execute on the fake server...\n"; +$stmt = $conn->prepare("SELECT strval, dtival FROM data"); +$stmt->execute(); +$result = $stmt->get_result(); +while ($row = $result->fetch_row()) { + var_dump($row); +} +$stmt->close(); +$conn->close(); + +$process->terminate(); + +print "done!"; +?> +--EXPECTF-- +[*] Server started on 127.0.0.1:%d +[*] Connection established +[*] Sending - Server Greeting: 580000000a352e352e352d31302e352e31382d4d6172696144420003000000473e3f6047257c6700fef7080200ff81150000000000000f0000006c6b55463f49335f686c6431006d7973716c5f6e61746976655f70617373776f7264 +[*] Received: 6900000185a21a00000000c0080000000000000000000000000000000000000000000000726f6f7400006d7973716c5f6e61746976655f70617373776f7264002c0c5f636c69656e745f6e616d65076d7973716c6e640c5f7365727665725f686f7374093132372e302e302e31 +[*] Sending - Server OK: 0700000200000002000000 +[*] Prepare and execute on the fake server... +[*] Received: 200000001653454c4543542073747276616c2c2064746976616c2046524f4d2064617461 +[*] Sending - Stmt prepare data dtival: 0c0000010001000000020000000000003200000203646566087068705f74657374046461746104646174610673747276616c0673747276616c0ce000c8000000fd01100000003200000303646566087068705f74657374046461746104646174610664746976616c0664746976616c0c3f00130000000c811000000005000004fe00000200 +[*] Received: 0a00000017010000000001000000 +[*] Sending - Malicious Stmt Response for data dtival [length too short]: 01000001023200000203646566087068705f74657374046461746104646174610673747276616c0673747276616c0ce000c8000000fd01100000003200000303646566087068705f74657374046461746104646174610664746976616c0664746976616c0c3f00130000000c811000000005000004fe00002200090000050000047465737401de05000006fe00002200 + +Warning: mysqli_result::fetch_row(): Malformed server packet. Field length is too short for the field type in %s on line %d +done! diff -Nru php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-stmt-row-short-length-time.phpt php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-stmt-row-short-length-time.phpt --- php8.4-8.4.24/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-stmt-row-short-length-time.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/mysqli/tests/ghsa-r6x9-5r99-36j7-stmt-row-short-length-time.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,45 @@ +--TEST-- +GHSA-r6x9-5r99-36j7 (Various packet overreads in mysqlnd_writeprotocol.c - stmt row time field length too short for the type) +--EXTENSIONS-- +mysqli +--FILE-- +wait(); + +$conn = new mysqli($servername, $username, $password, "", $process->getPort()); + +echo "[*] Prepare and execute on the fake server...\n"; +$stmt = $conn->prepare("SELECT strval, timval FROM data"); +$stmt->execute(); +$result = $stmt->get_result(); +while ($row = $result->fetch_row()) { + var_dump($row); +} +$stmt->close(); +$conn->close(); + +$process->terminate(); + +print "done!"; +?> +--EXPECTF-- +[*] Server started on 127.0.0.1:%d +[*] Connection established +[*] Sending - Server Greeting: 580000000a352e352e352d31302e352e31382d4d6172696144420003000000473e3f6047257c6700fef7080200ff81150000000000000f0000006c6b55463f49335f686c6431006d7973716c5f6e61746976655f70617373776f7264 +[*] Received: 6900000185a21a00000000c0080000000000000000000000000000000000000000000000726f6f7400006d7973716c5f6e61746976655f70617373776f7264002c0c5f636c69656e745f6e616d65076d7973716c6e640c5f7365727665725f686f7374093132372e302e302e31 +[*] Sending - Server OK: 0700000200000002000000 +[*] Prepare and execute on the fake server... +[*] Received: 200000001653454c4543542073747276616c2c2074696d76616c2046524f4d2064617461 +[*] Sending - Stmt prepare data timval: 0c0000010001000000020000000000003200000203646566087068705f74657374046461746104646174610673747276616c0673747276616c0ce000c8000000fd01100000003200000303646566087068705f74657374046461746104646174610674696d76616c0674696d76616c0c3f000a0000000b811000000005000004fe00000200 +[*] Received: 0a00000017010000000001000000 +[*] Sending - Malicious Stmt Response for data timval [length too short]: 01000001023200000203646566087068705f74657374046461746104646174610673747276616c0673747276616c0ce000c8000000fd01100000003200000303646566087068705f74657374046461746104646174610674696d76616c0674696d76616c0c3f000a0000000b811000000005000004fe00002200090000050000047465737401de05000006fe00002200 + +Warning: mysqli_result::fetch_row(): Malformed server packet. Field length is too short for the field type in %s on line %d +done! diff -Nru php8.4-8.4.24/ext/mysqlnd/mysqlnd_ps.c php8.4-8.4.26/ext/mysqlnd/mysqlnd_ps.c --- php8.4-8.4.24/ext/mysqlnd/mysqlnd_ps.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/mysqlnd/mysqlnd_ps.c 2026-09-22 15:00:02.000000000 +0000 @@ -348,6 +348,9 @@ if (FAIL == (ret = PACKET_READ(conn, &fields_eof))) { if (stmt->result) { stmt->result->m.free_result_contents(stmt->result); + /* The memset() below resets the statement, so release what it still owns first. */ + conn->m->free_reference(conn); + mnd_efree(stmt->execute_cmd_buffer.buffer); /* XXX: This will crash, because we will null also the methods. But seems it happens in extreme cases or doesn't. Should be fixed by exporting a function (from mysqlnd_driver.c?) to do the reset. diff -Nru php8.4-8.4.24/ext/mysqlnd/mysqlnd_ps_codec.c php8.4-8.4.26/ext/mysqlnd/mysqlnd_ps_codec.c --- php8.4-8.4.24/ext/mysqlnd/mysqlnd_ps_codec.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/mysqlnd/mysqlnd_ps_codec.c 2026-09-22 15:00:02.000000000 +0000 @@ -63,7 +63,9 @@ return false; } size_t length_len = *row - p; - if (length_len > pack_len || length > pack_len - length_len) { + /* This assert should never fire, otherwise we invoked UB earlier */ + ZEND_ASSERT(length_len <= pack_len); + if (length > pack_len - length_len) { ps_fetch_over_read_error(row); return true; } @@ -80,6 +82,18 @@ return false; } +/* The declared length has to cover the fixed offsets that the field type reads. */ +static inline bool ps_fetch_is_length_too_short(const zend_uchar ** row, const zend_ulong length, + const unsigned int min_length) +{ + if (UNEXPECTED(length < min_length)) { + php_error_docref(NULL, E_WARNING, "Malformed server packet. Field length is too short for the field type"); + *row = NULL; + return true; + } + return false; +} + /* {{{ ps_fetch_from_1_to_8_bytes */ void @@ -259,11 +273,15 @@ const zend_uchar *p = *row; DBG_ENTER("ps_fetch_time"); - if ((length = php_mysqlnd_net_field_length(row))) { + if ((length = php_mysqlnd_net_field_length(row, pack_len))) { if (UNEXPECTED(ps_fetch_is_packet_over_read_with_variable_length(pack_len, row, p, length))) { return; } + if (UNEXPECTED(ps_fetch_is_length_too_short(row, length, 8))) { + return; + } + const zend_uchar * to = *row; t.time_type = MYSQLND_TIMESTAMP_TIME; @@ -273,7 +291,7 @@ t.hour = (unsigned int) to[5]; t.minute = (unsigned int) to[6]; t.second = (unsigned int) to[7]; - t.second_part = (length > 8) ? (zend_ulong) sint4korr(to+8) : 0; + t.second_part = (length >= 12) ? (zend_ulong) sint4korr(to+8) : 0; t.year = t.month= 0; if (t.day) { /* Convert days to hours at once */ @@ -309,11 +327,15 @@ const zend_uchar *p = *row; DBG_ENTER("ps_fetch_date"); - if ((length = php_mysqlnd_net_field_length(row))) { + if ((length = php_mysqlnd_net_field_length(row, pack_len))) { if (UNEXPECTED(ps_fetch_is_packet_over_read_with_variable_length(pack_len, row, p, length))) { return; } + if (UNEXPECTED(ps_fetch_is_length_too_short(row, length, 4))) { + return; + } + const zend_uchar * to = *row; t.time_type = MYSQLND_TIMESTAMP_DATE; @@ -325,7 +347,7 @@ t.month = (unsigned int) to[2]; t.day = (unsigned int) to[3]; - (*row)+= length; + (*row) += length; } else { memset(&t, 0, sizeof(t)); t.time_type = MYSQLND_TIMESTAMP_DATE; @@ -346,11 +368,15 @@ const zend_uchar *p = *row; DBG_ENTER("ps_fetch_datetime"); - if ((length = php_mysqlnd_net_field_length(row))) { + if ((length = php_mysqlnd_net_field_length(row, pack_len))) { if (UNEXPECTED(ps_fetch_is_packet_over_read_with_variable_length(pack_len, row, p, length))) { return; } + if (UNEXPECTED(ps_fetch_is_length_too_short(row, length, 4))) { + return; + } + const zend_uchar * to = *row; t.time_type = MYSQLND_TIMESTAMP_DATETIME; @@ -360,16 +386,16 @@ t.month = (unsigned int) to[2]; t.day = (unsigned int) to[3]; - if (length > 4) { + if (length >= 7) { t.hour = (unsigned int) to[4]; t.minute = (unsigned int) to[5]; t.second = (unsigned int) to[6]; } else { t.hour = t.minute = t.second= 0; } - t.second_part = (length > 7) ? (zend_ulong) sint4korr(to+7) : 0; + t.second_part = (length >= 11) ? (zend_ulong) sint4korr(to+7) : 0; - (*row)+= length; + (*row) += length; } else { memset(&t, 0, sizeof(t)); t.time_type = MYSQLND_TIMESTAMP_DATETIME; @@ -393,7 +419,7 @@ ps_fetch_string(zval * zv, const MYSQLND_FIELD * const field, const unsigned int pack_len, const zend_uchar ** row) { const zend_uchar *p = *row; - const zend_ulong length = php_mysqlnd_net_field_length(row); + const zend_ulong length = php_mysqlnd_net_field_length(row, pack_len); if (UNEXPECTED(ps_fetch_is_packet_over_read_with_variable_length(pack_len, row, p, length))) { return; } @@ -413,7 +439,7 @@ ps_fetch_bit(zval * zv, const MYSQLND_FIELD * const field, const unsigned int pack_len, const zend_uchar ** row) { const zend_uchar *p = *row; - const zend_ulong length = php_mysqlnd_net_field_length(row); + const zend_ulong length = php_mysqlnd_net_field_length(row, pack_len); if (UNEXPECTED(ps_fetch_is_packet_over_read_with_variable_length(pack_len, row, p, length))) { return; } diff -Nru php8.4-8.4.24/ext/mysqlnd/mysqlnd_wireprotocol.c php8.4-8.4.26/ext/mysqlnd/mysqlnd_wireprotocol.c --- php8.4-8.4.24/ext/mysqlnd/mysqlnd_wireprotocol.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/mysqlnd/mysqlnd_wireprotocol.c 2026-09-22 15:00:02.000000000 +0000 @@ -24,11 +24,18 @@ #include "mysqlnd_statistics.h" #include "mysqlnd_debug.h" -#define BAIL_IF_NO_MORE_DATA \ - if (UNEXPECTED((size_t)(p - begin) > packet->header.size)) { \ +#define BAIL_PREMATURE_END do { \ php_error_docref(NULL, E_WARNING, "Premature end of data (mysqlnd_wireprotocol.c:%u)", __LINE__); \ goto premature_end; \ - } \ + } while (0) + +/* Bail out unless the packet still has the required number of bytes left to read. */ +#define BAIL_IF_NOT_ENOUGH_DATA_EX(min_required_bytes) \ + if (UNEXPECTED((size_t)(p - begin) + (min_required_bytes) > packet->header.size)) { \ + BAIL_PREMATURE_END; \ + } + +#define BAIL_IF_NOT_ENOUGH_DATA BAIL_IF_NOT_ENOUGH_DATA_EX(1) static const char *unknown_sqlstate= "HY000"; @@ -91,10 +98,14 @@ /* {{{ php_mysqlnd_net_field_length Get next field's length */ zend_ulong -php_mysqlnd_net_field_length(const zend_uchar **packet) +php_mysqlnd_net_field_length(const zend_uchar **packet, size_t remaining_size) { const zend_uchar *p= (const zend_uchar *)*packet; + if (UNEXPECTED(remaining_size == 0)) { + return MYSQLND_INVALID_NET_FIELD_LENGTH; + } + if (*p < 251) { (*packet)++; return (zend_ulong) *p; @@ -105,14 +116,23 @@ (*packet)++; return MYSQLND_NULL_LENGTH; case 252: - (*packet) += 3; - return (zend_ulong) uint2korr(p+1); + if (EXPECTED(remaining_size >= 3)) { + (*packet) += 3; + return (zend_ulong) uint2korr(p+1); + } + return MYSQLND_INVALID_NET_FIELD_LENGTH; case 253: - (*packet) += 4; - return (zend_ulong) uint3korr(p+1); + if (EXPECTED(remaining_size >= 4)) { + (*packet) += 4; + return (zend_ulong) uint3korr(p+1); + } + return MYSQLND_INVALID_NET_FIELD_LENGTH; default: - (*packet) += 9; - return (zend_ulong) uint4korr(p+1); + if (EXPECTED(remaining_size >= 9)) { + (*packet) += 9; + return (zend_ulong) uint4korr(p+1); + } + return MYSQLND_INVALID_NET_FIELD_LENGTH; } } /* }}} */ @@ -120,29 +140,53 @@ /* {{{ php_mysqlnd_net_field_length_ll Get next field's length */ -uint64_t -php_mysqlnd_net_field_length_ll(const zend_uchar **packet) +MYSQLND_OPTIONAL_UINT64_T +php_mysqlnd_net_field_length_ll(const zend_uchar **packet, size_t remaining_size) { const zend_uchar *p = (zend_uchar *)*packet; + MYSQLND_OPTIONAL_UINT64_T result; + result.has_value = false; + result.value = 0; + + if (UNEXPECTED(remaining_size == 0)) { + return result; + } + if (*p < 251) { (*packet)++; - return (uint64_t) *p; + result.value = (uint64_t) *p; + result.has_value = true; + return result; } switch (*p) { case 251: (*packet)++; - return (uint64_t) MYSQLND_NULL_LENGTH; + result.value = MYSQLND_NULL_LENGTH; + result.has_value = true; + return result; case 252: - (*packet) += 3; - return (uint64_t) uint2korr(p + 1); + if (EXPECTED(remaining_size >= 3)) { + (*packet) += 3; + result.value = (uint64_t) uint2korr(p+1); + result.has_value = true; + } + return result; case 253: - (*packet) += 4; - return (uint64_t) uint3korr(p + 1); + if (EXPECTED(remaining_size >= 4)) { + (*packet) += 4; + result.value = (uint64_t) uint3korr(p+1); + result.has_value = true; + } + return result; default: - (*packet) += 9; - return (uint64_t) uint8korr(p + 1); + if (EXPECTED(remaining_size >= 9)) { + (*packet) += 9; + result.value = uint8korr(p+1); + result.has_value = true; + } + return result; } } /* }}} */ @@ -355,14 +399,14 @@ if (FAIL == mysqlnd_read_packet_header_and_body(&(packet->header), pfc, vio, stats, error_info, connection_state, buf, buf_len, "greeting", PROT_GREET_PACKET)) { DBG_RETURN(FAIL); } - BAIL_IF_NO_MORE_DATA; + BAIL_IF_NOT_ENOUGH_DATA; packet->authentication_plugin_data.s = packet->intern_auth_plugin_data; packet->authentication_plugin_data.l = sizeof(packet->intern_auth_plugin_data); packet->protocol_version = uint1korr(p); p++; - BAIL_IF_NO_MORE_DATA; + BAIL_IF_NOT_ENOUGH_DATA; if (ERROR_MARKER == packet->protocol_version) { php_mysqlnd_read_error_from_line(p, packet->header.size - 1, @@ -382,43 +426,42 @@ /* MariaDB always sends 5.5.5 before version string: 5.5.5 was never released, so just ignore it */ - if (!strncmp((char *) p, MARIADB_RPL_VERSION_HACK, sizeof(MARIADB_RPL_VERSION_HACK) - 1)) { + if (packet->header.size - (p - begin) >= sizeof(MARIADB_RPL_VERSION_HACK) - 1 && !strncmp((char *) p, MARIADB_RPL_VERSION_HACK, sizeof(MARIADB_RPL_VERSION_HACK) - 1)) { p += sizeof(MARIADB_RPL_VERSION_HACK) - 1; } - packet->server_version = estrdup((char *)p); - p+= strlen(packet->server_version) + 1; /* eat the '\0' */ - BAIL_IF_NO_MORE_DATA; + /* This server version string MUST be NUL terminated, search for a NUL byte in the remaining space. */ + const char *version_nul_byte = memchr(p, '\0', packet->header.size - (p - begin)); + if (!version_nul_byte) { + BAIL_PREMATURE_END; + } + packet->server_version = estrndup((char *) p, version_nul_byte - (const char *) p); + p = (unsigned char *) version_nul_byte + 1; /* eat the '\0' */ + + BAIL_IF_NOT_ENOUGH_DATA_EX(4 + SCRAMBLE_LENGTH_323 + 1 + 2 + 1 + 2 + 13); packet->thread_id = uint4korr(p); p+=4; - BAIL_IF_NO_MORE_DATA; memcpy(packet->authentication_plugin_data.s, p, SCRAMBLE_LENGTH_323); p+= SCRAMBLE_LENGTH_323; - BAIL_IF_NO_MORE_DATA; /* pad1 */ p++; - BAIL_IF_NO_MORE_DATA; packet->server_capabilities = uint2korr(p); p+= 2; - BAIL_IF_NO_MORE_DATA; DBG_INF_FMT("4.1 server_caps=%u\n", (uint32_t) packet->server_capabilities); packet->charset_no = uint1korr(p); p++; - BAIL_IF_NO_MORE_DATA; packet->server_status = uint2korr(p); p+= 2; - BAIL_IF_NO_MORE_DATA; /* pad2 */ pad_start = p; p+= 13; - BAIL_IF_NO_MORE_DATA; if ((size_t) (p - buf) < packet->header.size) { /* auth_plugin_data is split into two parts */ @@ -440,6 +483,9 @@ /* And a length of the server scramble in one byte */ packet->authentication_plugin_data.l = uint1korr(pad_start + 2); if (packet->authentication_plugin_data.l > SCRAMBLE_LENGTH) { + /* the rest of the scramble has to be in the packet */ + BAIL_IF_NOT_ENOUGH_DATA_EX(packet->authentication_plugin_data.l - SCRAMBLE_LENGTH); + /* more data*/ char * new_auth_plugin_data = emalloc(packet->authentication_plugin_data.l); @@ -453,11 +499,14 @@ } if (packet->server_capabilities & CLIENT_PLUGIN_AUTH) { - BAIL_IF_NO_MORE_DATA; + /* This is actually checked above and it needs to pass to set extended server capabilities + * so it should never bail. */ + BAIL_IF_NOT_ENOUGH_DATA; /* The server is 5.5.x and supports authentication plugins */ size_t remaining_size = packet->header.size - (size_t)(p - buf); if (remaining_size == 0) { - /* Might be better to fail but this will fail anyway */ + /* This should never happen as the size should be at least 1 but it is kept just in + * case something above changes. */ packet->auth_protocol = estrdup(""); } else { /* Check if NUL present */ @@ -491,9 +540,8 @@ DBG_RETURN(PASS); premature_end: - DBG_ERR_FMT("GREET packet %zu bytes shorter than expected", p - begin - packet->header.size); - php_error_docref(NULL, E_WARNING, "GREET packet %zu bytes shorter than expected", - p - begin - packet->header.size); + DBG_ERR_FMT("GREET packet shorter than expected"); + php_error_docref(NULL, E_WARNING, "GREET packet shorter than expected"); DBG_RETURN(FAIL); } /* }}} */ @@ -687,12 +735,12 @@ if (FAIL == mysqlnd_read_packet_header_and_body(&(packet->header), pfc, vio, stats, error_info, connection_state, buf, buf_len, "OK", PROT_OK_PACKET)) { DBG_RETURN(FAIL); } - BAIL_IF_NO_MORE_DATA; + BAIL_IF_NOT_ENOUGH_DATA; /* Should be always 0x0 or ERROR_MARKER for error */ packet->response_code = uint1korr(p); p++; - BAIL_IF_NO_MORE_DATA; + BAIL_IF_NOT_ENOUGH_DATA; if (ERROR_MARKER == packet->response_code) { php_mysqlnd_read_error_from_line(p, packet->header.size - 1, @@ -704,9 +752,14 @@ if (0xFE == packet->response_code) { /* Authentication Switch Response */ if (packet->header.size > (size_t) (p - buf)) { - packet->new_auth_protocol = mnd_pestrdup((char *)p, FALSE); - packet->new_auth_protocol_len = strlen(packet->new_auth_protocol); - p+= packet->new_auth_protocol_len + 1; /* +1 for the \0 */ + /* The plugin name MUST be NUL terminated, search for a NUL byte in the remaining space. */ + const char *auth_protocol_nul_byte = memchr(p, '\0', packet->header.size - (p - buf)); + if (!auth_protocol_nul_byte) { + BAIL_PREMATURE_END; + } + packet->new_auth_protocol_len = auth_protocol_nul_byte - (const char *) p; + packet->new_auth_protocol = mnd_pestrndup((char *) p, packet->new_auth_protocol_len, FALSE); + p = (zend_uchar *) auth_protocol_nul_byte + 1; /* eat the '\0' */ packet->new_auth_protocol_data_len = packet->header.size - (size_t) (p - buf); if (packet->new_auth_protocol_data_len) { @@ -717,27 +770,37 @@ DBG_INF_FMT("Server salt : [%zu][%.*s]", packet->new_auth_protocol_data_len, (int) packet->new_auth_protocol_data_len, packet->new_auth_protocol_data); } } else { - zend_ulong net_len; /* Everything was fine! */ - packet->affected_rows = php_mysqlnd_net_field_length_ll(&p); - BAIL_IF_NO_MORE_DATA; + zend_ulong net_len; + MYSQLND_OPTIONAL_UINT64_T len_ll; + + len_ll = php_mysqlnd_net_field_length_ll(&p, packet->header.size - (p - begin)); + if (UNEXPECTED(!len_ll.has_value)) { + BAIL_PREMATURE_END; + } + packet->affected_rows = len_ll.value; + + len_ll = php_mysqlnd_net_field_length_ll(&p, packet->header.size - (p - begin)); + if (UNEXPECTED(!len_ll.has_value)) { + BAIL_PREMATURE_END; + } + packet->last_insert_id = len_ll.value; - packet->last_insert_id = php_mysqlnd_net_field_length_ll(&p); - BAIL_IF_NO_MORE_DATA; + BAIL_IF_NOT_ENOUGH_DATA_EX(4); packet->server_status = uint2korr(p); p+= 2; - BAIL_IF_NO_MORE_DATA; packet->warning_count = uint2korr(p); p+= 2; - BAIL_IF_NO_MORE_DATA; /* There is a message */ - if (packet->header.size > (size_t) (p - buf) && (net_len = php_mysqlnd_net_field_length(&p))) { - /* p can get past packet size when getting field length so it needs to be checked first - * and after that it can be checked that the net_len is not greater than the packet size */ - if ((p - buf) > packet->header.size || packet->header.size - (p - buf) < net_len) { + if (packet->header.size > (size_t) (p - buf) && (net_len = php_mysqlnd_net_field_length(&p, packet->header.size - (p - begin)))) { + /* In older versions of mysqlnd we had to perform an extra check because reading the field length + * could overread the OK packet. Now reading the length won't go out of bounds and we only have + * to check whether the message length is in bounds. */ + ZEND_ASSERT((p - buf) <= packet->header.size); + if (packet->header.size - (p - buf) < net_len) { DBG_ERR_FMT("OK packet message length is past the packet size"); php_error_docref(NULL, E_WARNING, "OK packet message length is past the packet size"); DBG_RETURN(FAIL); @@ -756,9 +819,8 @@ DBG_RETURN(PASS); premature_end: - DBG_ERR_FMT("OK packet %zu bytes shorter than expected", p - begin - packet->header.size); - php_error_docref(NULL, E_WARNING, "AUTH_RESPONSE packet %zu bytes shorter than expected", - p - begin - packet->header.size); + DBG_ERR_FMT("OK packet shorter than expected"); + php_error_docref(NULL, E_WARNING, "AUTH_RESPONSE packet shorter than expected"); DBG_RETURN(FAIL); } /* }}} */ @@ -847,12 +909,12 @@ if (FAIL == mysqlnd_read_packet_header_and_body(&(packet->header), pfc, vio, stats, error_info, connection_state, buf, buf_len, "OK", PROT_OK_PACKET)) { DBG_RETURN(FAIL); } - BAIL_IF_NO_MORE_DATA; + BAIL_IF_NOT_ENOUGH_DATA; /* Should be always 0x0 or ERROR_MARKER for error */ packet->field_count = uint1korr(p); p++; - BAIL_IF_NO_MORE_DATA; + BAIL_IF_NOT_ENOUGH_DATA; if (ERROR_MARKER == packet->field_count) { php_mysqlnd_read_error_from_line(p, packet->header.size - 1, @@ -862,22 +924,33 @@ DBG_RETURN(PASS); } /* Everything was fine! */ - packet->affected_rows = php_mysqlnd_net_field_length_ll(&p); - BAIL_IF_NO_MORE_DATA; + MYSQLND_OPTIONAL_UINT64_T len_ll; - packet->last_insert_id = php_mysqlnd_net_field_length_ll(&p); - BAIL_IF_NO_MORE_DATA; + len_ll = php_mysqlnd_net_field_length_ll(&p, packet->header.size - (p - begin)); + if (UNEXPECTED(!len_ll.has_value)) { + BAIL_PREMATURE_END; + } + packet->affected_rows = len_ll.value; + + len_ll = php_mysqlnd_net_field_length_ll(&p, packet->header.size - (p - begin)); + if (UNEXPECTED(!len_ll.has_value)) { + BAIL_PREMATURE_END; + } + packet->last_insert_id = len_ll.value; + + BAIL_IF_NOT_ENOUGH_DATA_EX(4); packet->server_status = uint2korr(p); p+= 2; - BAIL_IF_NO_MORE_DATA; packet->warning_count = uint2korr(p); p+= 2; - BAIL_IF_NO_MORE_DATA; /* There is a message */ - if (packet->header.size > (size_t) (p - buf) && (net_len = php_mysqlnd_net_field_length(&p))) { + if (packet->header.size > (size_t) (p - buf) && (net_len = php_mysqlnd_net_field_length(&p, packet->header.size - (p - begin)))) { + if (UNEXPECTED(net_len == MYSQLND_INVALID_NET_FIELD_LENGTH)) { + BAIL_PREMATURE_END; + } packet->message_len = MIN(net_len, buf_len - (p - begin)); packet->message = mnd_pestrndup((char *)p, packet->message_len, FALSE); } else { @@ -889,13 +962,10 @@ packet->affected_rows, packet->last_insert_id, packet->server_status, packet->warning_count); - BAIL_IF_NO_MORE_DATA; - DBG_RETURN(PASS); premature_end: - DBG_ERR_FMT("OK packet %zu bytes shorter than expected", p - begin - packet->header.size); - php_error_docref(NULL, E_WARNING, "OK packet %zu bytes shorter than expected", - p - begin - packet->header.size); + DBG_ERR_FMT("OK packet shorter than expected"); + php_error_docref(NULL, E_WARNING, "OK packet shorter than expected"); DBG_RETURN(FAIL); } /* }}} */ @@ -940,12 +1010,12 @@ if (FAIL == mysqlnd_read_packet_header_and_body(&(packet->header), pfc, vio, stats, error_info, connection_state, buf, buf_len, "EOF", PROT_EOF_PACKET)) { DBG_RETURN(FAIL); } - BAIL_IF_NO_MORE_DATA; + BAIL_IF_NOT_ENOUGH_DATA; /* Should be always EODATA_MARKER */ packet->field_count = uint1korr(p); p++; - BAIL_IF_NO_MORE_DATA; + BAIL_IF_NOT_ENOUGH_DATA; if (ERROR_MARKER == packet->field_count) { php_mysqlnd_read_error_from_line(p, packet->header.size - 1, @@ -961,28 +1031,25 @@ according to the Docs@Forge!!! */ if (packet->header.size > 1) { + BAIL_IF_NOT_ENOUGH_DATA_EX(4); + packet->warning_count = uint2korr(p); p+= 2; - BAIL_IF_NO_MORE_DATA; packet->server_status = uint2korr(p); p+= 2; - BAIL_IF_NO_MORE_DATA; } else { packet->warning_count = 0; packet->server_status = 0; } - BAIL_IF_NO_MORE_DATA; - DBG_INF_FMT("EOF packet: fields=%u status=%u warnings=%u", packet->field_count, packet->server_status, packet->warning_count); DBG_RETURN(PASS); premature_end: - DBG_ERR_FMT("EOF packet %zu bytes shorter than expected", p - begin - packet->header.size); - php_error_docref(NULL, E_WARNING, "EOF packet %zu bytes shorter than expected", - p - begin - packet->header.size); + DBG_ERR_FMT("EOF packet shorter than expected"); + php_error_docref(NULL, E_WARNING, "EOF packet shorter than expected"); DBG_RETURN(FAIL); } /* }}} */ @@ -1063,13 +1130,14 @@ const zend_uchar * p = buf; const zend_uchar * const begin = buf; size_t len; + MYSQLND_OPTIONAL_UINT64_T len_ll; DBG_ENTER("php_mysqlnd_rset_header_read"); if (FAIL == mysqlnd_read_packet_header_and_body(&(packet->header), pfc, vio, stats, error_info, connection_state, buf, buf_len, "resultset header", PROT_RSET_HEADER_PACKET)) { DBG_RETURN(FAIL); } - BAIL_IF_NO_MORE_DATA; + BAIL_IF_NOT_ENOUGH_DATA; /* Don't increment. First byte is ERROR_MARKER on error, but otherwise is starting byte @@ -1078,7 +1146,7 @@ if (ERROR_MARKER == *p) { /* Error */ p++; - BAIL_IF_NO_MORE_DATA; + BAIL_IF_NOT_ENOUGH_DATA; php_mysqlnd_read_error_from_line(p, packet->header.size - 1, packet->error_info.error, sizeof(packet->error_info.error), &packet->error_info.error_no, packet->error_info.sqlstate @@ -1086,8 +1154,11 @@ DBG_RETURN(PASS); } - packet->field_count = php_mysqlnd_net_field_length(&p); - BAIL_IF_NO_MORE_DATA; + zend_ulong field_count = php_mysqlnd_net_field_length(&p, packet->header.size - (p - begin)); + if (UNEXPECTED(field_count == MYSQLND_INVALID_NET_FIELD_LENGTH)) { + BAIL_PREMATURE_END; + } + packet->field_count = field_count; switch (packet->field_count) { case MYSQLND_NULL_LENGTH: @@ -1095,7 +1166,7 @@ /* First byte in the packet is the field count. Thus, the name is size - 1. And we add 1 for a trailing \0. - Because we have BAIL_IF_NO_MORE_DATA before the switch, we are guaranteed + Because we have BAIL_IF_NOT_ENOUGH_DATA before the switch, we are guaranteed that packet->header.size is > 0. Which means that len can't underflow, that would lead to 0 byte allocation but 2^32 or 2^64 bytes copied. */ @@ -1107,24 +1178,34 @@ break; case 0x00: DBG_INF("UPSERT"); - packet->affected_rows = php_mysqlnd_net_field_length_ll(&p); - BAIL_IF_NO_MORE_DATA; - packet->last_insert_id = php_mysqlnd_net_field_length_ll(&p); - BAIL_IF_NO_MORE_DATA; + len_ll = php_mysqlnd_net_field_length_ll(&p, packet->header.size - (p - begin)); + if (UNEXPECTED(!len_ll.has_value)) { + BAIL_PREMATURE_END; + } + packet->affected_rows = len_ll.value; + + len_ll = php_mysqlnd_net_field_length_ll(&p, packet->header.size - (p - begin)); + if (UNEXPECTED(!len_ll.has_value)) { + BAIL_PREMATURE_END; + } + packet->last_insert_id = len_ll.value; + + BAIL_IF_NOT_ENOUGH_DATA_EX(4); packet->server_status = uint2korr(p); p+=2; - BAIL_IF_NO_MORE_DATA; packet->warning_count = uint2korr(p); p+=2; - BAIL_IF_NO_MORE_DATA; + + len = php_mysqlnd_net_field_length(&p, packet->header.size - (p - begin)); + /* Check for additional textual data */ - if (packet->header.size > (size_t) (p - buf) && (len = php_mysqlnd_net_field_length(&p))) { - /* p can get past packet size when getting field length so it needs to be checked first - * and after that it can be checked that the len is not greater than the packet size */ - if ((p - buf) > packet->header.size || packet->header.size - (p - buf) < len) { + if (len && len != MYSQLND_INVALID_NET_FIELD_LENGTH) { + /* This checks both whether reading the len was successful + * and that the len is not greater than the packet size */ + if (packet->header.size - (p - buf) < len) { size_t local_file_name_over_read = ((p - buf) - packet->header.size) + len; DBG_ERR_FMT("RSET_HEADER packet additional data length is past %zu bytes the packet size", local_file_name_over_read); @@ -1147,13 +1228,11 @@ /* Result set */ break; } - BAIL_IF_NO_MORE_DATA; DBG_RETURN(ret); premature_end: - DBG_ERR_FMT("RSET_HEADER packet %zu bytes shorter than expected", p - begin - packet->header.size); - php_error_docref(NULL, E_WARNING, "RSET_HEADER packet %zu bytes shorter than expected", - p - begin - packet->header.size); + DBG_ERR_FMT("RSET_HEADER packet shorter than expected"); + php_error_docref(NULL, E_WARNING, "RSET_HEADER packet shorter than expected"); DBG_RETURN(FAIL); } /* }}} */ @@ -1171,8 +1250,8 @@ /* }}} */ #define READ_RSET_FIELD(field_name) do { \ - len = php_mysqlnd_net_field_length(&p); \ - if (UNEXPECTED(len == MYSQLND_NULL_LENGTH)) { \ + zend_ulong len = php_mysqlnd_net_field_length(&p, packet->header.size - (p - begin)); \ + if (UNEXPECTED(len > packet->header.size - (p - begin))) { \ goto faulty_or_fake; \ } else if (len != 0) { \ meta->field_name = (const char *)p; \ @@ -1216,11 +1295,11 @@ DBG_RETURN(PASS); } - BAIL_IF_NO_MORE_DATA; + BAIL_IF_NOT_ENOUGH_DATA; if (ERROR_MARKER == *p) { /* Error */ p++; - BAIL_IF_NO_MORE_DATA; + BAIL_IF_NOT_ENOUGH_DATA; php_mysqlnd_read_error_from_line(p, packet->header.size - 1, packet->error_info.error, sizeof(packet->error_info.error), &packet->error_info.error_no, packet->error_info.sqlstate @@ -1284,9 +1363,8 @@ } /* COM_FIELD_LIST is no longer supported so def should not be present */ - if (packet->header.size > (size_t) (p - buf) && - (len = php_mysqlnd_net_field_length(&p)) && - len != MYSQLND_NULL_LENGTH) + len = php_mysqlnd_net_field_length(&p, packet->header.size - (p - begin)); + if (len < MYSQLND_INVALID_NET_FIELD_LENGTH) { DBG_ERR_FMT("Protocol error. Server sent default for unsupported field list"); php_error_docref(NULL, E_WARNING, @@ -1354,9 +1432,8 @@ " The server is faulty"); DBG_RETURN(FAIL); premature_end: - DBG_ERR_FMT("RSET field packet %zu bytes shorter than expected", p - begin - packet->header.size); - php_error_docref(NULL, E_WARNING, "Result set field packet %zu bytes " - "shorter than expected", p - begin - packet->header.size); + DBG_ERR_FMT("RSET field packet shorter than expected"); + php_error_docref(NULL, E_WARNING, "Result set field packet shorter than expected"); DBG_RETURN(FAIL); } /* }}} */ @@ -1579,12 +1656,12 @@ for (i = 0, current_field = start_field; current_field < end_field; current_field++, i++) { /* php_mysqlnd_net_field_length() call should be after *this_field_len_pos = p; */ - const zend_ulong len = php_mysqlnd_net_field_length((const zend_uchar **) &p); + zend_ulong len = php_mysqlnd_net_field_length((const zend_uchar **) &p, packet_end - p); /* NULL or NOT NULL, this is the question! */ if (len == MYSQLND_NULL_LENGTH) { ZVAL_NULL(current_field); - } else if (p > packet_end || len > packet_end - p) { + } else if (len > packet_end - p) { php_error_docref(NULL, E_WARNING, "Malformed server packet. Field length pointing after end of packet"); for (j = 0, current_field = start_field; j < i; current_field++, j++) { zval_ptr_dtor(current_field); @@ -1758,7 +1835,8 @@ } else if (EODATA_MARKER == *p && data_size < 8) { /* EOF */ packet->eof = TRUE; p++; - if (data_size > 1) { + /* the marker is followed by 2 bytes of warnings and 2 bytes of status */ + if (data_size >= 5) { packet->warning_count = uint2korr(p); p += 2; packet->server_status = uint2korr(p); @@ -1843,12 +1921,12 @@ if (FAIL == mysqlnd_read_packet_header_and_body(&(packet->header), pfc, vio, stats, error_info, connection_state, buf, buf_len, "prepare", PROT_PREPARE_RESP_PACKET)) { DBG_RETURN(FAIL); } - BAIL_IF_NO_MORE_DATA; + BAIL_IF_NOT_ENOUGH_DATA; data_size = packet->header.size; packet->error_code = uint1korr(p); p++; - BAIL_IF_NO_MORE_DATA; + BAIL_IF_NOT_ENOUGH_DATA; if (ERROR_MARKER == packet->error_code) { php_mysqlnd_read_error_from_line(p, data_size - 1, @@ -1868,23 +1946,23 @@ DBG_RETURN(FAIL); } + BAIL_IF_NOT_ENOUGH_DATA_EX(8); + packet->stmt_id = uint4korr(p); p += 4; - BAIL_IF_NO_MORE_DATA; /* Number of columns in result set */ packet->field_count = uint2korr(p); p += 2; - BAIL_IF_NO_MORE_DATA; packet->param_count = uint2korr(p); p += 2; - BAIL_IF_NO_MORE_DATA; if (data_size > 9) { + BAIL_IF_NOT_ENOUGH_DATA_EX(3); + /* 0x0 filler sent by the server for 5.0+ clients */ p++; - BAIL_IF_NO_MORE_DATA; packet->warning_count = uint2korr(p); } @@ -1892,13 +1970,10 @@ DBG_INF_FMT("Prepare packet read: stmt_id=" ZEND_ULONG_FMT " fields=%u params=%u", packet->stmt_id, packet->field_count, packet->param_count); - BAIL_IF_NO_MORE_DATA; - DBG_RETURN(PASS); premature_end: - DBG_ERR_FMT("PREPARE packet %zu bytes shorter than expected", p - begin - packet->header.size); - php_error_docref(NULL, E_WARNING, "PREPARE packet %zu bytes shorter than expected", - p - begin - packet->header.size); + DBG_ERR_FMT("PREPARE packet shorter than expected"); + php_error_docref(NULL, E_WARNING, "PREPARE packet shorter than expected"); DBG_RETURN(FAIL); } /* }}} */ @@ -1925,7 +2000,7 @@ if (FAIL == mysqlnd_read_packet_header_and_body(&(packet->header), pfc, vio, stats, error_info, connection_state, buf, buf_len, "change user response", PROT_CHG_USER_RESP_PACKET)) { DBG_RETURN(FAIL); } - BAIL_IF_NO_MORE_DATA; + BAIL_IF_NOT_ENOUGH_DATA; /* Don't increment. First byte is ERROR_MARKER on error, but otherwise is starting byte @@ -1950,11 +2025,16 @@ packet->error_info.sqlstate ); } - BAIL_IF_NO_MORE_DATA; + BAIL_IF_NOT_ENOUGH_DATA; if (packet->response_code == 0xFE && packet->header.size > (size_t) (p - buf)) { - packet->new_auth_protocol = mnd_pestrdup((char *)p, FALSE); - packet->new_auth_protocol_len = strlen(packet->new_auth_protocol); - p+= packet->new_auth_protocol_len + 1; /* +1 for the \0 */ + /* The plugin name MUST be NUL terminated, search for a NUL byte in the remaining space. */ + const char *auth_protocol_nul_byte = memchr(p, '\0', packet->header.size - (p - buf)); + if (!auth_protocol_nul_byte) { + BAIL_PREMATURE_END; + } + packet->new_auth_protocol_len = auth_protocol_nul_byte - (const char *) p; + packet->new_auth_protocol = mnd_pestrndup((char *) p, packet->new_auth_protocol_len, FALSE); + p = (zend_uchar *) auth_protocol_nul_byte + 1; /* eat the '\0' */ packet->new_auth_protocol_data_len = packet->header.size - (size_t) (p - buf); if (packet->new_auth_protocol_data_len) { packet->new_auth_protocol_data = mnd_emalloc(packet->new_auth_protocol_data_len); @@ -1966,9 +2046,8 @@ DBG_RETURN(PASS); premature_end: - DBG_ERR_FMT("CHANGE_USER packet %zu bytes shorter than expected", p - begin - packet->header.size); - php_error_docref(NULL, E_WARNING, "CHANGE_USER packet %zu bytes shorter than expected", - p - begin - packet->header.size); + DBG_ERR_FMT("CHANGE_USER packet shorter than expected"); + php_error_docref(NULL, E_WARNING, "CHANGE_USER packet shorter than expected"); DBG_RETURN(FAIL); } /* }}} */ @@ -2037,10 +2116,10 @@ if (FAIL == mysqlnd_read_packet_header_and_body(&(packet->header), pfc, vio, stats, error_info, connection_state, buf, buf_len, "SHA256_PK_REQUEST_RESPONSE", PROT_SHA256_PK_REQUEST_RESPONSE_PACKET)) { DBG_RETURN(FAIL); } - BAIL_IF_NO_MORE_DATA; + BAIL_IF_NOT_ENOUGH_DATA; p++; - BAIL_IF_NO_MORE_DATA; + BAIL_IF_NOT_ENOUGH_DATA; packet->public_key_len = packet->header.size - (p - buf); packet->public_key = mnd_emalloc(packet->public_key_len + 1); @@ -2050,9 +2129,8 @@ DBG_RETURN(PASS); premature_end: - DBG_ERR_FMT("OK packet %zu bytes shorter than expected", p - begin - packet->header.size); - php_error_docref(NULL, E_WARNING, "SHA256_PK_REQUEST_RESPONSE packet %zu bytes shorter than expected", - p - begin - packet->header.size); + DBG_ERR_FMT("OK packet shorter than expected"); + php_error_docref(NULL, E_WARNING, "SHA256_PK_REQUEST_RESPONSE packet shorter than expected"); DBG_RETURN(FAIL); } /* }}} */ @@ -2117,11 +2195,11 @@ if (FAIL == mysqlnd_read_packet_header_and_body(&(packet->header), pfc, vio, stats, error_info, connection_state, buf, buf_len, "PROT_CACHED_SHA2_RESULT_PACKET", PROT_CACHED_SHA2_RESULT_PACKET)) { DBG_RETURN(FAIL); } - BAIL_IF_NO_MORE_DATA; + BAIL_IF_NOT_ENOUGH_DATA; packet->response_code = uint1korr(p); p++; - BAIL_IF_NO_MORE_DATA; + BAIL_IF_NOT_ENOUGH_DATA; if (ERROR_MARKER == packet->response_code) { php_mysqlnd_read_error_from_line(p, packet->header.size - 1, @@ -2133,9 +2211,14 @@ if (0xFE == packet->response_code) { /* Authentication Switch Response */ if (packet->header.size > (size_t) (p - buf)) { - packet->new_auth_protocol = mnd_pestrdup((char *)p, FALSE); - packet->new_auth_protocol_len = strlen(packet->new_auth_protocol); - p+= packet->new_auth_protocol_len + 1; /* +1 for the \0 */ + /* The plugin name MUST be NUL terminated, search for a NUL byte in the remaining space. */ + const char *auth_protocol_nul_byte = memchr(p, '\0', packet->header.size - (p - buf)); + if (!auth_protocol_nul_byte) { + BAIL_PREMATURE_END; + } + packet->new_auth_protocol_len = auth_protocol_nul_byte - (const char *) p; + packet->new_auth_protocol = mnd_pestrndup((char *) p, packet->new_auth_protocol_len, FALSE); + p = (zend_uchar *) auth_protocol_nul_byte + 1; /* eat the '\0' */ packet->new_auth_protocol_data_len = packet->header.size - (size_t) (p - buf); if (packet->new_auth_protocol_data_len) { @@ -2152,20 +2235,27 @@ DBG_ERR_FMT("Unexpected response code %d", packet->response_code); } - /* This is not really the response code, but we reuse the field. */ + BAIL_IF_NOT_ENOUGH_DATA; + + /* This is not really the response code, but we reuse the field. This should be either 0x03 if + * fast auth is used or 0x04 if full auth should be done. */ packet->response_code = uint1korr(p); - p++; - BAIL_IF_NO_MORE_DATA; - packet->result = uint1korr(p); - BAIL_IF_NO_MORE_DATA; + /* This should be removed in master and it is really kept for just in case scenario that should + * never happen because mysql-server sends only byte that is stored above. The result seems not + * to be used so there is not much point to set it in any case. */ + if (UNEXPECTED((size_t)(p - begin) + 2 <= packet->header.size)) { + p++; + packet->result = uint1korr(p); + } else { + packet->result = 0; + } DBG_RETURN(PASS); premature_end: - DBG_ERR_FMT("OK packet %zu bytes shorter than expected", p - begin - packet->header.size); - php_error_docref(NULL, E_WARNING, "SHA256_PK_REQUEST_RESPONSE packet %zu bytes shorter than expected", - p - begin - packet->header.size); + DBG_ERR_FMT("OK packet shorter than expected"); + php_error_docref(NULL, E_WARNING, "SHA256_PK_REQUEST_RESPONSE packet shorter than expected"); DBG_RETURN(FAIL); } diff -Nru php8.4-8.4.24/ext/mysqlnd/mysqlnd_wireprotocol.h php8.4-8.4.26/ext/mysqlnd/mysqlnd_wireprotocol.h --- php8.4-8.4.24/ext/mysqlnd/mysqlnd_wireprotocol.h 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/mysqlnd/mysqlnd_wireprotocol.h 2026-09-22 15:00:02.000000000 +0000 @@ -295,9 +295,19 @@ unsigned int error_no; } MYSQLND_PACKET_CACHED_SHA2_RESULT; +/* The following structure implements an optional value, + * which forces the caller to check if the value was correctly read, for safety reasons. */ +typedef struct st_mysqlnd_optional_uint64_t { + uint64_t value; + bool has_value; +} MYSQLND_OPTIONAL_UINT64_T; -zend_ulong php_mysqlnd_net_field_length(const zend_uchar **packet); +/* must not be equal to MYSQLND_NULL_LENGTH, but larger than 2**24 */ +#define MYSQLND_INVALID_NET_FIELD_LENGTH ((zend_ulong) -2) + +/* Returns MYSQLND_INVALID_NET_FIELD_LENGTH on error */ +zend_ulong php_mysqlnd_net_field_length(const zend_uchar **packet, size_t remaining_size); zend_uchar * php_mysqlnd_net_store_length(zend_uchar *packet, const uint64_t length); size_t php_mysqlnd_net_store_length_size(uint64_t length); diff -Nru php8.4-8.4.24/ext/odbc/php_odbc.c php8.4-8.4.26/ext/odbc/php_odbc.c --- php8.4-8.4.24/ext/odbc/php_odbc.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/odbc/php_odbc.c 2026-09-22 15:00:02.000000000 +0000 @@ -683,6 +683,7 @@ result->values[i].value_max_len = 0; colfieldid = SQL_COLUMN_DISPLAY_SIZE; + result->values[i].name[0] = '\0'; rc = PHP_ODBC_SQLCOLATTRIBUTE(result->stmt, (SQLUSMALLINT)(i+1), PHP_ODBC_SQL_DESC_NAME, result->values[i].name, sizeof(result->values[i].name), &colnamelen, 0); result->values[i].coltype = 0; @@ -809,10 +810,30 @@ } /* }}} */ +static void odbc_colattribute_failed(odbc_result *result, zend_long pv_num) +{ +#if defined(ODBCVER) && (ODBCVER >= 0x0300) + SQLINTEGER diag_error; + SQLCHAR diag_state[6]; + SQLCHAR diag_text[128]; + + memset(diag_state, '\0', sizeof(diag_state)); + memset(diag_text, '\0', sizeof(diag_text)); + if (SQL_SUCCESS == SQLGetDiagRec(SQL_HANDLE_STMT, result->stmt, 1, diag_state, &diag_error, diag_text, sizeof(diag_text), NULL)) { + diag_state[sizeof(diag_state) - 1] = '\0'; + diag_text[sizeof(diag_text) - 1] = '\0'; + php_error_docref(NULL, E_WARNING, "SQLColAttribute failed for field #%d: [%s] %s", (int)pv_num, diag_state, diag_text); + return; + } +#endif + php_error_docref(NULL, E_WARNING, "SQLColAttribute failed for field #%d", (int)pv_num); +} + /* {{{ odbc_column_lengths */ void odbc_column_lengths(INTERNAL_FUNCTION_PARAMETERS, int type) { odbc_result *result; + RETCODE rc; #if defined(HAVE_SOLID) || defined(HAVE_SOLID_30) /* this seems to be necessary for Solid2.3 ( tested by * tammy@synchronis.com) and Solid 3.0 (tested by eric@terra.telemediair.nl) @@ -849,7 +870,11 @@ RETURN_FALSE; } - PHP_ODBC_SQLCOLATTRIBUTE(result->stmt, (SQLUSMALLINT)pv_num, (SQLUSMALLINT) (type?SQL_COLUMN_SCALE:SQL_COLUMN_PRECISION), NULL, 0, NULL, &len); + rc = PHP_ODBC_SQLCOLATTRIBUTE(result->stmt, (SQLUSMALLINT)pv_num, (SQLUSMALLINT)(type ? SQL_COLUMN_SCALE : SQL_COLUMN_PRECISION), NULL, 0, NULL, &len); + if (rc != SQL_SUCCESS && rc != SQL_SUCCESS_WITH_INFO) { + odbc_colattribute_failed(result, pv_num); + len = 0; + } RETURN_LONG(len); } @@ -2217,9 +2242,9 @@ /* Force UID and PWD to be set in the DSN */ if (use_uid_arg || use_pwd_arg) { - db_end--; - if ((unsigned char)*(db_end) == ';') { - *db_end = '\0'; + size_t base_len = db_len; + if (base_len > 0 && db[base_len - 1] == ';') { + base_len--; } char *uid_quoted = NULL, *pwd_quoted = NULL; @@ -2235,7 +2260,7 @@ } if (!use_pwd_arg) { - spprintf(&ldb, 0, "%s;UID=%s;", db, uid_quoted); + spprintf(&ldb, 0, "%.*s;UID=%s;", (int) base_len, db, uid_quoted); } } @@ -2250,12 +2275,12 @@ } if (!use_uid_arg) { - spprintf(&ldb, 0, "%s;PWD=%s;", db, pwd_quoted); + spprintf(&ldb, 0, "%.*s;PWD=%s;", (int) base_len, db, pwd_quoted); } } if (use_uid_arg && use_pwd_arg) { - spprintf(&ldb, 0, "%s;UID=%s;PWD=%s;", db, uid_quoted, pwd_quoted); + spprintf(&ldb, 0, "%.*s;UID=%s;PWD=%s;", (int) base_len, db, uid_quoted, pwd_quoted); } if (uid_quoted && should_quote_uid) { @@ -2597,6 +2622,7 @@ odbc_result *result; char tmp[32]; SQLSMALLINT tmplen; + RETCODE rc; zval *pv_res; zend_long pv_num; @@ -2622,7 +2648,13 @@ RETURN_FALSE; } - PHP_ODBC_SQLCOLATTRIBUTE(result->stmt, (SQLUSMALLINT)pv_num, SQL_COLUMN_TYPE_NAME, tmp, 31, &tmplen, NULL); + tmp[0] = '\0'; + rc = PHP_ODBC_SQLCOLATTRIBUTE(result->stmt, (SQLUSMALLINT)pv_num, SQL_COLUMN_TYPE_NAME, tmp, sizeof(tmp) - 1, &tmplen, NULL); + if (rc != SQL_SUCCESS && rc != SQL_SUCCESS_WITH_INFO) { + odbc_colattribute_failed(result, pv_num); + RETURN_FALSE; + } + RETURN_STRING(tmp); } /* }}} */ diff -Nru php8.4-8.4.24/ext/odbc/tests/gh_odbc_dsn_immutability.phpt php8.4-8.4.26/ext/odbc/tests/gh_odbc_dsn_immutability.phpt --- php8.4-8.4.24/ext/odbc/tests/gh_odbc_dsn_immutability.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/odbc/tests/gh_odbc_dsn_immutability.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,20 @@ +--TEST-- +odbc_connect() must not mutate the caller's DSN string +--EXTENSIONS-- +odbc +--FILE-- + +--EXPECT-- +string(37) "Driver=DoesNotExist;Database=x;SS001;" +string(43) "Driver=DoesNotExist;Database=x;SS001_CONST;" diff -Nru php8.4-8.4.24/ext/odbc/tests/odbc_utils.phpt php8.4-8.4.26/ext/odbc/tests/odbc_utils.phpt --- php8.4-8.4.24/ext/odbc/tests/odbc_utils.phpt 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/odbc/tests/odbc_utils.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -17,11 +17,14 @@ // 2. See $with_end_curly2; should_quote doesn't care about if the string is already quoted. $with_end_curly3 = "{foo}}bar}"; // 1. No, it's not quoted. -// 2. It doesn't need to be quoted because of no s +// 2. It doesn't need to be quoted because of no special characters. $with_no_end_curly1 = "foobar"; // 1. Yes, it is quoted and any characters are properly escaped. // 2. See $with_end_curly2. $with_no_end_curly2 = "{foobar}"; +// 1. No, it's not quoted. +// 2. Yes, spaces should be quoted, as drivers can interpret them differently. +$with_spaces = " foobar "; echo "# Is quoted?\n"; echo "With end curly brace 1: "; @@ -34,6 +37,8 @@ var_dump(odbc_connection_string_is_quoted($with_no_end_curly1)); echo "Without end curly brace 2: "; var_dump(odbc_connection_string_is_quoted($with_no_end_curly2)); +echo "With spaces: "; +var_dump(odbc_connection_string_is_quoted($with_spaces)); echo "# Should quote?\n"; echo "With end curly brace 1: "; @@ -46,6 +51,8 @@ var_dump(odbc_connection_string_should_quote($with_no_end_curly1)); echo "Without end curly brace 2: "; var_dump(odbc_connection_string_should_quote($with_no_end_curly2)); +echo "With spaces: "; +var_dump(odbc_connection_string_should_quote($with_spaces)); echo "# Quote?\n"; echo "With end curly brace 1: "; @@ -58,6 +65,8 @@ var_dump(odbc_connection_string_quote($with_no_end_curly1)); echo "Without end curly brace 2: "; var_dump(odbc_connection_string_quote($with_no_end_curly2)); +echo "With spaces: "; +var_dump(odbc_connection_string_quote($with_spaces)); ?> --EXPECTF-- @@ -67,15 +76,18 @@ With end curly brace 3: bool(true) Without end curly brace 1: bool(false) Without end curly brace 2: bool(true) +With spaces: bool(false) # Should quote? With end curly brace 1: bool(true) With end curly brace 2: bool(true) With end curly brace 3: bool(true) Without end curly brace 1: bool(false) Without end curly brace 2: bool(true) +With spaces: bool(true) # Quote? With end curly brace 1: string(10) "{foo}}bar}" With end curly brace 2: string(13) "{{foo}}bar}}}" With end curly brace 3: string(15) "{{foo}}}}bar}}}" Without end curly brace 1: string(8) "{foobar}" Without end curly brace 2: string(11) "{{foobar}}}" +With spaces: string(12) "{ foobar }" diff -Nru php8.4-8.4.24/ext/opcache/ZendAccelerator.c php8.4-8.4.26/ext/opcache/ZendAccelerator.c --- php8.4-8.4.24/ext/opcache/ZendAccelerator.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/opcache/ZendAccelerator.c 2026-09-22 15:00:02.000000000 +0000 @@ -2715,7 +2715,7 @@ zend_reset_cache_vars(); zend_accel_hash_clean(&ZCSG(hash)); - if (ZCG(accel_directives).interned_strings_buffer) { + if (ZCSG(interned_strings).saved_top) { accel_interned_strings_restore_state(); } @@ -3444,6 +3444,8 @@ if ((ini_entry = zend_hash_str_find_ptr(EG(ini_directives), "include_path", sizeof("include_path")-1)) != NULL) { ini_entry->on_modify = orig_include_path_on_modify; } + + accel_startup_ok = false; } void zend_accel_schedule_restart(zend_accel_restart_reason reason) diff -Nru php8.4-8.4.24/ext/opcache/ZendAccelerator.h php8.4-8.4.26/ext/opcache/ZendAccelerator.h --- php8.4-8.4.24/ext/opcache/ZendAccelerator.h 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/opcache/ZendAccelerator.h 2026-09-22 15:00:02.000000000 +0000 @@ -199,6 +199,9 @@ bool counted; /* the process uses shared memory */ bool enabled; bool locked; /* thread obtained exclusive lock */ +#ifdef ZTS + uint32_t unprotect_depth; +#endif bool accelerator_enabled; /* accelerator enabled for current request */ bool pcre_reseted; zend_accel_directives accel_directives; diff -Nru php8.4-8.4.24/ext/opcache/jit/zend_jit.c php8.4-8.4.26/ext/opcache/jit/zend_jit.c --- php8.4-8.4.24/ext/opcache/jit/zend_jit.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/opcache/jit/zend_jit.c 2026-09-22 15:00:02.000000000 +0000 @@ -2332,6 +2332,7 @@ goto jit_failure; } goto done; + case ZEND_FETCH_OBJ_FUNC_ARG: case ZEND_FETCH_OBJ_R: case ZEND_FETCH_OBJ_IS: case ZEND_FETCH_OBJ_W: @@ -2369,11 +2370,31 @@ || Z_STRVAL_P(RT_CONSTANT(opline, opline->op2))[0] == '\0') { break; } - if (!zend_jit_fetch_obj(&ctx, opline, op_array, ssa, ssa_op, - op1_info, op1_addr, 0, ce, ce_is_instanceof, on_this, 0, 0, NULL, - RES_REG_ADDR(), IS_UNKNOWN, - zend_may_throw(opline, ssa_op, op_array, ssa))) { - goto jit_failure; + if (opline->opcode == ZEND_FETCH_OBJ_FUNC_ARG) { + /* FETCH_OBJ_FUNC_ARG's by-value fetch dispatches into the + * FETCH_OBJ_R handler, which may take the SIMPLE_GET hook fast + * path and push a getter frame; by-ref dispatches into + * FETCH_OBJ_W. The function JIT may keep values solely in + * registers, so we must NOT exit to the VM (stale stack slots). + * Inline the by-value path through zend_jit_fetch_obj, which runs + * the hook getter inside a helper and keeps all registers live. + * The by-ref path has no SIMPLE_GET fast path, so the generic + * handler (a full C call, safe under register allocation) is used. + * This mirrors the tracing JIT fix for GH-21006 (GH-21369); the + * runtime by-ref check is required because the passing mode is + * only known once the callee is resolved via namespace fallback. + * See GH-22857. */ + if (!zend_jit_fetch_obj_func_arg(jit, opline, op_array, ssa, ssa_op, + op1_info, op1_addr, ce, ce_is_instanceof, on_this, RES_REG_ADDR())) { + goto jit_failure; + } + } else { + if (!zend_jit_fetch_obj(&ctx, opline, op_array, ssa, ssa_op, + op1_info, op1_addr, 0, ce, ce_is_instanceof, on_this, 0, 0, NULL, + RES_REG_ADDR(), IS_UNKNOWN, + zend_may_throw(opline, ssa_op, op_array, ssa))) { + goto jit_failure; + } } goto done; case ZEND_BIND_GLOBAL: diff -Nru php8.4-8.4.24/ext/opcache/jit/zend_jit_ir.c php8.4-8.4.26/ext/opcache/jit/zend_jit_ir.c --- php8.4-8.4.24/ext/opcache/jit/zend_jit_ir.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/opcache/jit/zend_jit_ir.c 2026-09-22 15:00:02.000000000 +0000 @@ -338,6 +338,11 @@ zend_jit_addr ref_addr, bool check_exception); +static void zend_jit_preserve_parent_regs(zend_jit_ctx *jit, + zend_ssa *ssa, + zend_jit_trace_info *parent, + uint32_t exit_num); + typedef struct _zend_jit_stub { const char *name; int (*stub)(zend_jit_ctx *jit); @@ -14647,6 +14652,59 @@ return 1; } +static int zend_jit_fetch_obj_func_arg(zend_jit_ctx *jit, const zend_op *opline, + const zend_op_array *op_array, zend_ssa *ssa, const zend_ssa_op *ssa_op, + uint32_t op1_info, zend_jit_addr op1_addr, zend_class_entry *ce, + bool ce_is_instanceof, bool on_this, zend_jit_addr res_addr) +{ + ir_ref rx, call_info, if_by_ref, end_by_ref; + + /* Both runtime paths must observe a consistent frame state. The delayed + * call chain would otherwise only be flushed inside the by-ref branch (by + * zend_jit_set_ip() in zend_jit_handler()), leaving EX(call) stale on the + * by-val path and after the merge. Flush it before branching. */ + if (jit->delayed_call_level) { + if (!zend_jit_save_call_chain(jit, jit->delayed_call_level)) { + return 0; + } + } + + /* JIT: if (ZEND_CALL_INFO(EX(call)) & ZEND_CALL_SEND_ARG_BY_REF) */ + if (jit->reuse_ip) { + rx = jit_IP(jit); + } else { + rx = ir_LOAD_A(jit_EX(call)); + } + call_info = ir_LOAD_U32(jit_CALL(rx, This.u1.type_info)); + if_by_ref = ir_IF(ir_AND_U32(call_info, ir_CONST_U32(ZEND_CALL_SEND_ARG_BY_REF))); + + /* by-ref path: the FUNC_ARG handler re-checks the flag and dispatches + * into FETCH_OBJ_W */ + ir_IF_TRUE_cold(if_by_ref); + if (!zend_jit_handler(jit, opline, zend_may_throw(opline, ssa_op, op_array, ssa))) { + return 0; + } + end_by_ref = ir_END(); + + /* zend_jit_handler() stored IP = opline + 1 on the by-ref path only; + * that compile-time knowledge is invalid for the by-val path and after + * the merge. */ + zend_jit_reset_last_valid_opline(jit); + + /* by-val path */ + ir_IF_FALSE(if_by_ref); + if (!zend_jit_fetch_obj(jit, opline, op_array, ssa, ssa_op, + op1_info, op1_addr, 0, ce, ce_is_instanceof, on_this, 0, 0, NULL, + res_addr, IS_UNKNOWN, + zend_may_throw(opline, ssa_op, op_array, ssa))) { + return 0; + } + ir_MERGE_WITH(end_by_ref); + + return 1; +} + + static int zend_jit_assign_obj(zend_jit_ctx *jit, const zend_op *opline, const zend_op_array *op_array, @@ -16990,6 +17048,7 @@ static int zend_jit_deoptimizer_start(zend_jit_ctx *jit, zend_string *name, uint32_t trace_num, + zend_jit_trace_info *parent, uint32_t exit_num) { zend_jit_init_ctx(jit, (zend_jit_vm_kind == ZEND_VM_KIND_CALL) ? 0 : IR_START_BR_TARGET); @@ -17002,6 +17061,8 @@ jit->ctx.flags |= IR_SKIP_PROLOGUE; + zend_jit_preserve_parent_regs(jit, NULL, parent, exit_num); + return 1; } @@ -17034,6 +17095,21 @@ jit->ctx.flags |= IR_SKIP_PROLOGUE; } + zend_jit_preserve_parent_regs(jit, ssa, parent, exit_num); + + ir_STORE(jit_EG(jit_trace_num), ir_CONST_U32(trace_num)); + + return 1; +} + +static void zend_jit_preserve_parent_regs(zend_jit_ctx *jit, + zend_ssa *ssa, + zend_jit_trace_info *parent, + uint32_t exit_num) +{ + /* Emit early RLOADs of registers used for deoptimization to prevent + * clobbering. zend_jit_deopt_rload() will reference these. */ + if (parent) { int i; int parent_vars_count = parent->exit_info[exit_num].stack_size; @@ -17041,7 +17117,6 @@ parent->stack_map + parent->exit_info[exit_num].stack_offset; - /* prevent clobbering of registers used for deoptimization */ for (i = 0; i < parent_vars_count; i++) { if (STACK_FLAGS(parent_stack, i) != ZREG_CONST && STACK_REG(parent_stack, i) != ZREG_NONE) { @@ -17085,10 +17160,6 @@ ir_RLOAD_A(parent->exit_info[exit_num].poly_this.reg); } } - - ir_STORE(jit_EG(jit_trace_num), ir_CONST_U32(trace_num)); - - return 1; } static int zend_jit_trace_begin_loop(zend_jit_ctx *jit) diff -Nru php8.4-8.4.24/ext/opcache/jit/zend_jit_trace.c php8.4-8.4.26/ext/opcache/jit/zend_jit_trace.c --- php8.4-8.4.24/ext/opcache/jit/zend_jit_trace.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/opcache/jit/zend_jit_trace.c 2026-09-22 15:00:02.000000000 +0000 @@ -145,6 +145,11 @@ } if (JIT_G(current_frame)) { op_array = &JIT_G(current_frame)->func->op_array; + if (!(op_array->fn_flags & ZEND_ACC_IMMUTABLE)) { + zend_jit_op_array_trace_extension *jit_extension = + (zend_jit_op_array_trace_extension*)ZEND_FUNC_INFO(op_array); + op_array = jit_extension->op_array; + } stack_size = op_array->last_var + op_array->T; if (stack_size) { stack = JIT_G(current_frame)->stack; @@ -7364,7 +7369,7 @@ name = zend_jit_trace_escape_name(trace_num, exit_num); - if (!zend_jit_deoptimizer_start(&ctx, name, trace_num, exit_num)) { + if (!zend_jit_deoptimizer_start(&ctx, name, trace_num, &zend_jit_traces[trace_num], exit_num)) { zend_string_release(name); return NULL; } diff -Nru php8.4-8.4.24/ext/opcache/shared_alloc_mmap.c php8.4-8.4.26/ext/opcache/shared_alloc_mmap.c --- php8.4-8.4.24/ext/opcache/shared_alloc_mmap.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/opcache/shared_alloc_mmap.c 2026-09-22 15:00:02.000000000 +0000 @@ -245,9 +245,9 @@ /* to got HUGE PAGES in low 32-bit address we have to reserve address space and then remap it using MAP_HUGETLB */ - p = mmap(NULL, requested_size, flags, MAP_SHARED|MAP_ANONYMOUS|MAP_32BIT, fd, 0); + p = mmap(NULL, requested_size + huge_page_size, flags, MAP_SHARED|MAP_ANONYMOUS|MAP_32BIT, fd, 0); if (p != MAP_FAILED) { - munmap(p, requested_size); + munmap(p, requested_size + huge_page_size); p = (void*)(ZEND_MM_ALIGNED_SIZE_EX((ptrdiff_t)p, huge_page_size)); p = mmap(p, requested_size, flags, MAP_SHARED|MAP_ANONYMOUS|MAP_32BIT|MAP_HUGETLB|MAP_FIXED, -1, 0); if (p != MAP_FAILED) { diff -Nru php8.4-8.4.24/ext/opcache/shared_alloc_posix.c php8.4-8.4.26/ext/opcache/shared_alloc_posix.c --- php8.4-8.4.24/ext/opcache/shared_alloc_posix.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/opcache/shared_alloc_posix.c 2026-09-22 15:00:02.000000000 +0000 @@ -51,9 +51,10 @@ * only then amd64/i386/arm64 and perharps risc64* * archs are on interest here. */ - size_t i, shared_segment_sizes = 0, shared_segment_lg_index = 0; + size_t shared_segment_lg_index = 0; size_t shared_segment_sindexes[3] = {0}; const size_t entries = sizeof(shared_segment_sindexes) / sizeof(shared_segment_sindexes[0]); + int i, shared_segment_sizes; shared_segment_sizes = getpagesizes(shared_segment_sindexes, entries); diff -Nru php8.4-8.4.24/ext/opcache/tests/jit/gh21710.inc php8.4-8.4.26/ext/opcache/tests/jit/gh21710.inc --- php8.4-8.4.24/ext/opcache/tests/jit/gh21710.inc 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/opcache/tests/jit/gh21710.inc 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,15 @@ + +--FILE-- + +--EXPECT-- +bool(true) diff -Nru php8.4-8.4.24/ext/opcache/tests/jit/gh22857.phpt php8.4-8.4.26/ext/opcache/tests/jit/gh22857.phpt --- php8.4-8.4.24/ext/opcache/tests/jit/gh22857.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/opcache/tests/jit/gh22857.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,125 @@ +--TEST-- +GH-22857: Function JIT emits wrong code for FETCH_OBJ_FUNC_ARG on a property hook (SIMPLE_GET fast path) +--INI-- +opcache.enable=1 +opcache.enable_cli=1 +opcache.jit_buffer_size=64M +opcache.jit=1205 +opcache.jit_hot_func=1 +--EXTENSIONS-- +opcache +--FILE-- + (self::$getterRan = true) + ? self::build($this->kind, $this->id) + : self::build($this->kind, $this->id); + } + + protected mixed $prev = null; + + public function __construct( + public protected(set) string $kind, + public protected(set) string $id, + ) { + $this->handler = DefaultHandler::getInstance(); + } + + public static function build(string $k, string $i): string { + return "/nonexistent/gh22857_{$k}_{$i}.dat"; + } + + public function step(): void { + /* Unqualified namespaced-fallback call (INIT_NS_FCALL_BY_NAME) keeps + * the FETCH_OBJ_FUNC_ARG opcode instead of letting the optimizer + * rewrite it to FETCH_OBJ_R. @ preserves the opcode shape that + * triggers the bug. */ + @file_get_contents($this->path); + if (!self::$getterRan) { + throw new \RuntimeException('getter did not run via FUNC_ARG'); + } + } +} + +$c = new Container('alpha', 'beta'); +$c->step(); +$c->step(); +$c->step(); + +/* Sibling-slot variant: a preceding plain FETCH_OBJ_R primes the + * SIMPLE_GET bit on the property cache slot; compact_literals shares the + * slot between FETCH_OBJ_R and FETCH_OBJ_FUNC_ARG for the same property, + * so the following FETCH_OBJ_FUNC_ARG consumes that bit and hits the + * SIMPLE_GET fast path. Without the hook-enter guard it passes whatever + * sits in an adjacent property slot instead of running the getter. The + * flag is reset after the priming FETCH_OBJ_R so the assertion reflects + * only whether the getter ran during the FETCH_OBJ_FUNC_ARG read. */ +class Container2 { + private static bool $getterRan = false; + + public protected(set) HandlerInterface $handler; + + public string $path { + get => (self::$getterRan = true) + ? self::build($this->kind, $this->id) + : self::build($this->kind, $this->id); + } + + protected mixed $prev = null; + + public function __construct( + public protected(set) string $kind, + public protected(set) string $id, + ) { + $this->handler = DefaultHandler::getInstance(); + } + + public static function build(string $k, string $i): string { + return "/nonexistent/gh22857b_{$k}_{$i}.dat"; + } + + public function step(): void { + $this->prev = $this->path; // FETCH_OBJ_R primes SIMPLE_GET on shared slot + self::$getterRan = false; // reset; flag now reflects only the FUNC_ARG read below + @file_get_contents($this->path); // FETCH_OBJ_FUNC_ARG consumes the primed bit + if (!self::$getterRan) { + throw new \RuntimeException('sibling-slot variant: getter did not run via FUNC_ARG'); + } + } +} + +$c2 = new Container2('alpha', 'beta'); +$c2->step(); +$c2->step(); +$c2->step(); + +echo "OK\n"; +?> +--EXPECT-- +OK diff -Nru php8.4-8.4.24/ext/opcache/tests/jit/gh22857_002.phpt php8.4-8.4.26/ext/opcache/tests/jit/gh22857_002.phpt --- php8.4-8.4.24/ext/opcache/tests/jit/gh22857_002.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/opcache/tests/jit/gh22857_002.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,47 @@ +--TEST-- +GH-22857 (reg-alloc): FETCH_OBJ_FUNC_ARG hook read must not lose register-held vars +--ENV-- +A=1 +--INI-- +opcache.enable=1 +opcache.enable_cli=1 +opcache.jit_buffer_size=64M +opcache.jit=1205 +opcache.jit_hot_func=1 +--FILE-- +prop, $a ? 1 : 2); + return $b + $c; +} + +if (getenv('A')) { + function g($a, $b) { + var_dump($b); + return $a; + } +} + +$c = new C(); +var_dump(f(1, $c)); +var_dump(f(1, $c)); + +?> +--EXPECT-- +int(1) +int(4) +int(1) +int(4) diff -Nru php8.4-8.4.24/ext/opcache/tests/jit/gh22915.phpt php8.4-8.4.26/ext/opcache/tests/jit/gh22915.phpt --- php8.4-8.4.24/ext/opcache/tests/jit/gh22915.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/opcache/tests/jit/gh22915.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,75 @@ +--TEST-- +GH-22915: compiled exit clobbers registers before saving +--EXTENSIONS-- +opcache +--INI-- +opcache.jit_max_side_traces=0 +opcache.jit_blacklist_side_trace=0 +--ENV-- +F=iter +--FILE-- +values = $values; + } + + public function rewind(): void {} + + public function valid(): bool { + return $this->position === 0; + } + + public function current(): mixed { + if (!isset($this->values[$this->position])) { + throw new Exception(); + } + + return $this->values[$this->position]; + } + + public function key(): mixed { + return $this->position; + } + + public function next(): void { + $this->position++; + } +} + +function iter(It $it) { + foreach ($it as $value) { + var_dump($value); + if (!$value instanceof stdClass) { + continue; + } + } +} + +echo "# First run\n"; +for ($i = 0; $i < 5; $i++) { + getenv('F')(new It([getenv('F')])); // non-immutable, packed array +} + +echo "# Second run\n"; +for ($i = 0; $i < 5; $i++) { + getenv('F')(new It([getenv('F'), 'map' => true])); // non-immutable, map, triggers exit +} + +?> +--EXPECT-- +# First run +string(4) "iter" +string(4) "iter" +string(4) "iter" +string(4) "iter" +string(4) "iter" +# Second run +string(4) "iter" +string(4) "iter" +string(4) "iter" +string(4) "iter" +string(4) "iter" diff -Nru php8.4-8.4.24/ext/opcache/zend_accelerator_module.c php8.4-8.4.26/ext/opcache/zend_accelerator_module.c --- php8.4-8.4.24/ext/opcache/zend_accelerator_module.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/opcache/zend_accelerator_module.c 2026-09-22 15:00:02.000000000 +0000 @@ -93,6 +93,15 @@ static ZEND_INI_MH(OnUpdateInternedStringsBuffer) { + if (accel_startup_ok) { + if (strcmp(sapi_module.name, "fpm-fcgi") == 0) { + zend_accel_error(ACCEL_LOG_WARNING, "opcache.interned_strings_buffer cannot be changed when OPcache is already set up. Are you using php_admin_value[opcache.interned_strings_buffer] in an individual pool's configuration?\n"); + } else { + zend_accel_error(ACCEL_LOG_WARNING, "opcache.interned_strings_buffer cannot be changed when OPcache is already set up.\n"); + } + return FAILURE; + } + zend_long *p = (zend_long *) ZEND_INI_GET_ADDR(); zend_long size = zend_ini_parse_quantity_warn(new_value, entry->name); diff -Nru php8.4-8.4.24/ext/opcache/zend_shared_alloc.c php8.4-8.4.26/ext/opcache/zend_shared_alloc.c --- php8.4-8.4.24/ext/opcache/zend_shared_alloc.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/opcache/zend_shared_alloc.c 2026-09-22 15:00:02.000000000 +0000 @@ -19,11 +19,11 @@ +----------------------------------------------------------------------+ */ -#if defined(__linux__) && defined(HAVE_MEMFD_CREATE) -# ifndef _GNU_SOURCE -# define _GNU_SOURCE +#if defined(__linux__) +# include +# if defined(HAVE_MEMFD_CREATE) +# include # endif -# include #endif #include @@ -55,6 +55,11 @@ /* pointer to globals allocated in SHM and shared across processes */ ZEND_EXT_API zend_smm_shared_globals *smm_shared_globals; +#ifdef ZTS +static MUTEX_T zts_protect_lock; +static uint32_t zts_unprotected_threads; +#endif + #ifndef ZEND_WIN32 #ifdef ZTS static MUTEX_T zts_lock; @@ -184,6 +189,11 @@ int res = ALLOC_FAILURE; int i; +#ifdef ZTS + zts_protect_lock = tsrm_mutex_alloc(); + zts_unprotected_threads = 0; +#endif + /* shared_free must be valid before we call zend_shared_alloc() * - make it temporarily point to a local variable */ @@ -338,6 +348,9 @@ tsrm_mutex_free(zts_lock); # endif #endif +#ifdef ZTS + tsrm_mutex_free(zts_protect_lock); +#endif } static size_t zend_shared_alloc_get_largest_free_block(void) @@ -625,25 +638,37 @@ void zend_accel_shared_protect(bool protected) { -#ifdef HAVE_MPROTECT +#if defined(HAVE_MPROTECT) || defined(ZEND_WIN32) int i; if (!smm_shared_globals) { return; } +# ifdef ZTS + /* Memory protection is process-wide, so overlapping writers must be tracked across threads. */ + tsrm_mutex_lock(zts_protect_lock); + if (protected) { + if (ZCG(unprotect_depth) && --ZCG(unprotect_depth) == 0) { + ZEND_ASSERT(zts_unprotected_threads > 0); + zts_unprotected_threads--; + } + if (zts_unprotected_threads) { + tsrm_mutex_unlock(zts_protect_lock); + return; + } + } else if (ZCG(unprotect_depth)++ == 0) { + zts_unprotected_threads++; + } +# endif + +# ifdef HAVE_MPROTECT const int mode = protected ? PROT_READ : PROT_READ|PROT_WRITE; for (i = 0; i < ZSMMG(shared_segments_count); i++) { mprotect(ZSMMG(shared_segments)[i]->p, ZSMMG(shared_segments)[i]->end, mode); } -#elif defined(ZEND_WIN32) - int i; - - if (!smm_shared_globals) { - return; - } - +# elif defined(ZEND_WIN32) const int mode = protected ? PAGE_READONLY : PAGE_READWRITE; for (i = 0; i < ZSMMG(shared_segments_count); i++) { @@ -652,6 +677,11 @@ zend_accel_error_noreturn(ACCEL_LOG_ERROR, "Failed to protect memory"); } } +# endif + +# ifdef ZTS + tsrm_mutex_unlock(zts_protect_lock); +# endif #endif } diff -Nru php8.4-8.4.24/ext/openssl/tests/GHSA-xr7j-rvgx-xq5p.phpt php8.4-8.4.26/ext/openssl/tests/GHSA-xr7j-rvgx-xq5p.phpt --- php8.4-8.4.24/ext/openssl/tests/GHSA-xr7j-rvgx-xq5p.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/openssl/tests/GHSA-xr7j-rvgx-xq5p.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,67 @@ +--TEST-- +GHSA-xr7j-rvgx-xq5p: OOB read in php_openssl_matches_wildcard_name() with overlapping wildcard prefix and suffix +--EXTENSIONS-- +openssl +--SKIPIF-- + +--FILE-- + [ + 'local_cert' => '%s', + ]]); + + $server = stream_socket_server($serverUri, $errno, $errstr, $serverFlags, $serverCtx); + phpt_notify_server_start($server); + + @stream_socket_accept($server, 1); + @stream_socket_accept($server, 1); +CODE; +$serverCode = sprintf($serverCode, $certFile); + +$clientCode = <<<'CODE' + $serverUri = "ssl://{{ ADDR }}"; + $clientFlags = STREAM_CLIENT_CONNECT; + $clientCtx = stream_context_create(['ssl' => [ + 'verify_peer' => false, + ]]); + + stream_context_set_option($clientCtx, 'ssl', 'peer_name', 'aaaa'); + var_dump(stream_socket_client($serverUri, $errno, $errstr, 1, $clientFlags, $clientCtx)); + + stream_context_set_option($clientCtx, 'ssl', 'peer_name', 'www.example.org'); + var_dump(stream_socket_client($serverUri, $errno, $errstr, 1, $clientFlags, $clientCtx)); +CODE; + +include 'CertificateGenerator.inc'; +$certificateGenerator = new CertificateGenerator(); +$certificateGenerator->saveNewCertAsFileWithKey('a*aaaa', $certFile, null, $san); + +include 'ServerClientTestCase.inc'; +ServerClientTestCase::getInstance()->run($clientCode, $serverCode); +?> +--CLEAN-- + +--EXPECTF-- +Warning: stream_socket_client(): Peer certificate subjectAltName did not match expected name `aaaa' in %s on line %d + +Warning: stream_socket_client(): Failed to enable crypto in %s on line %d + +Warning: stream_socket_client(): Unable to connect to ssl://127.0.0.1:%d (Unknown error) in %s on line %d +bool(false) + +Warning: stream_socket_client(): Peer certificate subjectAltName did not match expected name `www.example.org' in %s on line %d + +Warning: stream_socket_client(): Failed to enable crypto in %s on line %d + +Warning: stream_socket_client(): Unable to connect to ssl://127.0.0.1:%d (Unknown error) in %s on line %d +bool(false) diff -Nru php8.4-8.4.24/ext/openssl/tests/alpn_protocols_invalid.phpt php8.4-8.4.26/ext/openssl/tests/alpn_protocols_invalid.phpt --- php8.4-8.4.24/ext/openssl/tests/alpn_protocols_invalid.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/openssl/tests/alpn_protocols_invalid.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,49 @@ +--TEST-- +Setting an invalid TLS ALPN protocol list on a client stream fails +--EXTENSIONS-- +openssl +--SKIPIF-- += 3.0'); +?> +--FILE-- + ['alpn_protocols' => $protocols, 'verify_peer' => false], + 'stream' => $streamOptions, + ]); + $client = stream_socket_client("tcp://$address", $errno, $errstr, 1, STREAM_CLIENT_CONNECT, $context); + var_dump(stream_socket_enable_crypto($client, true, STREAM_CRYPTO_METHOD_TLS_CLIENT)); + fclose($client); +} + +foreach (['', ',', 'h2,', ',h2', 'h2,,http/1.1'] as $protocols) { + try_alpn($protocols, []); +} + +try_alpn('', []); +?> +--EXPECTF-- +Warning: stream_socket_enable_crypto(): Failed setting TLS ALPN protocols, protocol names must not be empty in %s on line %d +bool(false) + +Warning: stream_socket_enable_crypto(): Failed setting TLS ALPN protocols, protocol names must not be empty in %s on line %d +bool(false) + +Warning: stream_socket_enable_crypto(): Failed setting TLS ALPN protocols, protocol names must not be empty in %s on line %d +bool(false) + +Warning: stream_socket_enable_crypto(): Failed setting TLS ALPN protocols, protocol names must not be empty in %s on line %d +bool(false) + +Warning: stream_socket_enable_crypto(): Failed setting TLS ALPN protocols, protocol names must not be empty in %s on line %d +bool(false) + +Warning: stream_socket_enable_crypto(): Failed setting TLS ALPN protocols, protocol names must not be empty in %s on line %d +bool(false) diff -Nru php8.4-8.4.24/ext/openssl/tests/san_absent_cn_fallback.phpt php8.4-8.4.26/ext/openssl/tests/san_absent_cn_fallback.phpt --- php8.4-8.4.24/ext/openssl/tests/san_absent_cn_fallback.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/openssl/tests/san_absent_cn_fallback.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,61 @@ +--TEST-- +Peer verification falls back to CN when the certificate has no SAN +--EXTENSIONS-- +openssl +--SKIPIF-- + +--FILE-- + [ + 'local_cert' => '%s', + ]]); + + $server = stream_socket_server($serverUri, $errno, $errstr, $serverFlags, $serverCtx); + phpt_notify_server_start($server); + + @stream_socket_accept($server, 1); + @stream_socket_accept($server, 1); +CODE; +$serverCode = sprintf($serverCode, $certFile); + +$clientCode = <<<'CODE' + $serverUri = "ssl://{{ ADDR }}"; + $clientFlags = STREAM_CLIENT_CONNECT; + $clientCtx = stream_context_create(['ssl' => [ + 'verify_peer' => false, + ]]); + + stream_context_set_option($clientCtx, 'ssl', 'peer_name', 'cn.example.org'); + var_dump(stream_socket_client($serverUri, $errno, $errstr, 1, $clientFlags, $clientCtx)); + + stream_context_set_option($clientCtx, 'ssl', 'peer_name', 'other.example.org'); + var_dump(stream_socket_client($serverUri, $errno, $errstr, 1, $clientFlags, $clientCtx)); +CODE; + +include 'CertificateGenerator.inc'; +$certificateGenerator = new CertificateGenerator(); +$certificateGenerator->saveNewCertAsFileWithKey('cn.example.org', $certFile); + +include 'ServerClientTestCase.inc'; +ServerClientTestCase::getInstance()->run($clientCode, $serverCode); +?> +--CLEAN-- + +--EXPECTF-- +resource(%d) of type (stream) + +Warning: stream_socket_client(): Peer certificate CN=`cn.example.org' did not match expected CN=`other.example.org' in %s on line %d + +Warning: stream_socket_client(): Failed to enable crypto in %s on line %d + +Warning: stream_socket_client(): Unable to connect to ssl://127.0.0.1:%d (Unknown error) in %s on line %d +bool(false) diff -Nru php8.4-8.4.24/ext/openssl/tests/san_no_cn_fallback.phpt php8.4-8.4.26/ext/openssl/tests/san_no_cn_fallback.phpt --- php8.4-8.4.24/ext/openssl/tests/san_no_cn_fallback.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/openssl/tests/san_no_cn_fallback.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,64 @@ +--TEST-- +Peer verification does not fall back to CN when the certificate has a SAN +--EXTENSIONS-- +openssl +--SKIPIF-- + +--FILE-- + [ + 'local_cert' => '%s', + ]]); + + $server = stream_socket_server($serverUri, $errno, $errstr, $serverFlags, $serverCtx); + phpt_notify_server_start($server); + + @stream_socket_accept($server, 1); + @stream_socket_accept($server, 1); +CODE; +$serverCode = sprintf($serverCode, $certFile); + +$clientCode = <<<'CODE' + $serverUri = "ssl://{{ ADDR }}"; + $clientFlags = STREAM_CLIENT_CONNECT; + $clientCtx = stream_context_create(['ssl' => [ + 'verify_peer' => false, + ]]); + + // The SAN entry is matched as usual. + stream_context_set_option($clientCtx, 'ssl', 'peer_name', 'san.example.org'); + var_dump(stream_socket_client($serverUri, $errno, $errstr, 1, $clientFlags, $clientCtx)); + + // The CN must not be considered because the certificate presents a SAN. + stream_context_set_option($clientCtx, 'ssl', 'peer_name', 'cn.example.org'); + var_dump(stream_socket_client($serverUri, $errno, $errstr, 1, $clientFlags, $clientCtx)); +CODE; + +include 'CertificateGenerator.inc'; +$certificateGenerator = new CertificateGenerator(); +$certificateGenerator->saveNewCertAsFileWithKey( + 'cn.example.org', $certFile, null, 'DNS:san.example.org'); + +include 'ServerClientTestCase.inc'; +ServerClientTestCase::getInstance()->run($clientCode, $serverCode); +?> +--CLEAN-- + +--EXPECTF-- +resource(%d) of type (stream) + +Warning: stream_socket_client(): Peer certificate subjectAltName did not match expected name `cn.example.org' in %s on line %d + +Warning: stream_socket_client(): Failed to enable crypto in %s on line %d + +Warning: stream_socket_client(): Unable to connect to ssl://127.0.0.1:%d (Unknown error) in %s on line %d +bool(false) diff -Nru php8.4-8.4.24/ext/openssl/tests/san_peer_matching.phpt php8.4-8.4.26/ext/openssl/tests/san_peer_matching.phpt --- php8.4-8.4.24/ext/openssl/tests/san_peer_matching.phpt 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/openssl/tests/san_peer_matching.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -54,7 +54,7 @@ --EXPECTF-- resource(%d) of type (stream) -Warning: stream_socket_client(): Unable to locate peer certificate CN in %s on line %d +Warning: stream_socket_client(): Peer certificate subjectAltName did not match expected name `moar.example.org' in %s on line %d Warning: stream_socket_client(): Failed to enable crypto in %s on line %d diff -Nru php8.4-8.4.24/ext/openssl/tests/san_srv_no_cn_fallback.phpt php8.4-8.4.26/ext/openssl/tests/san_srv_no_cn_fallback.phpt --- php8.4-8.4.24/ext/openssl/tests/san_srv_no_cn_fallback.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/openssl/tests/san_srv_no_cn_fallback.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,57 @@ +--TEST-- +Peer verification does not fall back to CN when the certificate has an SRV-ID +--EXTENSIONS-- +openssl +--SKIPIF-- + +--FILE-- + [ + 'local_cert' => '%s', + ]]); + + $server = stream_socket_server($serverUri, $errno, $errstr, $serverFlags, $serverCtx); + phpt_notify_server_start($server); + + @stream_socket_accept($server, 1); +CODE; +$serverCode = sprintf($serverCode, $certFile); + +$clientCode = <<<'CODE' + $serverUri = "ssl://{{ ADDR }}"; + $clientFlags = STREAM_CLIENT_CONNECT; + $clientCtx = stream_context_create(['ssl' => [ + 'verify_peer' => false, + ]]); + + // The CN must not be considered because the certificate presents an SRV-ID. + stream_context_set_option($clientCtx, 'ssl', 'peer_name', 'cn.example.org'); + var_dump(stream_socket_client($serverUri, $errno, $errstr, 1, $clientFlags, $clientCtx)); +CODE; + +include 'CertificateGenerator.inc'; +$certificateGenerator = new CertificateGenerator(); +$certificateGenerator->saveNewCertAsFileWithKey( + 'cn.example.org', $certFile, null, 'otherName:1.3.6.1.5.5.7.8.7;IA5STRING:_https.san.example.org'); + +include 'ServerClientTestCase.inc'; +ServerClientTestCase::getInstance()->run($clientCode, $serverCode); +?> +--CLEAN-- + +--EXPECTF-- +Warning: stream_socket_client(): Peer certificate subjectAltName did not match expected name `cn.example.org' in %s on line %d + +Warning: stream_socket_client(): Failed to enable crypto in %s on line %d + +Warning: stream_socket_client(): Unable to connect to ssl://127.0.0.1:%d (Unknown error) in %s on line %d +bool(false) diff -Nru php8.4-8.4.24/ext/openssl/tests/san_uri_no_cn_fallback.phpt php8.4-8.4.26/ext/openssl/tests/san_uri_no_cn_fallback.phpt --- php8.4-8.4.24/ext/openssl/tests/san_uri_no_cn_fallback.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/openssl/tests/san_uri_no_cn_fallback.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,57 @@ +--TEST-- +Peer verification does not fall back to CN when the certificate has a URI-ID +--EXTENSIONS-- +openssl +--SKIPIF-- + +--FILE-- + [ + 'local_cert' => '%s', + ]]); + + $server = stream_socket_server($serverUri, $errno, $errstr, $serverFlags, $serverCtx); + phpt_notify_server_start($server); + + @stream_socket_accept($server, 1); +CODE; +$serverCode = sprintf($serverCode, $certFile); + +$clientCode = <<<'CODE' + $serverUri = "ssl://{{ ADDR }}"; + $clientFlags = STREAM_CLIENT_CONNECT; + $clientCtx = stream_context_create(['ssl' => [ + 'verify_peer' => false, + ]]); + + // The CN must not be considered because the certificate presents a URI-ID. + stream_context_set_option($clientCtx, 'ssl', 'peer_name', 'cn.example.org'); + var_dump(stream_socket_client($serverUri, $errno, $errstr, 1, $clientFlags, $clientCtx)); +CODE; + +include 'CertificateGenerator.inc'; +$certificateGenerator = new CertificateGenerator(); +$certificateGenerator->saveNewCertAsFileWithKey( + 'cn.example.org', $certFile, null, 'URI:https://san.example.org/x'); + +include 'ServerClientTestCase.inc'; +ServerClientTestCase::getInstance()->run($clientCode, $serverCode); +?> +--CLEAN-- + +--EXPECTF-- +Warning: stream_socket_client(): Peer certificate subjectAltName did not match expected name `cn.example.org' in %s on line %d + +Warning: stream_socket_client(): Failed to enable crypto in %s on line %d + +Warning: stream_socket_client(): Unable to connect to ssl://127.0.0.1:%d (Unknown error) in %s on line %d +bool(false) diff -Nru php8.4-8.4.24/ext/openssl/xp_ssl.c php8.4-8.4.26/ext/openssl/xp_ssl.c --- php8.4-8.4.24/ext/openssl/xp_ssl.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/openssl/xp_ssl.c 2026-09-22 15:00:02.000000000 +0000 @@ -414,8 +414,7 @@ static bool php_openssl_matches_wildcard_name(const char *subjectname, const char *certname) /* {{{ */ { const char *wildcard = NULL; - ptrdiff_t prefix_len; - size_t suffix_len, subject_len; + size_t prefix_len, suffix_len, subject_len; if (strcasecmp(subjectname, certname) == 0) { return 1; @@ -434,7 +433,7 @@ suffix_len = strlen(wildcard + 1); subject_len = strlen(subjectname); - if (suffix_len <= subject_len) { + if (suffix_len + prefix_len <= subject_len) { /* 2) suffix must match * 3) no . between prefix and suffix **/ @@ -446,7 +445,8 @@ } /* }}} */ -static bool php_openssl_matches_san_list(X509 *peer, const char *subject_name) /* {{{ */ +static bool php_openssl_matches_san_list( + X509 *peer, const char *subject_name, bool *has_service_id) { int i, len; unsigned char *cert_name = NULL; @@ -455,6 +455,8 @@ GENERAL_NAMES *alt_names = X509_get_ext_d2i(peer, NID_subject_alt_name, 0, 0); int alt_name_count = sk_GENERAL_NAME_num(alt_names); + *has_service_id = false; + #ifdef HAVE_IPV6_SAN /* detect if subject name is an IPv6 address and expand once if required */ char subject_name_ipv6_expanded[40]; @@ -472,6 +474,8 @@ GENERAL_NAME *san = sk_GENERAL_NAME_value(alt_names, i); if (san->type == GEN_DNS) { + *has_service_id = true; + if (ASN1_STRING_to_UTF8(&cert_name, san->d.dNSName) < 0) { /* TODO: warn ? */ continue; @@ -520,6 +524,16 @@ } } #endif + } else if (san->type == GEN_URI) { + *has_service_id = true; + } else if (san->type == GEN_OTHERNAME) { + char oid[32]; + + /* SRV-ID, matched by OID because NID_SRVName needs OpenSSL 3.0 */ + if (OBJ_obj2txt(oid, sizeof(oid), san->d.otherName->type_id, 1) > 0 + && strcmp(oid, "1.3.6.1.5.5.7.8.7") == 0) { + *has_service_id = true; + } } } @@ -527,7 +541,6 @@ return 0; } -/* }}} */ static bool php_openssl_matches_common_name(X509 *peer, const char *subject_name) /* {{{ */ { @@ -634,8 +647,16 @@ } if (peer_name) { - if (php_openssl_matches_san_list(peer, peer_name)) { + bool has_service_id = false; + + if (php_openssl_matches_san_list(peer, peer_name, &has_service_id)) { return SUCCESS; + } else if (has_service_id) { + /* CN must be ignored if the certificate presents a service identity. */ + php_error_docref(NULL, E_WARNING, + "Peer certificate subjectAltName did not match expected name `%s'", + peer_name); + return FAILURE; } else if (php_openssl_matches_common_name(peer, peer_name)) { return SUCCESS; } else { @@ -1775,7 +1796,13 @@ return FAILURE; } if (sslsock->is_client) { - SSL_CTX_set_alpn_protos(sslsock->ctx, alpn, alpn_len); + if (SSL_CTX_set_alpn_protos(sslsock->ctx, alpn, alpn_len)) { + php_error_docref(NULL, E_WARNING, "Failed setting TLS ALPN protocols, protocol names must not be empty"); + efree(alpn); + SSL_CTX_free(sslsock->ctx); + sslsock->ctx = NULL; + return FAILURE; + } } else { sslsock->alpn_ctx.data = (unsigned char *) pestrndup((const char*)alpn, alpn_len, php_stream_is_persistent(stream)); sslsock->alpn_ctx.len = alpn_len; diff -Nru php8.4-8.4.24/ext/pcre/php_pcre.c php8.4-8.4.26/ext/pcre/php_pcre.c --- php8.4-8.4.24/ext/pcre/php_pcre.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/pcre/php_pcre.c 2026-09-22 15:00:02.000000000 +0000 @@ -734,6 +734,8 @@ #ifdef PCRE2_UCP coptions |= PCRE2_UCP; #endif + /* The \C escape sequence is unsafe in PCRE2_UTF mode */ + coptions |= PCRE2_NEVER_BACKSLASH_C; break; case 'J': coptions |= PCRE2_DUPNAMES; break; @@ -787,8 +789,13 @@ if (key != regex) { zend_string_release_ex(key, 0); } - pcre2_get_error_message(errnumber, error, sizeof(error)); - php_error_docref(NULL,E_WARNING, "Compilation failed: %s at offset %zu", error, erroffset); + const char *err_msg = (const char*) error; + if (errnumber == PCRE2_ERROR_BACKSLASH_C_CALLER_DISABLED) { + err_msg = "using \\C is incompatible with the 'u' modifier"; + } else { + pcre2_get_error_message(errnumber, error, sizeof(error)); + } + php_error_docref(NULL,E_WARNING, "Compilation failed: %s at offset %zu", err_msg, erroffset); pcre_handle_exec_error(PCRE2_ERROR_INTERNAL); efree(pattern); return NULL; diff -Nru php8.4-8.4.24/ext/pcre/tests/gh21134.phpt php8.4-8.4.26/ext/pcre/tests/gh21134.phpt --- php8.4-8.4.24/ext/pcre/tests/gh21134.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/pcre/tests/gh21134.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,15 @@ +--TEST-- +GH-21134: ASan negative-size-param in preg_match_all() with \C + UTF-8 multibyte input +--CREDITS-- +vi3tL0u1s +--FILE-- + +--EXPECTF-- +Warning: preg_match_all(): Compilation failed: using \C is incompatible with the 'u' modifier at offset 6 in %s on line %d +bool(false) +NULL diff -Nru php8.4-8.4.24/ext/pdo/pdo_dbh.c php8.4-8.4.26/ext/pdo/pdo_dbh.c --- php8.4-8.4.24/ext/pdo/pdo_dbh.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/pdo/pdo_dbh.c 2026-09-22 15:00:02.000000000 +0000 @@ -411,9 +411,12 @@ /* is the connection still alive ? */ if (pdbh->methods->check_liveness && FAILURE == (pdbh->methods->check_liveness)(pdbh)) { - /* nope... need to kill it */ - pdbh->refcount--; - zend_list_close(le); + if (pdbh->refcount > 1) { + pdbh->refcount--; + zend_list_close(le); + } else { + zend_hash_str_del(&EG(persistent_list), hashkey, plen); + } pdbh = NULL; } } diff -Nru php8.4-8.4.24/ext/pdo/pdo_stmt.c php8.4-8.4.26/ext/pdo/pdo_stmt.c --- php8.4-8.4.24/ext/pdo/pdo_stmt.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/pdo/pdo_stmt.c 2026-09-22 15:00:02.000000000 +0000 @@ -1729,7 +1729,7 @@ ; } - stmt->default_fetch_type = PDO_FETCH_BOTH; + stmt->default_fetch_type = stmt->dbh->default_fetch_type; flags = mode & PDO_FETCH_FLAGS; @@ -1737,6 +1737,8 @@ return false; } + bool use_default = (mode & ~PDO_FETCH_FLAGS) == PDO_FETCH_USE_DEFAULT; + switch (mode & ~PDO_FETCH_FLAGS) { case PDO_FETCH_USE_DEFAULT: case PDO_FETCH_LAZY: @@ -1858,7 +1860,9 @@ return false; } - stmt->default_fetch_type = mode; + if (!use_default) { + stmt->default_fetch_type = mode; + } return true; } diff -Nru php8.4-8.4.24/ext/pdo_mysql/tests/persistent_liveness_evict.phpt php8.4-8.4.26/ext/pdo_mysql/tests/persistent_liveness_evict.phpt --- php8.4-8.4.24/ext/pdo_mysql/tests/persistent_liveness_evict.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/pdo_mysql/tests/persistent_liveness_evict.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,42 @@ +--TEST-- +Persistent reconnect after a dead cached handle does not leak the old pdo_dbh_t +--EXTENSIONS-- +pdo_mysql +--ENV-- +VALGRIND_OPTS=--leak-check=full +--SKIPIF-- + +--FILE-- + PDO::ERRMODE_EXCEPTION, + PDO::ATTR_PERSISTENT => true, +]; + +$cached = new PDO($dsn, $user, $pass, $opts); +$id = (int) $cached->query('SELECT CONNECTION_ID()')->fetchColumn(); +unset($cached); + +$killer = new PDO($dsn, $user, $pass, [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]); +$killer->exec('KILL ' . $id); +unset($killer); + +$next = new PDO($dsn, $user, $pass, $opts); +$nextId = (int) $next->query('SELECT CONNECTION_ID()')->fetchColumn(); +var_dump($nextId !== $id); +echo $next->query('SELECT 1')->fetchColumn(), "\n"; +?> +--EXPECT-- +bool(true) +1 diff -Nru php8.4-8.4.24/ext/pdo_odbc/odbc_stmt.c php8.4-8.4.26/ext/pdo_odbc/odbc_stmt.c --- php8.4-8.4.24/ext/pdo_odbc/odbc_stmt.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/pdo_odbc/odbc_stmt.c 2026-09-22 15:00:02.000000000 +0000 @@ -34,6 +34,7 @@ static int pdo_odbc_sqltype_is_unicode(pdo_odbc_stmt *S, SQLSMALLINT sqltype) { +#ifdef PHP_WIN32 if (!S->assume_utf8) return 0; switch (sqltype) { #ifdef SQL_WCHAR @@ -51,6 +52,9 @@ default: return 0; } +#else + return 0; +#endif } static int pdo_odbc_utf82ucs2(pdo_stmt_t *stmt, int is_unicode, const char *buf, @@ -133,6 +137,11 @@ } } +static void odbc_free_out_buffer(zval *el) +{ + efree(Z_PTR_P(el)); +} + static int odbc_stmt_dtor(pdo_stmt_t *stmt) { pdo_odbc_stmt *S = (pdo_odbc_stmt*)stmt->driver_data; @@ -153,11 +162,41 @@ if (S->convbuf) { efree(S->convbuf); } + if (S->out_buffers) { + zend_hash_destroy(S->out_buffers); + FREE_HASHTABLE(S->out_buffers); + } efree(S); return 1; } +static bool odbc_bind_param(pdo_stmt_t *stmt, struct pdo_bound_param_data *param) +{ + pdo_odbc_stmt *S = (pdo_odbc_stmt*)stmt->driver_data; + pdo_odbc_param *P = (pdo_odbc_param*)param->driver_data; + RETCODE rc; + + if (!P) { + return true; + } + + rc = SQLBindParameter(S->stmt, (SQLUSMALLINT) param->paramno+1, + P->paramtype, P->ctype, P->sqltype, P->precision, P->scale, + P->paramtype == SQL_PARAM_INPUT ? + (SQLPOINTER)param : + P->outbuf, + P->outbuf ? P->outbuflen : 0, + &P->len + ); + + if (rc == SQL_SUCCESS || rc == SQL_SUCCESS_WITH_INFO) { + return true; + } + pdo_odbc_stmt_error("SQLBindParameter"); + return false; +} + static int odbc_stmt_execute(pdo_stmt_t *stmt) { RETCODE rc, rc1; @@ -169,6 +208,24 @@ SQLCloseCursor(S->stmt); } + if (S->params_dirty) { + rc = SQLFreeStmt(S->stmt, SQL_RESET_PARAMS); + if (rc != SQL_SUCCESS && rc != SQL_SUCCESS_WITH_INFO) { + pdo_odbc_stmt_error("SQLFreeStmt: SQL_RESET_PARAMS"); + return 0; + } + if (stmt->bound_params) { + struct pdo_bound_param_data *param; + + ZEND_HASH_FOREACH_PTR(stmt->bound_params, param) { + if (!odbc_bind_param(stmt, param)) { + return 0; + } + } ZEND_HASH_FOREACH_END(); + } + S->params_dirty = false; + } + rc = SQLExecute(S->stmt); while (rc == SQL_NEED_DATA) { @@ -312,6 +369,7 @@ if (P) { efree(P); } + S->params_dirty = true; break; case PDO_PARAM_EVT_ALLOC: @@ -386,6 +444,11 @@ } P->outbuf = emalloc(P->len + (P->is_unicode ? 2:1)); P->outbuflen = P->len; + if (!S->out_buffers) { + ALLOC_HASHTABLE(S->out_buffers); + zend_hash_init(S->out_buffers, HT_MIN_SIZE, NULL, odbc_free_out_buffer, false); + } + zend_hash_next_index_insert_ptr(S->out_buffers, P->outbuf); } } @@ -394,20 +457,12 @@ return 0; } - rc = SQLBindParameter(S->stmt, (SQLUSMALLINT) param->paramno+1, - P->paramtype, ctype, sqltype, precision, scale, - P->paramtype == SQL_PARAM_INPUT ? - (SQLPOINTER)param : - P->outbuf, - P->len, - &P->len - ); - - if (rc == SQL_SUCCESS || rc == SQL_SUCCESS_WITH_INFO) { - return 1; - } - pdo_odbc_stmt_error("SQLBindParameter"); - return 0; + P->sqltype = sqltype; + P->ctype = ctype; + P->precision = precision; + P->scale = scale; + S->params_dirty = true; + return 1; } case PDO_PARAM_EVT_EXEC_PRE: @@ -497,7 +552,15 @@ break; } } else { - P->len = SQL_LEN_DATA_AT_EXEC(Z_STRLEN_P(parameter)); + zend_ulong ulen; + if (pdo_odbc_utf82ucs2(stmt, P->is_unicode, + Z_STRVAL_P(parameter), + Z_STRLEN_P(parameter), + &ulen) == PDO_ODBC_CONV_OK) { + P->len = SQL_LEN_DATA_AT_EXEC(ulen); + } else { + P->len = SQL_LEN_DATA_AT_EXEC(Z_STRLEN_P(parameter)); + } } } return 1; diff -Nru php8.4-8.4.24/ext/pdo_odbc/php_pdo_odbc_int.h php8.4-8.4.26/ext/pdo_odbc/php_pdo_odbc_int.h --- php8.4-8.4.24/ext/pdo_odbc/php_pdo_odbc_int.h 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/pdo_odbc/php_pdo_odbc_int.h 2026-09-22 15:00:02.000000000 +0000 @@ -145,16 +145,22 @@ pdo_odbc_errinfo einfo; char *convbuf; zend_ulong convbufsize; + HashTable *out_buffers; unsigned going_long:1; unsigned assume_utf8:1; + unsigned params_dirty:1; signed col_count:16; - unsigned _spare:14; + unsigned _spare:13; } pdo_odbc_stmt; typedef struct { SQLLEN len; SQLLEN outbuflen; SQLSMALLINT paramtype; + SQLSMALLINT sqltype; + SQLSMALLINT ctype; + SQLSMALLINT scale; + SQLULEN precision; char *outbuf; unsigned is_unicode:1; unsigned _spare:31; diff -Nru php8.4-8.4.24/ext/pdo_odbc/tests/bound_param_rebind.phpt php8.4-8.4.26/ext/pdo_odbc/tests/bound_param_rebind.phpt --- php8.4-8.4.24/ext/pdo_odbc/tests/bound_param_rebind.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/pdo_odbc/tests/bound_param_rebind.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,28 @@ +--TEST-- +pdo_odbc: a bound parameter does not leave a stale ODBC binding on re-execute +--EXTENSIONS-- +pdo_odbc +--SKIPIF-- + +--FILE-- +setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_SILENT); + +$stmt = $pdo->prepare('SELECT ? AS v'); +$v = 'bound'; +$stmt->bindParam(1, $v, PDO::PARAM_STR | PDO::PARAM_INPUT_OUTPUT, 256); +$stmt->execute(['from_array']); + +var_dump($stmt->fetch(PDO::FETCH_ASSOC)['v']); +?> +--EXPECT-- +string(10) "from_array" diff -Nru php8.4-8.4.24/ext/pdo_odbc/tests/gh23444.phpt php8.4-8.4.26/ext/pdo_odbc/tests/gh23444.phpt --- php8.4-8.4.24/ext/pdo_odbc/tests/gh23444.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/pdo_odbc/tests/gh23444.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,34 @@ +--TEST-- +GH-23444 (Unicode data is corrupted with ODBC_ATTR_ASSUME_UTF8) +--EXTENSIONS-- +pdo_odbc +--SKIPIF-- + +--FILE-- +exec("CREATE TABLE gh23444 (v NVARCHAR(100))"); + +// 13 bytes as UTF-8, so an unconverted parameter is an odd number of bytes +$string = "\u{6e2c}\u{8a66}\u{4e2d}\u{1f418}"; + +$db->setAttribute(PDO::ODBC_ATTR_ASSUME_UTF8, true); +$stmt = $db->prepare("INSERT INTO gh23444 VALUES(?)"); +$stmt->execute([$string]); + +$stmt = $db->prepare("SELECT v FROM gh23444 WHERE v = ?"); +$stmt->execute([$string]); +var_dump($stmt->fetchColumn() === $string); +?> +--CLEAN-- +exec("DROP TABLE IF EXISTS gh23444"); +?> +--EXPECT-- +bool(true) diff -Nru php8.4-8.4.24/ext/pdo_odbc/tests/output_param_leak.phpt php8.4-8.4.26/ext/pdo_odbc/tests/output_param_leak.phpt --- php8.4-8.4.24/ext/pdo_odbc/tests/output_param_leak.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/pdo_odbc/tests/output_param_leak.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,29 @@ +--TEST-- +pdo_odbc: bound output parameter buffer is released (no leak) +--EXTENSIONS-- +pdo_odbc +--SKIPIF-- + +--FILE-- +setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_SILENT); + +$stmt = $pdo->prepare('SELECT ? AS v'); +$var = 'seed'; +$stmt->bindParam(1, $var, PDO::PARAM_STR | PDO::PARAM_INPUT_OUTPUT, 256); +$stmt->execute(); +$row = $stmt->fetch(PDO::FETCH_ASSOC); + +var_dump($row['v']); +?> +--EXPECT-- +string(4) "seed" diff -Nru php8.4-8.4.24/ext/pdo_pgsql/config.m4 php8.4-8.4.26/ext/pdo_pgsql/config.m4 --- php8.4-8.4.24/ext/pdo_pgsql/config.m4 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/pdo_pgsql/config.m4 2026-09-22 15:00:02.000000000 +0000 @@ -25,6 +25,12 @@ or later).])],, [$PGSQL_LIBS]) + PHP_CHECK_LIBRARY([pq], [PQclosePortal], + [AC_DEFINE([HAVE_PQCLOSEPORTAL], [1], + [Define to 1 if libpq has the 'PQclosePortal' function (PostgreSQL 17 + or later).])],, + [$PGSQL_LIBS]) + PHP_CHECK_PDO_INCLUDES PHP_NEW_EXTENSION([pdo_pgsql], diff -Nru php8.4-8.4.24/ext/pdo_pgsql/config.w32 php8.4-8.4.26/ext/pdo_pgsql/config.w32 --- php8.4-8.4.24/ext/pdo_pgsql/config.w32 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/pdo_pgsql/config.w32 2026-09-22 15:00:02.000000000 +0000 @@ -9,6 +9,10 @@ AC_DEFINE('HAVE_PDO_PGSQL', 1, "Define to 1 if the PHP extension 'pdo_pgsql' is available."); + if (GREP_HEADER("libpq-fe.h", "PQclosePortal", PHP_PDO_PGSQL + "\\include;" + PHP_PHP_BUILD + "\\include\\pgsql;" + PHP_PHP_BUILD + "\\include\\libpq;")) { + AC_DEFINE('HAVE_PQCLOSEPORTAL', 1, "Define to 1 if libpq has the 'PQclosePortal' function (PostgreSQL 17 or later)."); + } + ADD_EXTENSION_DEP('pdo_pgsql', 'pdo'); ADD_MAKEFILE_FRAGMENT(); } else { diff -Nru php8.4-8.4.24/ext/pdo_pgsql/pgsql_statement.c php8.4-8.4.26/ext/pdo_pgsql/pgsql_statement.c --- php8.4-8.4.24/ext/pdo_pgsql/pgsql_statement.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/pdo_pgsql/pgsql_statement.c 2026-09-22 15:00:02.000000000 +0000 @@ -56,7 +56,47 @@ #define FLOAT8LABEL "float8" #define FLOAT8OID 701 +#ifndef HAVE_PQCLOSEPORTAL +static bool pdo_pgsql_try_cmd(const char *cmd, const char *ok_sqlstate, pdo_pgsql_db_handle *H) +{ + bool result = false; + char *q = NULL; + PGresult *res = NULL; + + PGTransactionStatusType status = PQtransactionStatus(H->server); + + switch (status) { + case PQTRANS_ACTIVE: + case PQTRANS_INERROR: + break; + case PQTRANS_INTRANS: /* failure must not abort the caller's transaction */ + /* PQexec does not run the statements following a failed one */ + spprintf(&q, 0, "SAVEPOINT pdo_pgsql_savepoint; %s; RELEASE SAVEPOINT pdo_pgsql_savepoint;", cmd); + res = PQexec(H->server, q); + if (PQresultStatus(res) != PGRES_COMMAND_OK) { + PQclear(PQexec(H->server, "ROLLBACK TO SAVEPOINT pdo_pgsql_savepoint; RELEASE SAVEPOINT pdo_pgsql_savepoint")); + } + + break; + default: + res = PQexec(H->server, cmd); + } + + if (PQresultStatus(res) == PGRES_COMMAND_OK) { + result = true; + } else if (res) { + const char *sqlstate = pdo_pgsql_sqlstate(res); + + result = sqlstate && !strcmp(sqlstate, ok_sqlstate); + } + + if (q) efree(q); + if (res) PQclear(res); + + return result; +} +#endif static int pgsql_stmt_dtor(pdo_stmt_t *stmt) { @@ -114,15 +154,16 @@ } if (S->cursor_name) { - if (server_obj_usable) { + if (S->is_cursor_declared && server_obj_usable) { pdo_pgsql_db_handle *H = S->H; - char *q = NULL; - PGresult *res; - +#ifndef HAVE_PQCLOSEPORTAL + char *q; spprintf(&q, 0, "CLOSE %s", S->cursor_name); - res = PQexec(H->server, q); + pdo_pgsql_try_cmd(q, "34000", H); /* 34000: invalid_cursor_name */ efree(q); - if (res) PQclear(res); +#else + PQclear(PQclosePortal(H->server, S->cursor_name)); +#endif } efree(S->cursor_name); S->cursor_name = NULL; @@ -156,10 +197,25 @@ if (S->cursor_name) { char *q = NULL; - if (S->is_prepared) { + if (S->is_cursor_declared) { +#ifndef HAVE_PQCLOSEPORTAL spprintf(&q, 0, "CLOSE %s", S->cursor_name); - PQclear(PQexec(H->server, q)); + + /* 34000: invalid_cursor_name */ + if (pdo_pgsql_try_cmd(q, "34000", H)) { + S->is_cursor_declared = false; + } + efree(q); +#else + PGresult *res = PQclosePortal(H->server, S->cursor_name); + + if (PQresultStatus(res) == PGRES_COMMAND_OK) { + S->is_cursor_declared = false; + } + + PQclear(res); +#endif } spprintf(&q, 0, "DECLARE %s SCROLL CURSOR WITH HOLD FOR %s", S->cursor_name, ZSTR_VAL(stmt->active_query_string)); @@ -175,7 +231,7 @@ PQclear(S->result); /* the cursor was declared correctly */ - S->is_prepared = 1; + S->is_cursor_declared = true; /* fetch to be able to get the number of tuples later, but don't advance the cursor pointer */ spprintf(&q, 0, "FETCH FORWARD 0 FROM %s", S->cursor_name); diff -Nru php8.4-8.4.24/ext/pdo_pgsql/php_pdo_pgsql_int.h php8.4-8.4.26/ext/pdo_pgsql/php_pdo_pgsql_int.h --- php8.4-8.4.24/ext/pdo_pgsql/php_pdo_pgsql_int.h 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/pdo_pgsql/php_pdo_pgsql_int.h 2026-09-22 15:00:02.000000000 +0000 @@ -68,6 +68,7 @@ Oid *param_types; int current_row; bool is_prepared; + bool is_cursor_declared; } pdo_pgsql_stmt; typedef struct { diff -Nru php8.4-8.4.24/ext/pdo_pgsql/tests/cursor_scroll_close_failed_before_redeclare.phpt php8.4-8.4.26/ext/pdo_pgsql/tests/cursor_scroll_close_failed_before_redeclare.phpt --- php8.4-8.4.24/ext/pdo_pgsql/tests/cursor_scroll_close_failed_before_redeclare.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/pdo_pgsql/tests/cursor_scroll_close_failed_before_redeclare.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,44 @@ +--TEST-- +PDO PgSQL PDO::CURSOR_SCROLL keeps track of a held cursor when the CLOSE before a re-declare fails +--EXTENSIONS-- +pdo_pgsql +--SKIPIF-- + +--FILE-- +setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); + +$stmt = $db->prepare('SELECT CAST(:v AS int)', [PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL]); +$stmt->execute([':v' => '1']); + +$db->beginTransaction(); + +try { + $db->exec('SELECT 1 / 0'); +} catch (PDOException $e) { + echo $e::class, ': ', $e->getCode(), PHP_EOL; +} + +try { + $stmt->execute([':v' => '2']); +} catch (PDOException $e) { + echo $e::class, ': ', $e->getCode(), PHP_EOL; +} + +$db->rollBack(); +unset($stmt); + +var_dump($db->query("SELECT count(*) FROM pg_cursors WHERE name LIKE 'pdo\_crsr\_%'")->fetchColumn()); + +?> +--EXPECT-- +PDOException: 22012 +PDOException: 25P02 +string(1) "0" diff -Nru php8.4-8.4.24/ext/pdo_pgsql/tests/cursor_scroll_discard_all.phpt php8.4-8.4.26/ext/pdo_pgsql/tests/cursor_scroll_discard_all.phpt --- php8.4-8.4.24/ext/pdo_pgsql/tests/cursor_scroll_discard_all.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/pdo_pgsql/tests/cursor_scroll_discard_all.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,37 @@ +--TEST-- +PDO PgSQL PDO::CURSOR_SCROLL cursor destroyed by DISCARD ALL does not break the transaction +--EXTENSIONS-- +pdo_pgsql +--SKIPIF-- + +--FILE-- +setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); + +$stmt = $db->prepare('SELECT 1', [PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL]); +$stmt->execute(); + +/* a connection pooler issues this when handing the connection back */ +$db->exec('DISCARD ALL'); + +$db->beginTransaction(); + +unset($stmt); + +echo $db->query('SELECT 2')->fetchColumn(), PHP_EOL; + +$db->rollBack(); + +echo 'Done', PHP_EOL; + +?> +--EXPECT-- +2 +Done diff -Nru php8.4-8.4.24/ext/pdo_pgsql/tests/cursor_scroll_failed_redeclare.phpt php8.4-8.4.26/ext/pdo_pgsql/tests/cursor_scroll_failed_redeclare.phpt --- php8.4-8.4.24/ext/pdo_pgsql/tests/cursor_scroll_failed_redeclare.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/pdo_pgsql/tests/cursor_scroll_failed_redeclare.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,37 @@ +--TEST-- +PDO PgSQL PDO::CURSOR_SCROLL sends no CLOSE after a failed re-declare +--EXTENSIONS-- +pdo_pgsql +--SKIPIF-- + +--FILE-- +setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); + +$stmt = $db->prepare('SELECT CAST(:v AS int)', [PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL]); +$stmt->execute([':v' => '1']); + +try { + $stmt->execute([':v' => 'not an int']); +} catch (PDOException $e) { + echo $e::class, ': ', $e->getCode(), PHP_EOL; +} + +$db->beginTransaction(); +unset($stmt); + +$db->exec('SELECT 2'); + +echo 'Done', PHP_EOL; + +?> +--EXPECT-- +PDOException: 22P02 +Done diff -Nru php8.4-8.4.24/ext/pdo_pgsql/tests/cursor_scroll_reexecute_after_rollback.phpt php8.4-8.4.26/ext/pdo_pgsql/tests/cursor_scroll_reexecute_after_rollback.phpt --- php8.4-8.4.24/ext/pdo_pgsql/tests/cursor_scroll_reexecute_after_rollback.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/pdo_pgsql/tests/cursor_scroll_reexecute_after_rollback.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,40 @@ +--TEST-- +PDO PgSQL PDO::CURSOR_SCROLL re-execute after a rollback destroyed the cursor +--EXTENSIONS-- +pdo_pgsql +--SKIPIF-- + +--FILE-- +setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); + +$db->beginTransaction(); + +$stmt = $db->prepare('SELECT 1', [PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL]); +$stmt->execute(); + +$db->rollBack(); + +$db->beginTransaction(); + +$stmt->execute(); +echo $stmt->fetchColumn(), PHP_EOL; + +echo $db->query('SELECT 2')->fetchColumn(), PHP_EOL; + +$db->rollBack(); + +echo 'Done', PHP_EOL; + +?> +--EXPECT-- +1 +2 +Done diff -Nru php8.4-8.4.24/ext/pdo_pgsql/tests/cursor_scroll_rollback_destroyed.phpt php8.4-8.4.26/ext/pdo_pgsql/tests/cursor_scroll_rollback_destroyed.phpt --- php8.4-8.4.24/ext/pdo_pgsql/tests/cursor_scroll_rollback_destroyed.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/pdo_pgsql/tests/cursor_scroll_rollback_destroyed.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,34 @@ +--TEST-- +PDO PgSQL PDO::CURSOR_SCROLL sends no CLOSE for a cursor a rollback already destroyed +--EXTENSIONS-- +pdo_pgsql +--SKIPIF-- + +--FILE-- +setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); + +$db->beginTransaction(); + +$stmt = $db->prepare('SELECT 1', [PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL]); +$stmt->execute(); + +$db->rollBack(); + +$db->beginTransaction(); +unset($stmt); + +$db->exec('SELECT 2'); + +echo 'Done', PHP_EOL; + +?> +--EXPECT-- +Done diff -Nru php8.4-8.4.24/ext/pdo_pgsql/tests/cursor_scroll_without_declare.phpt php8.4-8.4.26/ext/pdo_pgsql/tests/cursor_scroll_without_declare.phpt --- php8.4-8.4.24/ext/pdo_pgsql/tests/cursor_scroll_without_declare.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/pdo_pgsql/tests/cursor_scroll_without_declare.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,29 @@ +--TEST-- +PDO PgSQL PDO::CURSOR_SCROLL sends no CLOSE for a cursor it never declared +--EXTENSIONS-- +pdo_pgsql +--SKIPIF-- + +--FILE-- +setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); + +$db->beginTransaction(); + +$stmt = $db->prepare('SELECT 1', [PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL]); +unset($stmt); + +$db->exec('SELECT 2'); + +echo 'Done'; + +?> +--EXPECT-- +Done diff -Nru php8.4-8.4.24/ext/phar/phar.c php8.4-8.4.26/ext/phar/phar.c --- php8.4-8.4.24/ext/phar/phar.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/phar/phar.c 2026-09-22 15:00:02.000000000 +0000 @@ -1234,7 +1234,10 @@ } else { str = zend_string_init(entry.filename, entry.filename_len, 0); } - zend_hash_add_mem(&mydata->manifest, str, (void*)&entry, sizeof(phar_entry_info)); + if (!zend_hash_add_mem(&mydata->manifest, str, (void*)&entry, sizeof(phar_entry_info))) { + phar_metadata_tracker_free(&entry.metadata_tracker, entry.is_persistent); + pefree(entry.filename, entry.is_persistent); + } zend_string_release(str); } diff -Nru php8.4-8.4.24/ext/phar/phar_internal.h php8.4-8.4.26/ext/phar/phar_internal.h --- php8.4-8.4.24/ext/phar/phar_internal.h 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/phar/phar_internal.h 2026-09-22 15:00:02.000000000 +0000 @@ -84,8 +84,13 @@ #define TAR_FILE '0' #define TAR_LINK '1' #define TAR_SYMLINK '2' +#define TAR_CHAR '3' +#define TAR_BLOCK '4' #define TAR_DIR '5' +#define TAR_FIFO '6' #define TAR_NEW '8' +#define TAR_LONGLINK 'K' +#define TAR_LONGNAME 'L' #define TAR_GLOBAL_HDR 'g' #define TAR_FILE_HDR 'x' diff -Nru php8.4-8.4.24/ext/phar/tar.c php8.4-8.4.26/ext/phar/tar.c --- php8.4-8.4.24/ext/phar/tar.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/phar/tar.c 2026-09-22 15:00:02.000000000 +0000 @@ -38,6 +38,52 @@ } /* }}} */ +static bool phar_tar_type_has_data(char typeflag) +{ + switch (typeflag) { + case TAR_LINK: + case TAR_SYMLINK: + case TAR_CHAR: + case TAR_BLOCK: + case TAR_DIR: + case TAR_FIFO: + return false; + default: + return true; + } +} + +static bool phar_tar_size(const char *buf, size_t len, uint32_t *result) +{ + uint64_t num = 0; + size_t i = 0; + + while (i < len && buf[i] == ' ') { + ++i; + } + + /* GNU base-256 encoding is only used for sizes that do not fit the octal field */ + if (i < len && (((unsigned char) buf[i]) & 0x80)) { + return false; + } + + while (i < len && buf[i] >= '0' && buf[i] <= '7') { + num = num * 8 + (buf[i] - '0'); + ++i; + } + + while (i < len && (buf[i] == ' ' || buf[i] == '\0')) { + ++i; + } + + if (i != len || num > UINT32_MAX - 511) { + return false; + } + + *result = (uint32_t) num; + return true; +} + /* adapted from format_octal() in libarchive * * Copyright (c) 2003-2009 Tim Kientzle @@ -271,8 +317,32 @@ } } - size = entry.uncompressed_filesize = entry.compressed_filesize = - phar_tar_number(hdr->size, sizeof(hdr->size)); + if (!phar_tar_size(hdr->size, sizeof(hdr->size), &size)) { + if (error) { + spprintf(error, 4096, "phar error: \"%s\" is a corrupted tar file (invalid entry size)", fname); + } + if (last_was_longlink) { + pefree(entry.filename, myphar->is_persistent); + } + php_stream_close(fp); + phar_destroy_phar_data(myphar); + return FAILURE; + } + entry.uncompressed_filesize = entry.compressed_filesize = size; + + /* GNU long link names are not supported, so refuse the record instead of + * registering it as an entry and dropping the link target of the entry that follows */ + if (hdr->typeflag == TAR_LONGLINK) { + if (error) { + spprintf(error, 4096, "phar error: \"%s\" is a tar file with an unsupported GNU long link entry", fname); + } + if (last_was_longlink) { + pefree(entry.filename, myphar->is_persistent); + } + php_stream_close(fp); + phar_destroy_phar_data(myphar); + return FAILURE; + } /* skip global/file headers (pax) */ if (!old && (hdr->typeflag == TAR_GLOBAL_HDR || hdr->typeflag == TAR_FILE_HDR)) { @@ -360,13 +430,13 @@ goto bail; } - if (!last_was_longlink && hdr->typeflag == 'L') { + if (!last_was_longlink && hdr->typeflag == TAR_LONGNAME) { last_was_longlink = 1; /* support the ././@LongLink system for storing long filenames */ entry.filename_len = entry.uncompressed_filesize; /* Check for overflow - bug 61065 */ - if (entry.filename_len == UINT_MAX || entry.filename_len == 0) { + if (entry.filename_len == 0 || entry.filename_len > totalsize) { if (error) { spprintf(error, 4096, "phar error: \"%s\" is a corrupted tar file (invalid entry size)", fname); } @@ -577,7 +647,7 @@ size = (size+511)&~511; - if (((hdr->typeflag == '\0') || (hdr->typeflag == TAR_FILE)) && size > 0) { + if (phar_tar_type_has_data(hdr->typeflag) && size > 0) { next: /* this is not good enough - seek succeeds even on truncated tars */ php_stream_seek(fp, size, SEEK_CUR); diff -Nru php8.4-8.4.24/ext/phar/tests/gh23418.phpt php8.4-8.4.26/ext/phar/tests/gh23418.phpt --- php8.4-8.4.24/ext/phar/tests/gh23418.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/phar/tests/gh23418.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,32 @@ +--TEST-- +GH-23418: Access a subdirectory of a mounted directory with a trailing slash +--EXTENSIONS-- +phar +--INI-- +phar.readonly=0 +--FILE-- +addFromString('x.txt', 'x'); +$p->setStub(''); +unset($p); + +$p = new Phar($phar); +Phar::mount('phar://' . $phar . '/m', $mount); +$info = $p['m/s2/']; + +echo get_class($info), ', isDir=', $info->isDir() ? 'true' : 'false', PHP_EOL; +?> +--CLEAN-- + +--EXPECT-- +PharFileInfo, isDir=true diff -Nru php8.4-8.4.24/ext/phar/tests/gh23477.phpt php8.4-8.4.26/ext/phar/tests/gh23477.phpt --- php8.4-8.4.24/ext/phar/tests/gh23477.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/phar/tests/gh23477.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,39 @@ +--TEST-- +GH-23477 (Memory leak on duplicate native Phar manifest entry) +--EXTENSIONS-- +phar +--INI-- +phar.require_hash=0 +--FILE-- +\r\n"; + +function u32($value) { + return pack('V', $value); +} + +function entry($name, $data, $metadata) { + $header = u32(strlen($name)) . $name + . u32(strlen($data)) . u32(0) . u32(strlen($data)) + . u32(crc32($data)) . u32(0) + . u32(strlen($metadata)) . $metadata; + return [$header, $data]; +} + +$first = entry('a.txt', 'hello', 'i:1;'); +$second = entry('a.txt', 'world', 'i:2;'); +$manifest = u32(2) . "\x11\x00" . u32(0) . u32(0) . u32(0) + . $first[0] . $second[0]; + +file_put_contents(__DIR__ . '/gh23477.phar', + $stub . u32(strlen($manifest)) . $manifest . $first[1] . $second[1]); + +$phar = new Phar(__DIR__ . '/gh23477.phar'); +echo iterator_count($phar), "\n"; +?> +--CLEAN-- + +--EXPECT-- +1 diff -Nru php8.4-8.4.24/ext/phar/tests/tar/GHSA-j3wh-g957-2m85-longlink.phpt php8.4-8.4.26/ext/phar/tests/tar/GHSA-j3wh-g957-2m85-longlink.phpt --- php8.4-8.4.24/ext/phar/tests/tar/GHSA-j3wh-g957-2m85-longlink.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/phar/tests/tar/GHSA-j3wh-g957-2m85-longlink.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,50 @@ +--TEST-- +GHSA-j3wh-g957-2m85 (././@LongLink name longer than the archive) +--EXTENSIONS-- +phar +--INI-- +phar.require_hash=0 +--FILE-- += 148 && $i < 156) ? 0x20 : ord($header[$i]); + } + + return substr_replace($header, sprintf("%06o\0 ", $checksum), 148, 8); +} + +$fname = __DIR__ . '/' . basename(__FILE__, '.php') . '.tar'; + +/* 2 GB of file name announced by a 2 KB archive */ +$tar = tar_header('././@LongLink', "20000000000\0", 'L'); +$tar .= str_pad('long.txt', 512, "\0"); +$tar .= tar_header('short.txt', sprintf("%011o\0", 3)) . str_pad('abc', 512, "\0"); +$tar .= str_repeat("\0", 1024); +file_put_contents($fname, $tar); + +try { + new PharData($fname); +} catch (UnexpectedValueException $e) { + echo $e->getMessage(), "\n"; +} +?> +--CLEAN-- + +--EXPECTF-- +phar error: "%s" is a corrupted tar file (invalid entry size) diff -Nru php8.4-8.4.24/ext/phar/tests/tar/GHSA-j3wh-g957-2m85-size.phpt php8.4-8.4.26/ext/phar/tests/tar/GHSA-j3wh-g957-2m85-size.phpt --- php8.4-8.4.24/ext/phar/tests/tar/GHSA-j3wh-g957-2m85-size.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/phar/tests/tar/GHSA-j3wh-g957-2m85-size.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,92 @@ +--TEST-- +GHSA-j3wh-g957-2m85 (tar entry injection via invalid entry size) +--EXTENSIONS-- +phar +--INI-- +phar.require_hash=0 +--FILE-- += 148 && $i < 156) ? 0x20 : ord($header[$i]); + } + + return substr_replace($header, sprintf("%06o\0 ", $checksum), 148, 8); +} + +function tar_dump(string $fname): void +{ + try { + $phar = new PharData($fname); + $names = []; + foreach (new RecursiveIteratorIterator($phar) as $file) { + $names[] = $file->getFilename(); + } + sort($names); + echo implode(', ', $names), "\n"; + } catch (UnexpectedValueException $e) { + echo $e->getMessage(), "\n"; + } +} + +$base = __DIR__ . '/' . basename(__FILE__, '.php'); + +/* the entry after the carrier is never reached by a conforming tar reader */ +$sizes = [ + 'octal overflow to 0' => "40000000000\0", + 'octal overflow to 1' => "40000000001\0", + 'octal padding overflow' => "37777777400\0", + 'GNU base-256' => "\x80" . str_repeat("\0", 9) . "\x02\x00", + 'non-octal digits' => "99999999999\0", + 'trailing garbage' => "0000000001XX", +]; + +$i = 0; +foreach ($sizes as $label => $size) { + $fname = $base . '.' . $i++ . '.tar'; + $tar = tar_header('normal.txt', sprintf("%011o\0", 9)) . str_pad('NORMAL_OK', 512, "\0"); + $tar .= tar_header('carrier.bin', $size); + $tar .= tar_header('injected.txt', sprintf("%011o\0", 8)) . str_pad('INJECTED', 512, "\0"); + $tar .= str_repeat("\0", 1024); + file_put_contents($fname, $tar); + + echo $label, ': '; + tar_dump($fname); +} + +$fname = $base . '.valid.tar'; +$tar = tar_header('normal.txt', sprintf("%011o\0", 9)) . str_pad('NORMAL_OK', 512, "\0"); +$tar .= tar_header('second.txt', sprintf("%011o\0", 8)) . str_pad('SECOND__', 512, "\0"); +$tar .= str_repeat("\0", 1024); +file_put_contents($fname, $tar); + +echo 'valid archive: '; +tar_dump($fname); +?> +--CLEAN-- + +--EXPECTF-- +octal overflow to 0: phar error: "%s" is a corrupted tar file (invalid entry size) +octal overflow to 1: phar error: "%s" is a corrupted tar file (invalid entry size) +octal padding overflow: phar error: "%s" is a corrupted tar file (invalid entry size) +GNU base-256: phar error: "%s" is a corrupted tar file (invalid entry size) +non-octal digits: phar error: "%s" is a corrupted tar file (invalid entry size) +trailing garbage: phar error: "%s" is a corrupted tar file (invalid entry size) +valid archive: normal.txt, second.txt diff -Nru php8.4-8.4.24/ext/phar/tests/tar/GHSA-j3wh-g957-2m85-typeflag.phpt php8.4-8.4.26/ext/phar/tests/tar/GHSA-j3wh-g957-2m85-typeflag.phpt --- php8.4-8.4.24/ext/phar/tests/tar/GHSA-j3wh-g957-2m85-typeflag.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/phar/tests/tar/GHSA-j3wh-g957-2m85-typeflag.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,79 @@ +--TEST-- +GHSA-j3wh-g957-2m85 (tar entry injection via entry types that carry data) +--EXTENSIONS-- +phar +--INI-- +phar.require_hash=0 +--FILE-- += 148 && $i < 156) ? 0x20 : ord($header[$i]); + } + + return substr_replace($header, sprintf("%06o\0 ", $checksum), 148, 8); +} + +$base = __DIR__ . '/' . basename(__FILE__, '.php'); + +/* '5' and the other types below carry no data in any tar reader, so the + * injected header stays visible to all of them and is not hidden from + * anything that inspects the archive with a different implementation. + * 'K' is a GNU metadata record that is not supported and is refused. */ +$typeflags = [ + 'contiguous file' => '7', + 'unknown type' => 'Z', + 'GNU long link' => 'K', + 'directory' => '5', + 'fifo' => '6', +]; + +$i = 0; +foreach ($typeflags as $label => $typeflag) { + $fname = $base . '.' . $i++ . '.tar'; + $tar = tar_header('normal.txt', sprintf("%011o\0", 9)) . str_pad('NORMAL_OK', 512, "\0"); + $tar .= tar_header('carrier.bin', sprintf("%011o\0", 512), $typeflag); + /* the carrier's only data block is a tar header a conforming reader skips */ + $tar .= tar_header('injected.txt', sprintf("%011o\0", 0)); + $tar .= str_repeat("\0", 1024); + file_put_contents($fname, $tar); + + echo $label, ': '; + try { + $phar = new PharData($fname); + $names = []; + foreach (new RecursiveIteratorIterator($phar) as $file) { + $names[] = $file->getFilename(); + } + sort($names); + echo implode(', ', $names), "\n"; + } catch (UnexpectedValueException $e) { + echo $e->getMessage(), "\n"; + } +} +?> +--CLEAN-- + +--EXPECTF-- +contiguous file: carrier.bin, normal.txt +unknown type: carrier.bin, normal.txt +GNU long link: phar error: "%s" is a tar file with an unsupported GNU long link entry +directory: injected.txt, normal.txt +fifo: carrier.bin, injected.txt, normal.txt diff -Nru php8.4-8.4.24/ext/phar/util.c php8.4-8.4.26/ext/phar/util.c --- php8.4-8.4.24/ext/phar/util.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/phar/util.c 2026-09-22 15:00:02.000000000 +0000 @@ -1382,7 +1382,7 @@ if (ZSTR_LEN(str_key) >= path_len || strncmp(ZSTR_VAL(str_key), path, ZSTR_LEN(str_key))) { continue; } else { - char *test; + char *test, *mount_path; size_t test_len; php_stream_statbuf ssb; @@ -1425,22 +1425,25 @@ } /* mount the file just in time */ - if (SUCCESS != phar_mount_entry(phar, test, test_len, path, path_len)) { - efree(test); + mount_path = estrndup(path, path_len); + if (SUCCESS != phar_mount_entry(phar, test, test_len, mount_path, path_len)) { if (error) { spprintf(error, 4096, "phar error: path \"%s\" exists as file \"%s\" and could not be mounted", path, test); } + efree(mount_path); + efree(test); return NULL; } - - efree(test); + efree(mount_path); if (NULL == (entry = zend_hash_str_find_ptr(&phar->manifest, path, path_len))) { if (error) { spprintf(error, 4096, "phar error: path \"%s\" exists as file \"%s\" and could not be retrieved after being mounted", path, test); } + efree(test); return NULL; } + efree(test); return entry; } } ZEND_HASH_FOREACH_END(); diff -Nru php8.4-8.4.24/ext/readline/readline_cli.c php8.4-8.4.26/ext/readline/readline_cli.c --- php8.4-8.4.24/ext/readline/readline_cli.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/readline/readline_cli.c 2026-09-22 15:00:02.000000000 +0000 @@ -531,6 +531,7 @@ } else { char *lc_text; const char *class_name_end; + const char *constant_text = text; zend_string *class_name = NULL; zend_class_entry *ce = NULL; @@ -543,6 +544,7 @@ zend_string_release_ex(class_name, 0); return NULL; } + constant_text = class_name_end + 2; lc_text = zend_str_tolower_dup(class_name_end + 2, textlen - 2 - class_name_len); textlen -= (class_name_len + 2); } else { @@ -559,7 +561,7 @@ ZEND_FALLTHROUGH; case 2: case 3: - retval = cli_completion_generator_define(text, textlen, &cli_completion_state, ce ? &ce->constants_table : EG(zend_constants)); + retval = cli_completion_generator_define(constant_text, textlen, &cli_completion_state, ce ? &ce->constants_table : EG(zend_constants)); if (retval || ce) { break; } diff -Nru php8.4-8.4.24/ext/readline/tests/readline_cli_completion_class_constant.phpt php8.4-8.4.26/ext/readline/tests/readline_cli_completion_class_constant.phpt --- php8.4-8.4.24/ext/readline/tests/readline_cli_completion_class_constant.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/readline/tests/readline_cli_completion_class_constant.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,30 @@ +--TEST-- +Interactive shell: class constant completion +--EXTENSIONS-- +readline +--SKIPIF-- + +--FILE-- + +--EXPECTF-- +%AInteractive shell%AZED_OK%A diff -Nru php8.4-8.4.24/ext/reflection/php_reflection.c php8.4-8.4.26/ext/reflection/php_reflection.c --- php8.4-8.4.24/ext/reflection/php_reflection.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/reflection/php_reflection.c 2026-09-22 15:00:02.000000000 +0000 @@ -364,7 +364,7 @@ } smart_str_append_printf(str, "class "); } - smart_str_append_printf(str, "%s", ZSTR_VAL(ce->name)); + smart_str_append(str, ce->name); if (ce->parent) { smart_str_append_printf(str, " extends %s", ZSTR_VAL(ce->parent->name)); } @@ -904,7 +904,8 @@ if (fptr->op_array.fn_flags & ZEND_ACC_RETURN_REFERENCE) { smart_str_appendc(str, '&'); } - smart_str_append_printf(str, "%s ] {\n", ZSTR_VAL(fptr->common.function_name)); + smart_str_append(str, fptr->common.function_name); + smart_str_appends(str, " ] {\n"); /* The information where a function is declared is only available for user classes */ if (fptr->type == ZEND_USER_FUNCTION) { smart_str_append_printf(str, "%s @@ %s %d - %d\n", indent, @@ -1298,7 +1299,10 @@ if (name && (flags & REFLECTION_ATTRIBUTE_IS_INSTANCEOF)) { if (NULL == (base = zend_lookup_class(name))) { if (!EG(exception)) { - zend_throw_error(NULL, "Class \"%s\" not found", ZSTR_VAL(name)); + // %S is used for zend_string pointers by smart str printing, but normally + // is for wide character strings and so compilers complain if this is inline + const char *format = "Class \"%S\" not found"; + zend_throw_error(NULL, format, name); } RETURN_THROWS(); @@ -1704,8 +1708,11 @@ } if (fptr == NULL) { + // %S is used for zend_string pointers by smart str printing, but normally + // is for wide character strings and so compilers complain if this is inline + const char *format = "Function %S() does not exist"; zend_throw_exception_ex(reflection_exception_ptr, 0, - "Function %s() does not exist", ZSTR_VAL(fname)); + format, fname); RETURN_THROWS(); } } @@ -2522,8 +2529,11 @@ zend_string_release(lcname); } if (!fptr) { + // %S is used for zend_string pointers by smart str printing, but normally + // is for wide character strings and so compilers complain if this is inline + const char *format = "Function %S() does not exist"; zend_throw_exception_ex(reflection_exception_ptr, 0, - "Function %s() does not exist", Z_STRVAL_P(reference)); + format, Z_STR_P(reference)); RETURN_THROWS(); } ce = fptr->common.scope; @@ -2550,8 +2560,11 @@ return; } if ((ce = zend_lookup_class(name)) == NULL) { + // %S is used for zend_string pointers by smart str printing, but normally + // is for wide character strings and so compilers complain if this is inline + const char *format = "Class \"%S\" does not exist"; zend_throw_exception_ex(reflection_exception_ptr, 0, - "Class \"%s\" does not exist", ZSTR_VAL(name)); + format, name); zend_string_release(name); RETURN_THROWS(); } @@ -2570,8 +2583,11 @@ /* nothing to do. don't set is_closure since is the invoke handler, not the closure itself */ } else if ((fptr = zend_hash_find_ptr(&ce->function_table, lcname)) == NULL) { + // %S is used for zend_string pointers by smart str printing, but normally + // is for wide character strings and so compilers complain if this is inline + const char *format = "Method %S::%S() does not exist"; zend_throw_exception_ex(reflection_exception_ptr, 0, - "Method %s::%s() does not exist", ZSTR_VAL(ce->name), ZSTR_VAL(name)); + format, ce->name, name); zend_string_release(name); zend_string_release(lcname); RETURN_THROWS(); @@ -3327,7 +3343,7 @@ zend_object *orig_obj = NULL; zend_class_entry *ce = NULL; zend_string *class_name = NULL; - char *method_name; + const char *method_name; size_t method_name_len; char *lcname; @@ -3370,11 +3386,11 @@ method_name = ZSTR_VAL(arg2_str); method_name_len = ZSTR_LEN(arg2_str); } else { - char *tmp; + const char *tmp; size_t tmp_len; - char *name = ZSTR_VAL(arg1_str); + const char *name = ZSTR_VAL(arg1_str); - if ((tmp = strstr(name, "::")) == NULL) { + if ((tmp = zend_memnstr(name, "::", 2, name + ZSTR_LEN(arg1_str))) == NULL) { zend_argument_error(reflection_exception_ptr, 1, "must be a valid method name"); RETURN_THROWS(); } @@ -3388,7 +3404,10 @@ if (class_name) { if ((ce = zend_lookup_class(class_name)) == NULL) { if (!EG(exception)) { - zend_throw_exception_ex(reflection_exception_ptr, 0, "Class \"%s\" does not exist", ZSTR_VAL(class_name)); + // %S is used for zend_string pointers by smart str printing, but normally + // is for wide character strings and so compilers complain if this is inline + const char *format = "Class \"%S\" does not exist"; + zend_throw_exception_ex(reflection_exception_ptr, 0, format, class_name); } zend_string_release(class_name); RETURN_THROWS(); @@ -3400,7 +3419,10 @@ if (is_constructor) { object = ZEND_THIS; } else { - object_init_ex(return_value, execute_data->This.value.ce ? execute_data->This.value.ce : reflection_method_ptr); + zend_class_entry *called_ce = execute_data->This.value.ce ? execute_data->This.value.ce : reflection_method_ptr; + if (UNEXPECTED(object_init_ex(return_value, called_ce) != SUCCESS)) { + RETURN_THROWS(); + } object = return_value; } intern = Z_REFLECTION_P(object); @@ -3414,12 +3436,27 @@ /* do nothing, mptr already set */ } else if ((mptr = zend_hash_str_find_ptr(&ce->function_table, lcname, method_name_len)) == NULL) { efree(lcname); + // %S is used for zend_string pointers by smart str printing, but normally + // is for wide character strings and so compilers complain if this is inline + const char *format = "Method %S::%S() does not exist"; + ALLOCA_FLAG(use_heap); + zend_string *method_name_zstr; + ZSTR_ALLOCA_INIT(method_name_zstr, method_name, method_name_len, use_heap); zend_throw_exception_ex(reflection_exception_ptr, 0, - "Method %s::%s() does not exist", ZSTR_VAL(ce->name), method_name); + format, ce->name, method_name_zstr); + ZSTR_ALLOCA_FREE(method_name_zstr, use_heap); + RETURN_THROWS(); } efree(lcname); + if (intern->ptr) { + ZEND_ASSERT(is_constructor); + _free_function(intern->ptr); + zval_ptr_dtor(reflection_prop_name(object)); + zval_ptr_dtor(reflection_prop_class(object)); + } + ZVAL_STR_COPY(reflection_prop_name(object), mptr->common.function_name); ZVAL_STR_COPY(reflection_prop_class(object), mptr->common.scope->name); intern->ptr = mptr; @@ -3919,7 +3956,10 @@ ce = classname_obj->ce; } else { if ((ce = zend_lookup_class(classname_str)) == NULL) { - zend_throw_exception_ex(reflection_exception_ptr, 0, "Class \"%s\" does not exist", ZSTR_VAL(classname_str)); + // %S is used for zend_string pointers by smart str printing, but normally + // is for wide character strings and so compilers complain if this is inline + const char *format = "Class \"%S\" does not exist"; + zend_throw_exception_ex(reflection_exception_ptr, 0, format, classname_str); RETURN_THROWS(); } } @@ -3928,10 +3968,18 @@ intern = Z_REFLECTION_P(object); if ((constant = zend_hash_find_ptr(CE_CONSTANTS_TABLE(ce), constname)) == NULL) { - zend_throw_exception_ex(reflection_exception_ptr, 0, "Constant %s::%s does not exist", ZSTR_VAL(ce->name), ZSTR_VAL(constname)); + // %S is used for zend_string pointers by smart str printing, but normally + // is for wide character strings and so compilers complain if this is inline + const char *format = "Constant %S::%S does not exist"; + zend_throw_exception_ex(reflection_exception_ptr, 0, format, ce->name, constname); RETURN_THROWS(); } + if (intern->ptr) { + zval_ptr_dtor(reflection_prop_name(object)); + zval_ptr_dtor(reflection_prop_class(object)); + } + intern->ptr = constant; intern->ref_type = REF_TYPE_CLASS_CONSTANT; intern->ce = constant->ce; @@ -4208,7 +4256,10 @@ } else { if ((ce = zend_lookup_class(arg_class)) == NULL) { if (!EG(exception)) { - zend_throw_exception_ex(reflection_exception_ptr, -1, "Class \"%s\" does not exist", ZSTR_VAL(arg_class)); + // %S is used for zend_string pointers by smart str printing, but normally + // is for wide character strings and so compilers complain if this is inline + const char *format = "Class \"%S\" does not exist"; + zend_throw_exception_ex(reflection_exception_ptr, -1, format, arg_class); } RETURN_THROWS(); } @@ -4348,8 +4399,11 @@ RETURN_COPY(def_value); } + // %S is used for zend_string pointers by smart str printing, but normally + // is for wide character strings and so compilers complain if this is inline + const char *format = "Property %S::$%S does not exist"; zend_throw_exception_ex(reflection_exception_ptr, 0, - "Property %s::$%s does not exist", ZSTR_VAL(ce->name), ZSTR_VAL(name)); + format, ce->name, name); } /* }}} */ @@ -4377,8 +4431,11 @@ EG(fake_scope) = old_scope; if (!variable_ptr) { zend_clear_exception(); + // %S is used for zend_string pointers by smart str printing, but normally + // is for wide character strings and so compilers complain if this is inline + const char *format = "Class %S does not have a property named %S"; zend_throw_exception_ex(reflection_exception_ptr, 0, - "Class %s does not have a property named %s", ZSTR_VAL(ce->name), ZSTR_VAL(name)); + format, ce->name, name); RETURN_THROWS(); } @@ -4642,8 +4699,11 @@ } else if ((mptr = zend_hash_find_ptr(&ce->function_table, lc_name)) != NULL) { reflection_method_factory(ce, mptr, NULL, return_value); } else { + // %S is used for zend_string pointers by smart str printing, but normally + // is for wide character strings and so compilers complain if this is inline + const char *format = "Method %S::%S() does not exist"; zend_throw_exception_ex(reflection_exception_ptr, 0, - "Method %s::%s() does not exist", ZSTR_VAL(ce->name), ZSTR_VAL(name)); + format, ce->name, name); } zend_string_release(lc_name); } @@ -4747,7 +4807,7 @@ zend_class_entry *ce, *ce2; zend_property_info *property_info; zend_string *name, *classname; - char *tmp, *str_name; + const char *tmp, *str_name; size_t classname_len, str_name_len; if (zend_parse_parameters(ZEND_NUM_ARGS(), "S", &name) == FAILURE) { @@ -4769,7 +4829,9 @@ } } str_name = ZSTR_VAL(name); - if ((tmp = strstr(ZSTR_VAL(name), "::")) != NULL) { + bool fully_qualified = false; + if ((tmp = zend_memnstr(ZSTR_VAL(name), "::", 2, ZSTR_VAL(name) + ZSTR_LEN(name))) != NULL) { + fully_qualified = true; classname_len = tmp - ZSTR_VAL(name); classname = zend_string_init(ZSTR_VAL(name), classname_len, 0); str_name_len = ZSTR_LEN(name) - (classname_len + 2); @@ -4786,7 +4848,15 @@ zend_string_release_ex(classname, 0); if (!instanceof_function(ce, ce2)) { - zend_throw_exception_ex(reflection_exception_ptr, -1, "Fully qualified property name %s::$%s does not specify a base class of %s", ZSTR_VAL(ce2->name), str_name, ZSTR_VAL(ce->name)); + // %S is used for zend_string pointers by smart str printing, but normally + // is for wide character strings and so compilers complain if this is inline + const char *format = "Fully qualified property name %S::$%S does not specify a base class of %S"; + ALLOCA_FLAG(use_heap); + zend_string *prop_name_zstr; + ZSTR_ALLOCA_INIT(prop_name_zstr, str_name, str_name_len, use_heap); + zend_throw_exception_ex(reflection_exception_ptr, -1, format, ce2->name, prop_name_zstr, ce->name); + ZSTR_ALLOCA_FREE(prop_name_zstr, use_heap); + RETURN_THROWS(); } ce = ce2; @@ -4799,7 +4869,19 @@ return; } } - zend_throw_exception_ex(reflection_exception_ptr, 0, "Property %s::$%s does not exist", ZSTR_VAL(ce->name), str_name); + // %S is used for zend_string pointers by smart str printing, but normally + // is for wide character strings and so compilers complain if this is inline + const char *format = "Property %S::$%S does not exist"; + // Can only use the existing `name` string if it wasn't fully qualified + if (fully_qualified) { + ALLOCA_FLAG(use_heap); + zend_string *prop_name_zstr; + ZSTR_ALLOCA_INIT(prop_name_zstr, str_name, str_name_len, use_heap); + zend_throw_exception_ex(reflection_exception_ptr, 0, format, ce->name, prop_name_zstr); + ZSTR_ALLOCA_FREE(prop_name_zstr, use_heap); + } else { + zend_throw_exception_ex(reflection_exception_ptr, 0, format, ce->name, name); + } } /* }}} */ @@ -5665,7 +5747,10 @@ class_ce = argument->ptr; } else { if ((class_ce = zend_lookup_class(class_str)) == NULL) { - zend_throw_exception_ex(reflection_exception_ptr, 0, "Class \"%s\" does not exist", ZSTR_VAL(class_str)); + // %S is used for zend_string pointers by smart str printing, but normally + // is for wide character strings and so compilers complain if this is inline + const char *format = "Class \"%S\" does not exist"; + zend_throw_exception_ex(reflection_exception_ptr, 0, format, class_str); RETURN_THROWS(); } } @@ -5698,7 +5783,10 @@ interface_ce = argument->ptr; } else { if ((interface_ce = zend_lookup_class(interface_str)) == NULL) { - zend_throw_exception_ex(reflection_exception_ptr, 0, "Interface \"%s\" does not exist", ZSTR_VAL(interface_str)); + // %S is used for zend_string pointers by smart str printing, but normally + // is for wide character strings and so compilers complain if this is inline + const char *format = "Interface \"%S\" does not exist"; + zend_throw_exception_ex(reflection_exception_ptr, 0, format, interface_str); RETURN_THROWS(); } } @@ -5866,7 +5954,10 @@ ce = classname_obj->ce; } else { if ((ce = zend_lookup_class(classname_str)) == NULL) { - zend_throw_exception_ex(reflection_exception_ptr, 0, "Class \"%s\" does not exist", ZSTR_VAL(classname_str)); + // %S is used for zend_string pointers by smart str printing, but normally + // is for wide character strings and so compilers complain if this is inline + const char *format = "Class \"%S\" does not exist"; + zend_throw_exception_ex(reflection_exception_ptr, 0, format, classname_str); RETURN_THROWS(); } } @@ -5882,7 +5973,10 @@ } } if (dynam_prop == 0) { - zend_throw_exception_ex(reflection_exception_ptr, 0, "Property %s::$%s does not exist", ZSTR_VAL(ce->name), ZSTR_VAL(name)); + // %S is used for zend_string pointers by smart str printing, but normally + // is for wide character strings and so compilers complain if this is inline + const char *format = "Property %S::$%S does not exist"; + zend_throw_exception_ex(reflection_exception_ptr, 0, format, ce->name, name); RETURN_THROWS(); } } @@ -6244,13 +6338,17 @@ zend_property_info *prop, zend_string *unmangled_name, reflection_object *intern, zend_object *object, const char *method) { - if (!prop) { + if (!prop) { + // %S is used for zend_string pointers by smart str printing, but normally + // is for wide character strings and so compilers complain if this is inline + const char *format = "Can not use %s on dynamic property %S::$%S"; zend_throw_exception_ex(reflection_exception_ptr, 0, - "Can not use %s on dynamic property %s::$%s", - method, ZSTR_VAL(intern->ce->name), - ZSTR_VAL(unmangled_name)); + format, + method, intern->ce->name, + unmangled_name); return FAILURE; } + // Non-dynamic properties cannot have null bytes so %s is fine if (prop->flags & ZEND_ACC_STATIC) { zend_throw_exception_ex(reflection_exception_ptr, 0, @@ -6349,19 +6447,22 @@ Z_PARAM_OBJ_OF_CLASS(object, intern->ce) } ZEND_PARSE_PARAMETERS_END(); - if (reflection_property_check_lazy_compatible(ref->prop, - ref->unmangled_name, intern, object, - "skipLazyInitialization") == FAILURE) { - RETURN_THROWS(); - } - while (zend_object_is_lazy_proxy(object) && zend_lazy_object_initialized(object)) { object = zend_lazy_object_get_instance(object); } - zval *src = &object->ce->default_properties_table[OBJ_PROP_TO_NUM(ref->prop->offset)]; - zval *dst = OBJ_PROP(object, ref->prop->offset); + zend_property_info *prop = reflection_property_get_effective_prop(ref, + intern->ce, object); + + if (reflection_property_check_lazy_compatible(prop, + ref->unmangled_name, intern, object, + "skipLazyInitialization") == FAILURE) { + RETURN_THROWS(); + } + + zval *src = &object->ce->default_properties_table[OBJ_PROP_TO_NUM(prop->offset)]; + zval *dst = OBJ_PROP(object, prop->offset); if (!(Z_PROP_FLAG_P(dst) & IS_PROP_LAZY)) { /* skipLazyInitialization has no effect on non-lazy properties */ @@ -6393,16 +6494,19 @@ Z_PARAM_OBJ_OF_CLASS(object, intern->ce) } ZEND_PARSE_PARAMETERS_END(); - if (!ref->prop || ref->prop->flags & (ZEND_ACC_STATIC | ZEND_ACC_VIRTUAL)) { - RETURN_FALSE; - } - while (zend_object_is_lazy_proxy(object) && zend_lazy_object_initialized(object)) { object = zend_lazy_object_get_instance(object); } - RETURN_BOOL(Z_PROP_FLAG_P(OBJ_PROP(object, ref->prop->offset)) & IS_PROP_LAZY); + const zend_property_info *prop = reflection_property_get_effective_prop(ref, + intern->ce, object); + + if (!prop || prop->flags & (ZEND_ACC_STATIC | ZEND_ACC_VIRTUAL)) { + RETURN_FALSE; + } + + RETURN_BOOL(Z_PROP_FLAG_P(OBJ_PROP(object, prop->offset)) & IS_PROP_LAZY); } /* {{{ Returns true if property was initialized */ @@ -6761,22 +6865,24 @@ char *lcname; reflection_object *intern; zend_module_entry *module; - char *name_str; - size_t name_len; + zend_string *name_zstr; ALLOCA_FLAG(use_heap) - if (zend_parse_parameters(ZEND_NUM_ARGS(), "s", &name_str, &name_len) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "S", &name_zstr) == FAILURE) { RETURN_THROWS(); } object = ZEND_THIS; intern = Z_REFLECTION_P(object); - lcname = do_alloca(name_len + 1, use_heap); - zend_str_tolower_copy(lcname, name_str, name_len); - if ((module = zend_hash_str_find_ptr(&module_registry, lcname, name_len)) == NULL) { + lcname = do_alloca(ZSTR_LEN(name_zstr) + 1, use_heap); + zend_str_tolower_copy(lcname, ZSTR_VAL(name_zstr), ZSTR_LEN(name_zstr)); + if ((module = zend_hash_str_find_ptr(&module_registry, lcname, ZSTR_LEN(name_zstr))) == NULL) { free_alloca(lcname, use_heap); + // %S is used for zend_string pointers by smart str printing, but normally + // is for wide character strings and so compilers complain if this is inline + const char *format = "Extension \"%S\" does not exist"; zend_throw_exception_ex(reflection_exception_ptr, 0, - "Extension \"%s\" does not exist", name_str); + format, name_zstr); RETURN_THROWS(); } free_alloca(lcname, use_heap); @@ -7101,20 +7207,22 @@ zval *object; reflection_object *intern; zend_extension *extension; - char *name_str; - size_t name_len; + zend_string *name_zstr; - if (zend_parse_parameters(ZEND_NUM_ARGS(), "s", &name_str, &name_len) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "S", &name_zstr) == FAILURE) { RETURN_THROWS(); } object = ZEND_THIS; intern = Z_REFLECTION_P(object); - extension = zend_get_extension(name_str); + extension = zend_get_extension(ZSTR_VAL(name_zstr)); if (!extension) { + // %S is used for zend_string pointers by smart str printing, but normally + // is for wide character strings and so compilers complain if this is inline + const char *format = "Zend Extension \"%S\" does not exist"; zend_throw_exception_ex(reflection_exception_ptr, 0, - "Zend Extension \"%s\" does not exist", name_str); + format, name_zstr); RETURN_THROWS(); } ZVAL_STRING(reflection_prop_name(object), extension->name); @@ -7569,7 +7677,10 @@ zend_class_constant *constant = zend_hash_find_ptr(CE_CONSTANTS_TABLE(ce), name); if (constant == NULL) { - zend_throw_exception_ex(reflection_exception_ptr, 0, "Case %s::%s does not exist", ZSTR_VAL(ce->name), ZSTR_VAL(name)); + // %S is used for zend_string pointers by smart str printing, but normally + // is for wide character strings and so compilers complain if this is inline + const char *format = "Case %S::%S does not exist"; + zend_throw_exception_ex(reflection_exception_ptr, 0, format, ce->name, name); RETURN_THROWS(); } if (!(ZEND_CLASS_CONST_FLAGS(constant) & ZEND_CLASS_CONST_IS_CASE)) { @@ -7879,7 +7990,10 @@ zend_constant *const_ = zend_get_constant_ptr(lc_name); zend_string_release_ex(lc_name, /* persistent */ false); if (!const_) { - zend_throw_exception_ex(reflection_exception_ptr, 0, "Constant \"%s\" does not exist", ZSTR_VAL(name)); + // %S is used for zend_string pointers by smart str printing, but normally + // is for wide character strings and so compilers complain if this is inline + const char *format = "Constant \"%S\" does not exist"; + zend_throw_exception_ex(reflection_exception_ptr, 0, format, name); RETURN_THROWS(); } diff -Nru php8.4-8.4.24/ext/reflection/tests/ReflectionClassConstant_double_construct.phpt php8.4-8.4.26/ext/reflection/tests/ReflectionClassConstant_double_construct.phpt --- php8.4-8.4.24/ext/reflection/tests/ReflectionClassConstant_double_construct.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/reflection/tests/ReflectionClassConstant_double_construct.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,33 @@ +--TEST-- +ReflectionClassConstant double construct call does not leak $name and $class +--FILE-- +__construct(C::class, implode('', ['F', 'O', 'O'])); +} + +$r = new ReflectionClassConstant(C::class, 'FOO'); +for ($i = 0; $i < 10; $i++) { + test($r); +} + +$before = memory_get_usage(); +for ($i = 0; $i < 1000; $i++) { + test($r); +} +$after = memory_get_usage(); + +var_dump($before === $after); +var_dump($r->name, $r->class); + +?> +--EXPECT-- +bool(true) +string(3) "FOO" +string(1) "C" diff -Nru php8.4-8.4.24/ext/reflection/tests/ReflectionClass_getProperty_anonymous_class.phpt php8.4-8.4.26/ext/reflection/tests/ReflectionClass_getProperty_anonymous_class.phpt --- php8.4-8.4.24/ext/reflection/tests/ReflectionClass_getProperty_anonymous_class.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/reflection/tests/ReflectionClass_getProperty_anonymous_class.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,21 @@ +--TEST-- +ReflectionClass::getProperty() with a qualified anonymous class name +--FILE-- +getName(); +var_dump(str_contains($name, "\0")); + +$p = $reflector->getProperty($name . '::p'); +var_dump($p->getName(), $p->getValue($obj)); + +?> +--EXPECT-- +bool(true) +string(1) "p" +int(42) diff -Nru php8.4-8.4.24/ext/reflection/tests/ReflectionMethod_createFromMethodName_abstract.phpt php8.4-8.4.26/ext/reflection/tests/ReflectionMethod_createFromMethodName_abstract.phpt --- php8.4-8.4.24/ext/reflection/tests/ReflectionMethod_createFromMethodName_abstract.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/reflection/tests/ReflectionMethod_createFromMethodName_abstract.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,23 @@ +--TEST-- +ReflectionMethod::createFromMethodName() called on an abstract subclass +--FILE-- +getMessage(), PHP_EOL; +} + +var_dump(ReflectionMethod::createFromMethodName('C::a')->name); + +?> +--EXPECT-- +Error: Cannot instantiate abstract class R +string(1) "a" diff -Nru php8.4-8.4.24/ext/reflection/tests/ReflectionMethod_createFromMethodName_anonymous_class.phpt php8.4-8.4.26/ext/reflection/tests/ReflectionMethod_createFromMethodName_anonymous_class.phpt --- php8.4-8.4.24/ext/reflection/tests/ReflectionMethod_createFromMethodName_anonymous_class.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/reflection/tests/ReflectionMethod_createFromMethodName_anonymous_class.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,20 @@ +--TEST-- +ReflectionMethod::createFromMethodName() with an anonymous class name +--FILE-- +getName(); +var_dump(str_contains($name, "\0")); + +$m = ReflectionMethod::createFromMethodName($name . '::m'); +var_dump($m->getName(), $m->invoke($obj)); + +?> +--EXPECT-- +bool(true) +string(1) "m" +int(42) diff -Nru php8.4-8.4.24/ext/reflection/tests/ReflectionMethod_double_construct_closure.phpt php8.4-8.4.26/ext/reflection/tests/ReflectionMethod_double_construct_closure.phpt --- php8.4-8.4.24/ext/reflection/tests/ReflectionMethod_double_construct_closure.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/reflection/tests/ReflectionMethod_double_construct_closure.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,28 @@ +--TEST-- +ReflectionMethod double construct call on Closure::__invoke() does not leak +--FILE-- +__construct(function () {}, '__invoke'); +} + +$r = new ReflectionMethod(function () {}, '__invoke'); +for ($i = 0; $i < 10; $i++) { + test($r); +} + +$before = memory_get_usage(); +for ($i = 0; $i < 1000; $i++) { + test($r); +} +$after = memory_get_usage(); + +var_dump($before === $after); +var_dump($r->name, $r->class); + +?> +--EXPECT-- +bool(true) +string(8) "__invoke" +string(7) "Closure" diff -Nru php8.4-8.4.24/ext/reflection/tests/gh22681/ReflectionClass_name.phpt php8.4-8.4.26/ext/reflection/tests/gh22681/ReflectionClass_name.phpt --- php8.4-8.4.24/ext/reflection/tests/gh22681/ReflectionClass_name.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/reflection/tests/gh22681/ReflectionClass_name.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,32 @@ +--TEST-- +GH-22681: null bytes in name truncate ReflectionClass::__toString() +--FILE-- +getName() ); + +?> +--EXPECTF-- +Class [ class class@anonymous%0%s ] { + @@ %s %d-%d + + - Constants [0] { + } + + - Static properties [0] { + } + + - Static methods [0] { + } + + - Properties [0] { + } + + - Methods [0] { + } +} +string(%d) "class@anonymous%0%s" diff -Nru php8.4-8.4.24/ext/reflection/tests/gh22681/ReflectionFunctionAbstract_name.phpt php8.4-8.4.26/ext/reflection/tests/gh22681/ReflectionFunctionAbstract_name.phpt --- php8.4-8.4.24/ext/reflection/tests/gh22681/ReflectionFunctionAbstract_name.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/reflection/tests/gh22681/ReflectionFunctionAbstract_name.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,21 @@ +--TEST-- +GH-22681: null bytes in name truncate ReflectionFunction::__toString() +--FILE-- +make()); +echo $r; +var_dump( $r->getName() ); + +?> +--EXPECTF-- +Closure [ public method {closure:class@anonymous%0%s::make():%d} ] { + @@ %s %d - %d +} +string(%d) "{closure:class@anonymous%0%s::make():%d}" diff -Nru php8.4-8.4.24/ext/reflection/tests/gh22905/ReflectionClassConstant_construct_class.phpt php8.4-8.4.26/ext/reflection/tests/gh22905/ReflectionClassConstant_construct_class.phpt --- php8.4-8.4.24/ext/reflection/tests/gh22905/ReflectionClassConstant_construct_class.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/reflection/tests/gh22905/ReflectionClassConstant_construct_class.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,14 @@ +--TEST-- +GH-22905: null bytes in ReflectionClassConstant::__construct() error messages (class name) +--FILE-- + +--EXPECTF-- +Fatal error: Uncaught ReflectionException: Class "foo%0bar" does not exist in %s:%d +Stack trace: +#0 %s(%d): ReflectionClassConstant->__construct('foo\x00bar', '') +#1 {main} + thrown in %s on line %d diff -Nru php8.4-8.4.24/ext/reflection/tests/gh22905/ReflectionClassConstant_construct_constant.phpt php8.4-8.4.26/ext/reflection/tests/gh22905/ReflectionClassConstant_construct_constant.phpt --- php8.4-8.4.24/ext/reflection/tests/gh22905/ReflectionClassConstant_construct_constant.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/reflection/tests/gh22905/ReflectionClassConstant_construct_constant.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,15 @@ +--TEST-- +GH-22905: null bytes in ReflectionClassConstant::__construct() error messages (constant name) +--FILE-- + +--EXPECTF-- +Fatal error: Uncaught ReflectionException: Constant Demo::foo%0bar does not exist in %s:%d +Stack trace: +#0 %s(%d): ReflectionClassConstant->__construct('Demo', 'foo\x00bar') +#1 {main} + thrown in %s on line %d diff -Nru php8.4-8.4.24/ext/reflection/tests/gh22905/ReflectionClass_construct.phpt php8.4-8.4.26/ext/reflection/tests/gh22905/ReflectionClass_construct.phpt --- php8.4-8.4.24/ext/reflection/tests/gh22905/ReflectionClass_construct.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/reflection/tests/gh22905/ReflectionClass_construct.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,14 @@ +--TEST-- +GH-22905: null bytes in ReflectionClass::__construct() error messages +--FILE-- + +--EXPECTF-- +Fatal error: Uncaught ReflectionException: Class "foo%0bar" does not exist in %s:%d +Stack trace: +#0 %s(%d): ReflectionClass->__construct('foo\x00bar') +#1 {main} + thrown in %s on line %d diff -Nru php8.4-8.4.24/ext/reflection/tests/gh22905/ReflectionClass_getMethod.phpt php8.4-8.4.26/ext/reflection/tests/gh22905/ReflectionClass_getMethod.phpt --- php8.4-8.4.24/ext/reflection/tests/gh22905/ReflectionClass_getMethod.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/reflection/tests/gh22905/ReflectionClass_getMethod.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,16 @@ +--TEST-- +GH-22905: null bytes in ReflectionClass::getMethod() error messages +--FILE-- +getMethod("foo\0bar"); + +?> +--EXPECTF-- +Fatal error: Uncaught ReflectionException: Method Demo::foo%0bar() does not exist in %s:%d +Stack trace: +#0 %s(%d): ReflectionClass->getMethod('foo\x00bar') +#1 {main} + thrown in %s on line %d diff -Nru php8.4-8.4.24/ext/reflection/tests/gh22905/ReflectionClass_getProperty.phpt php8.4-8.4.26/ext/reflection/tests/gh22905/ReflectionClass_getProperty.phpt --- php8.4-8.4.24/ext/reflection/tests/gh22905/ReflectionClass_getProperty.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/reflection/tests/gh22905/ReflectionClass_getProperty.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,16 @@ +--TEST-- +GH-22905: null bytes in ReflectionClass::getProperty() error messages +--FILE-- +getProperty("foo\0bar"); + +?> +--EXPECTF-- +Fatal error: Uncaught ReflectionException: Property Demo::$foo%0bar does not exist in %s:%d +Stack trace: +#0 %s(%d): ReflectionClass->getProperty('foo\x00bar') +#1 {main} + thrown in %s on line %d diff -Nru php8.4-8.4.24/ext/reflection/tests/gh22905/ReflectionClass_getProperty_qualified_base.phpt php8.4-8.4.26/ext/reflection/tests/gh22905/ReflectionClass_getProperty_qualified_base.phpt --- php8.4-8.4.24/ext/reflection/tests/gh22905/ReflectionClass_getProperty_qualified_base.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/reflection/tests/gh22905/ReflectionClass_getProperty_qualified_base.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,17 @@ +--TEST-- +GH-22905: null bytes in ReflectionClass::getProperty() (fully qualified, base class) error messages +--FILE-- +getProperty("Base::foo\0bar"); + +?> +--EXPECTF-- +Fatal error: Uncaught ReflectionException: Property Base::$foo%0bar does not exist in %s:%d +Stack trace: +#0 %s(%d): ReflectionClass->getProperty('Base::foo\x00bar') +#1 {main} + thrown in %s on line %d diff -Nru php8.4-8.4.24/ext/reflection/tests/gh22905/ReflectionClass_getProperty_qualified_nobase.phpt php8.4-8.4.26/ext/reflection/tests/gh22905/ReflectionClass_getProperty_qualified_nobase.phpt --- php8.4-8.4.24/ext/reflection/tests/gh22905/ReflectionClass_getProperty_qualified_nobase.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/reflection/tests/gh22905/ReflectionClass_getProperty_qualified_nobase.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,17 @@ +--TEST-- +GH-22905: null bytes in ReflectionClass::getProperty() (fully qualified, non-base class) error messages +--FILE-- +getProperty("Base::foo\0bar"); + +?> +--EXPECTF-- +Fatal error: Uncaught ReflectionException: Fully qualified property name Base::$foo%0bar does not specify a base class of Demo in %s:%d +Stack trace: +#0 %s(%d): ReflectionClass->getProperty('Base::foo\x00bar') +#1 {main} + thrown in %s on line %d diff -Nru php8.4-8.4.24/ext/reflection/tests/gh22905/ReflectionClass_getStaticPropertyValue.phpt php8.4-8.4.26/ext/reflection/tests/gh22905/ReflectionClass_getStaticPropertyValue.phpt --- php8.4-8.4.24/ext/reflection/tests/gh22905/ReflectionClass_getStaticPropertyValue.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/reflection/tests/gh22905/ReflectionClass_getStaticPropertyValue.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,16 @@ +--TEST-- +GH-22905: null bytes in ReflectionClass::getStaticPropertyValue() error messages +--FILE-- +getStaticPropertyValue("foo\0bar"); + +?> +--EXPECTF-- +Fatal error: Uncaught ReflectionException: Property Demo::$foo%0bar does not exist in %s:%d +Stack trace: +#0 %s(%d): ReflectionClass->getStaticPropertyValue('foo\x00bar') +#1 {main} + thrown in %s on line %d diff -Nru php8.4-8.4.24/ext/reflection/tests/gh22905/ReflectionClass_implementsInterface.phpt php8.4-8.4.26/ext/reflection/tests/gh22905/ReflectionClass_implementsInterface.phpt --- php8.4-8.4.24/ext/reflection/tests/gh22905/ReflectionClass_implementsInterface.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/reflection/tests/gh22905/ReflectionClass_implementsInterface.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,16 @@ +--TEST-- +GH-22905: null bytes in ReflectionClass::implementsInterface() error messages +--FILE-- +implementsInterface("foo\0bar"); + +?> +--EXPECTF-- +Fatal error: Uncaught ReflectionException: Interface "foo%0bar" does not exist in %s:%d +Stack trace: +#0 %s(%d): ReflectionClass->implementsInterface('foo\x00bar') +#1 {main} + thrown in %s on line %d diff -Nru php8.4-8.4.24/ext/reflection/tests/gh22905/ReflectionClass_isSubclassOf.phpt php8.4-8.4.26/ext/reflection/tests/gh22905/ReflectionClass_isSubclassOf.phpt --- php8.4-8.4.24/ext/reflection/tests/gh22905/ReflectionClass_isSubclassOf.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/reflection/tests/gh22905/ReflectionClass_isSubclassOf.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,16 @@ +--TEST-- +GH-22905: null bytes in ReflectionClass::isSubclassOf() error messages +--FILE-- +isSubclassOf("foo\0bar"); + +?> +--EXPECTF-- +Fatal error: Uncaught ReflectionException: Class "foo%0bar" does not exist in %s:%d +Stack trace: +#0 %s(%d): ReflectionClass->isSubclassOf('foo\x00bar') +#1 {main} + thrown in %s on line %d diff -Nru php8.4-8.4.24/ext/reflection/tests/gh22905/ReflectionClass_setStaticPropertyValue.phpt php8.4-8.4.26/ext/reflection/tests/gh22905/ReflectionClass_setStaticPropertyValue.phpt --- php8.4-8.4.24/ext/reflection/tests/gh22905/ReflectionClass_setStaticPropertyValue.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/reflection/tests/gh22905/ReflectionClass_setStaticPropertyValue.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,16 @@ +--TEST-- +GH-22905: null bytes in ReflectionClass::setStaticPropertyValue() error messages +--FILE-- +setStaticPropertyValue("foo\0bar", 123); + +?> +--EXPECTF-- +Fatal error: Uncaught ReflectionException: Class Demo does not have a property named foo%0bar in %s:%d +Stack trace: +#0 %s(%d): ReflectionClass->setStaticPropertyValue('foo\x00bar', 123) +#1 {main} + thrown in %s on line %d diff -Nru php8.4-8.4.24/ext/reflection/tests/gh22905/ReflectionConstant_construct.phpt php8.4-8.4.26/ext/reflection/tests/gh22905/ReflectionConstant_construct.phpt --- php8.4-8.4.24/ext/reflection/tests/gh22905/ReflectionConstant_construct.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/reflection/tests/gh22905/ReflectionConstant_construct.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,14 @@ +--TEST-- +GH-22905: null bytes in ReflectionConstant::__construct() error messages +--FILE-- + +--EXPECTF-- +Fatal error: Uncaught ReflectionException: Constant "foo%0bar" does not exist in %s:%d +Stack trace: +#0 %s(%d): ReflectionConstant->__construct('foo\x00bar') +#1 {main} + thrown in %s on line %d diff -Nru php8.4-8.4.24/ext/reflection/tests/gh22905/ReflectionEnum_getCase.phpt php8.4-8.4.26/ext/reflection/tests/gh22905/ReflectionEnum_getCase.phpt --- php8.4-8.4.24/ext/reflection/tests/gh22905/ReflectionEnum_getCase.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/reflection/tests/gh22905/ReflectionEnum_getCase.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,16 @@ +--TEST-- +GH-22905: null bytes in ReflectionEnum::getCase() error messages +--FILE-- +getCase("foo\0bar"); + +?> +--EXPECTF-- +Fatal error: Uncaught ReflectionException: Case Demo::foo%0bar does not exist in %s:%d +Stack trace: +#0 %s(%d): ReflectionEnum->getCase('foo\x00bar') +#1 {main} + thrown in %s on line %d diff -Nru php8.4-8.4.24/ext/reflection/tests/gh22905/ReflectionExtension_construct.phpt php8.4-8.4.26/ext/reflection/tests/gh22905/ReflectionExtension_construct.phpt --- php8.4-8.4.24/ext/reflection/tests/gh22905/ReflectionExtension_construct.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/reflection/tests/gh22905/ReflectionExtension_construct.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,14 @@ +--TEST-- +GH-22905: null bytes in ReflectionExtension::__construct() error messages +--FILE-- + +--EXPECTF-- +Fatal error: Uncaught ReflectionException: Extension "foo%0bar" does not exist in %s:%d +Stack trace: +#0 %s(%d): ReflectionExtension->__construct('foo\x00bar') +#1 {main} + thrown in %s on line %d diff -Nru php8.4-8.4.24/ext/reflection/tests/gh22905/ReflectionFunction_construct.phpt php8.4-8.4.26/ext/reflection/tests/gh22905/ReflectionFunction_construct.phpt --- php8.4-8.4.24/ext/reflection/tests/gh22905/ReflectionFunction_construct.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/reflection/tests/gh22905/ReflectionFunction_construct.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,14 @@ +--TEST-- +GH-22905: null bytes in ReflectionFunction::__construct() error messages +--FILE-- + +--EXPECTF-- +Fatal error: Uncaught ReflectionException: Function foo%0bar() does not exist in %s:%d +Stack trace: +#0 %s(%d): ReflectionFunction->__construct('foo\x00bar') +#1 {main} + thrown in %s on line %d diff -Nru php8.4-8.4.24/ext/reflection/tests/gh22905/ReflectionMethod_construct_class.phpt php8.4-8.4.26/ext/reflection/tests/gh22905/ReflectionMethod_construct_class.phpt --- php8.4-8.4.24/ext/reflection/tests/gh22905/ReflectionMethod_construct_class.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/reflection/tests/gh22905/ReflectionMethod_construct_class.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,14 @@ +--TEST-- +GH-22905: null bytes in ReflectionMethod::__construct() error messages (class name) +--FILE-- + +--EXPECTF-- +Fatal error: Uncaught ReflectionException: Class "foo%0bar" does not exist in %s:%d +Stack trace: +#0 %s(%d): ReflectionMethod->__construct('foo\x00bar', '') +#1 {main} + thrown in %s on line %d diff -Nru php8.4-8.4.24/ext/reflection/tests/gh22905/ReflectionMethod_construct_method.phpt php8.4-8.4.26/ext/reflection/tests/gh22905/ReflectionMethod_construct_method.phpt --- php8.4-8.4.24/ext/reflection/tests/gh22905/ReflectionMethod_construct_method.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/reflection/tests/gh22905/ReflectionMethod_construct_method.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,15 @@ +--TEST-- +GH-22905: null bytes in ReflectionMethod::__construct() error messages (method name) +--FILE-- + +--EXPECTF-- +Fatal error: Uncaught ReflectionException: Method Demo::foo%0bar() does not exist in %s:%d +Stack trace: +#0 %s(%d): ReflectionMethod->__construct('Demo', 'foo\x00bar') +#1 {main} + thrown in %s on line %d diff -Nru php8.4-8.4.24/ext/reflection/tests/gh22905/ReflectionMethod_create_method.phpt php8.4-8.4.26/ext/reflection/tests/gh22905/ReflectionMethod_create_method.phpt --- php8.4-8.4.24/ext/reflection/tests/gh22905/ReflectionMethod_create_method.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/reflection/tests/gh22905/ReflectionMethod_create_method.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,15 @@ +--TEST-- +GH-22905: null bytes in ReflectionMethod::createFromMethodName() error messages (method name) +--FILE-- + +--EXPECTF-- +Fatal error: Uncaught ReflectionException: Method Demo::foo%0bar() does not exist in %s:%d +Stack trace: +#0 %s(%d): ReflectionMethod::createFromMethodName('Demo::foo\x00bar') +#1 {main} + thrown in %s on line %d diff -Nru php8.4-8.4.24/ext/reflection/tests/gh22905/ReflectionParameter_construct_class.phpt php8.4-8.4.26/ext/reflection/tests/gh22905/ReflectionParameter_construct_class.phpt --- php8.4-8.4.24/ext/reflection/tests/gh22905/ReflectionParameter_construct_class.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/reflection/tests/gh22905/ReflectionParameter_construct_class.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,14 @@ +--TEST-- +GH-22905: null bytes in ReflectionParameter::__construct() error messages (array class name) +--FILE-- + +--EXPECTF-- +Fatal error: Uncaught ReflectionException: Class "foo%0bar" does not exist in %s:%d +Stack trace: +#0 %s(%d): ReflectionParameter->__construct(Array, 0) +#1 {main} + thrown in %s on line %d diff -Nru php8.4-8.4.24/ext/reflection/tests/gh22905/ReflectionParameter_construct_method.phpt php8.4-8.4.26/ext/reflection/tests/gh22905/ReflectionParameter_construct_method.phpt --- php8.4-8.4.24/ext/reflection/tests/gh22905/ReflectionParameter_construct_method.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/reflection/tests/gh22905/ReflectionParameter_construct_method.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,15 @@ +--TEST-- +GH-22905: null bytes in ReflectionParameter::__construct() error messages (array method name) +--FILE-- + +--EXPECTF-- +Fatal error: Uncaught ReflectionException: Method Demo::foo%0bar() does not exist in %s:%d +Stack trace: +#0 %s(%d): ReflectionParameter->__construct(Array, 0) +#1 {main} + thrown in %s on line %d diff -Nru php8.4-8.4.24/ext/reflection/tests/gh22905/ReflectionParameter_construct_string.phpt php8.4-8.4.26/ext/reflection/tests/gh22905/ReflectionParameter_construct_string.phpt --- php8.4-8.4.24/ext/reflection/tests/gh22905/ReflectionParameter_construct_string.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/reflection/tests/gh22905/ReflectionParameter_construct_string.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,14 @@ +--TEST-- +GH-22905: null bytes in ReflectionParameter::__construct() error messages (string function) +--FILE-- + +--EXPECTF-- +Fatal error: Uncaught ReflectionException: Function foo%0bar() does not exist in %s:%d +Stack trace: +#0 %s(%d): ReflectionParameter->__construct('foo\x00bar', 0) +#1 {main} + thrown in %s on line %d diff -Nru php8.4-8.4.24/ext/reflection/tests/gh22905/ReflectionProperty_construct_class.phpt php8.4-8.4.26/ext/reflection/tests/gh22905/ReflectionProperty_construct_class.phpt --- php8.4-8.4.24/ext/reflection/tests/gh22905/ReflectionProperty_construct_class.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/reflection/tests/gh22905/ReflectionProperty_construct_class.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,14 @@ +--TEST-- +GH-22905: null bytes in ReflectionProperty::__construct() error messages (class name) +--FILE-- + +--EXPECTF-- +Fatal error: Uncaught ReflectionException: Class "foo%0bar" does not exist in %s:%d +Stack trace: +#0 %s(%d): ReflectionProperty->__construct('foo\x00bar', '') +#1 {main} + thrown in %s on line %d diff -Nru php8.4-8.4.24/ext/reflection/tests/gh22905/ReflectionProperty_construct_property.phpt php8.4-8.4.26/ext/reflection/tests/gh22905/ReflectionProperty_construct_property.phpt --- php8.4-8.4.24/ext/reflection/tests/gh22905/ReflectionProperty_construct_property.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/reflection/tests/gh22905/ReflectionProperty_construct_property.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,15 @@ +--TEST-- +GH-22905: null bytes in ReflectionProperty::__construct() error messages (property name) +--FILE-- + +--EXPECTF-- +Fatal error: Uncaught ReflectionException: Property Demo::$foo%0bar does not exist in %s:%d +Stack trace: +#0 %s(%d): ReflectionProperty->__construct('Demo', 'foo\x00bar') +#1 {main} + thrown in %s on line %d diff -Nru php8.4-8.4.24/ext/reflection/tests/gh22905/ReflectionProperty_setRawValueWithoutLazyInitialization.phpt php8.4-8.4.26/ext/reflection/tests/gh22905/ReflectionProperty_setRawValueWithoutLazyInitialization.phpt --- php8.4-8.4.24/ext/reflection/tests/gh22905/ReflectionProperty_setRawValueWithoutLazyInitialization.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/reflection/tests/gh22905/ReflectionProperty_setRawValueWithoutLazyInitialization.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,16 @@ +--TEST-- +GH-22905: null bytes in ReflectionProperty::setRawValueWithoutLazyInitialization() error messages +--FILE-- + "baz"]; +$r = new ReflectionProperty($o, "foo\0bar"); +$r->setRawValueWithoutLazyInitialization($o, 123); + +?> +--EXPECTF-- +Fatal error: Uncaught ReflectionException: Can not use setRawValueWithoutLazyInitialization on dynamic property stdClass::$foo%0bar in %s:%d +Stack trace: +#0 %s(%d): ReflectionProperty->setRawValueWithoutLazyInitialization(Object(stdClass), 123) +#1 {main} + thrown in %s on line %d diff -Nru php8.4-8.4.24/ext/reflection/tests/gh22905/ReflectionProperty_skipLazyInitialization.phpt php8.4-8.4.26/ext/reflection/tests/gh22905/ReflectionProperty_skipLazyInitialization.phpt --- php8.4-8.4.24/ext/reflection/tests/gh22905/ReflectionProperty_skipLazyInitialization.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/reflection/tests/gh22905/ReflectionProperty_skipLazyInitialization.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,16 @@ +--TEST-- +GH-22905: null bytes in ReflectionProperty::skipLazyInitialization() error messages +--FILE-- + "baz"]; +$r = new ReflectionProperty($o, "foo\0bar"); +$r->skipLazyInitialization($o); + +?> +--EXPECTF-- +Fatal error: Uncaught ReflectionException: Can not use skipLazyInitialization on dynamic property stdClass::$foo%0bar in %s:%d +Stack trace: +#0 %s(%d): ReflectionProperty->skipLazyInitialization(Object(stdClass)) +#1 {main} + thrown in %s on line %d diff -Nru php8.4-8.4.24/ext/reflection/tests/gh22905/ReflectionZendExtension_construct.phpt php8.4-8.4.26/ext/reflection/tests/gh22905/ReflectionZendExtension_construct.phpt --- php8.4-8.4.24/ext/reflection/tests/gh22905/ReflectionZendExtension_construct.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/reflection/tests/gh22905/ReflectionZendExtension_construct.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,14 @@ +--TEST-- +GH-22905: null bytes in ReflectionZendExtension::__construct() error messages +--FILE-- + +--EXPECTF-- +Fatal error: Uncaught ReflectionException: Zend Extension "foo%0bar" does not exist in %s:%d +Stack trace: +#0 %s(%d): ReflectionZendExtension->__construct('foo\x00bar') +#1 {main} + thrown in %s on line %d diff -Nru php8.4-8.4.24/ext/reflection/tests/gh22905/Reflection_getAttributes.phpt php8.4-8.4.26/ext/reflection/tests/gh22905/Reflection_getAttributes.phpt --- php8.4-8.4.24/ext/reflection/tests/gh22905/Reflection_getAttributes.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/reflection/tests/gh22905/Reflection_getAttributes.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,16 @@ +--TEST-- +GH-22905: null bytes in Reflection*::getAttributes() error messages +--FILE-- +getAttributes("foo\0bar", ReflectionAttribute::IS_INSTANCEOF); + +?> +--EXPECTF-- +Fatal error: Uncaught Error: Class "foo%0bar" not found in %s:%d +Stack trace: +#0 %s(%d): ReflectionClass->getAttributes('foo\x00bar', 2) +#1 {main} + thrown in %s on line %d diff -Nru php8.4-8.4.24/ext/session/mod_mm.c php8.4-8.4.26/ext/session/mod_mm.c --- php8.4-8.4.24/ext/session/mod_mm.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/session/mod_mm.c 2026-09-22 15:00:02.000000000 +0000 @@ -351,7 +351,7 @@ && ps_mm_key_exists(data, key) == FAILURE) { /* key points to PS(id), but cannot change here. */ if (key) { - efree(PS(id)); + zend_string_release_ex(PS(id), false); PS(id) = NULL; } PS(id) = PS(mod)->s_create_sid((void **)&data); diff -Nru php8.4-8.4.24/ext/session/mod_user_class.c php8.4-8.4.26/ext/session/mod_user_class.c --- php8.4-8.4.24/ext/session/mod_user_class.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/session/mod_user_class.c 2026-09-22 15:00:02.000000000 +0000 @@ -167,6 +167,12 @@ PS_SANITY_CHECK; id = PS(default_mod)->s_create_sid(&PS(mod_data)); + if (!id) { + if (!EG(exception)) { + zend_throw_error(NULL, "Failed to create session ID: %s", PS(default_mod)->s_name); + } + RETURN_THROWS(); + } RETURN_STR(id); } diff -Nru php8.4-8.4.24/ext/session/session.c php8.4-8.4.26/ext/session/session.c --- php8.4-8.4.24/ext/session/session.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/session/session.c 2026-09-22 15:00:02.000000000 +0000 @@ -443,6 +443,7 @@ if (!PS(id) || !ZSTR_VAL(PS(id))[0]) { if (PS(id)) { zend_string_release_ex(PS(id), 0); + PS(id) = NULL; } PS(id) = PS(mod)->s_create_sid(&PS(mod_data)); if (!PS(id)) { @@ -460,6 +461,7 @@ ) { if (PS(id)) { zend_string_release_ex(PS(id), 0); + PS(id) = NULL; } PS(id) = PS(mod)->s_create_sid(&PS(mod_data)); if (!PS(id)) { @@ -1497,10 +1499,10 @@ php_session_remove_cookie(); /* remove already sent session ID cookie */ /* 'replace' must be 0 here, else a previous Set-Cookie header, probably sent with setcookie() will be replaced! */ - sapi_add_header_ex(estrndup(ZSTR_VAL(ncookie.s), ZSTR_LEN(ncookie.s)), ZSTR_LEN(ncookie.s), 0, 0); + zend_result result = sapi_add_header_ex(estrndup(ZSTR_VAL(ncookie.s), ZSTR_LEN(ncookie.s)), ZSTR_LEN(ncookie.s), 0, 0); smart_str_free(&ncookie); - return SUCCESS; + return result; } /* }}} */ @@ -2440,6 +2442,7 @@ /* Try to generate non-existing ID */ while (limit-- && PS(mod)->s_validate_sid(&PS(mod_data), PS(id)) == SUCCESS) { zend_string_release_ex(PS(id), 0); + PS(id) = NULL; PS(id) = PS(mod)->s_create_sid(&PS(mod_data)); if (!PS(id)) { PS(mod)->s_close(&PS(mod_data)); @@ -2505,6 +2508,9 @@ int limit = 3; while (limit--) { new_id = PS(mod)->s_create_sid(&PS(mod_data)); + if (!new_id) { + break; + } if (!PS(mod)->s_validate_sid || (PS(mod_user_implemented) && Z_ISUNDEF(PS(mod_user_names).ps_validate_sid))) { break; } else { @@ -2526,6 +2532,9 @@ zend_string_release_ex(new_id, 0); } else { smart_str_free(&id); + if (EG(exception)) { + RETURN_THROWS(); + } php_error_docref(NULL, E_WARNING, "Failed to create new ID"); RETURN_FALSE; } diff -Nru php8.4-8.4.24/ext/session/tests/session_start_cookie_header_rejected.phpt php8.4-8.4.26/ext/session/tests/session_start_cookie_header_rejected.phpt --- php8.4-8.4.24/ext/session/tests/session_start_cookie_header_rejected.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/session/tests/session_start_cookie_header_rejected.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,28 @@ +--TEST-- +session_start() when the SAPI rejects the session cookie header +--INI-- +session.save_handler=files +session.name=PHPSESSID +session.gc_probability=0 +--EXTENSIONS-- +session +--FILE-- + "/\r\nX-Injected: yes"]); + +var_dump(session_start()); +var_dump(session_status() === PHP_SESSION_NONE); + +?> +--EXPECT-- +handler: Header may not contain more than a single header, new line detected +bool(false) +bool(true) diff -Nru php8.4-8.4.24/ext/session/tests/user_session_module/gh23043.phpt php8.4-8.4.26/ext/session/tests/user_session_module/gh23043.phpt --- php8.4-8.4.24/ext/session/tests/user_session_module/gh23043.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/session/tests/user_session_module/gh23043.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,35 @@ +--TEST-- +GH-23043 (broken session id code can cause zend_mm_heap corrupted) +--EXTENSIONS-- +session +--CREDITS-- +lmaltsis +--FILE-- + +--EXPECTF-- +string(0) "" + +Warning: SessionHandler::write(): Session ID is too long or contains illegal characters. Only the A-Z, a-z, 0-9, "-", and "," characters are allowed in %s on line %d + +Warning: session_write_close(): Failed to write session data using user defined save handler. (session.save_path: %S, handler: a::write) in %s on line %d +string(0) "" + +Warning: SessionHandler::write(): Session ID is too long or contains illegal characters. Only the A-Z, a-z, 0-9, "-", and "," characters are allowed in Unknown on line 0 + +Warning: session_write_close(): Failed to write session data using user defined save handler. (session.save_path: %S, handler: a::write) in Unknown on line 0 diff -Nru php8.4-8.4.24/ext/session/tests/user_session_module/session_create_id_create_sid_throws.phpt php8.4-8.4.26/ext/session/tests/user_session_module/session_create_id_create_sid_throws.phpt --- php8.4-8.4.24/ext/session/tests/user_session_module/session_create_id_create_sid_throws.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/session/tests/user_session_module/session_create_id_create_sid_throws.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,49 @@ +--TEST-- +session_create_id() when the create_sid handler throws +--INI-- +session.save_handler=files +session.name=PHPSESSID +session.gc_probability=0 +--EXTENSIONS-- +session +--FILE-- +calls++ > 0) { + throw new Exception('create_sid failed'); + } + return parent::create_sid(); + } + + public function validateId(string $id): bool + { + return false; + } +} + +session_set_save_handler(new MySessionHandler(), true); +session_start(); + +try { + session_create_id(); +} catch (Throwable $e) { + echo $e::class, ": ", $e->getMessage(), PHP_EOL; + $previous = $e->getPrevious(); + echo $previous::class, ": ", $previous->getMessage(), PHP_EOL; +} + +var_dump(session_status() === PHP_SESSION_ACTIVE); + +?> +--EXPECT-- +Error: Session id must be a string +Exception: create_sid failed +bool(true) diff -Nru php8.4-8.4.24/ext/simplexml/simplexml.c php8.4-8.4.26/ext/simplexml/simplexml.c --- php8.4-8.4.24/ext/simplexml/simplexml.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/simplexml/simplexml.c 2026-09-22 15:00:02.000000000 +0000 @@ -134,7 +134,7 @@ return NULL; } } - while (node && nodendx <= offset) { + while (node && (offset < 0 || nodendx <= offset)) { if (node->type == XML_ELEMENT_NODE && match_ns(node, sxe->iter.nsprefix, sxe->iter.isprefix)) { if (sxe->iter.type == SXE_ITER_CHILD || ( sxe->iter.type == SXE_ITER_ELEMENT && xmlStrEqual(node->name, BAD_CAST ZSTR_VAL(sxe->iter.name)))) { @@ -302,14 +302,16 @@ } if (!member || Z_TYPE_P(member) == IS_LONG) { zend_long cnt = 0; + bool appendable = true; xmlNodePtr mynode = node; if (sxe->iter.type == SXE_ITER_CHILD) { node = php_sxe_get_first_node_non_destructive(sxe, node); } if (sxe->iter.type == SXE_ITER_NONE) { - if (member && Z_LVAL_P(member) > 0) { - php_error_docref(NULL, E_WARNING, "Cannot add element %s number " ZEND_LONG_FMT " when only 0 such elements exist", mynode->name, Z_LVAL_P(member)); + if (member && Z_LVAL_P(member) != 0) { + node = NULL; + appendable = false; } } else if (member) { node = sxe_get_element_by_offset(sxe, Z_LVAL_P(member), node, &cnt); @@ -319,11 +321,13 @@ if (node) { node_as_zval(sxe, node, rv, SXE_ITER_NONE, NULL, sxe->iter.nsprefix, sxe->iter.isprefix); } else if (type == BP_VAR_W || type == BP_VAR_RW) { - if (member && cnt < Z_LVAL_P(member)) { + if (member && (Z_LVAL_P(member) < 0 || cnt < Z_LVAL_P(member))) { php_error_docref(NULL, E_WARNING, "Cannot add element %s number " ZEND_LONG_FMT " when only " ZEND_LONG_FMT " such elements exist", mynode->name, Z_LVAL_P(member), cnt); } - node = xmlNewTextChild(mynode->parent, mynode->ns, mynode->name, NULL); - node_as_zval(sxe, node, rv, SXE_ITER_NONE, NULL, sxe->iter.nsprefix, sxe->iter.isprefix); + if (appendable && (!member || Z_LVAL_P(member) >= 0)) { + node = xmlNewTextChild(mynode->parent, mynode->ns, mynode->name, NULL); + node_as_zval(sxe, node, rv, SXE_ITER_NONE, NULL, sxe->iter.nsprefix, sxe->iter.isprefix); + } } } else { /* In BP_VAR_IS mode only return a proper node if it actually exists. */ @@ -439,8 +443,7 @@ if (sxe->iter.type == SXE_ITER_ATTRLIST) { attribs = 1; elements = 0; - node = php_sxe_get_first_node_non_destructive(sxe, node); - attr = (xmlAttrPtr)node; + attr = (xmlAttrPtr)php_sxe_get_first_node_non_destructive(sxe, node); test = sxe->iter.name != NULL; } else if (sxe->iter.type != SXE_ITER_CHILD) { mynode = node; @@ -527,19 +530,18 @@ if (!member || Z_TYPE_P(member) == IS_LONG) { if (node->type == XML_ATTRIBUTE_NODE) { zend_throw_error(NULL, "Cannot create duplicate attribute"); - if (value_str) { - zend_string_release(value_str); - } - return &EG(error_zval); + value = &EG(error_zval); + goto out; } if (sxe->iter.type == SXE_ITER_NONE) { - newnode = node; - ++counter; - if (member && Z_LVAL_P(member) > 0) { + if (member && Z_LVAL_P(member) != 0) { php_error_docref(NULL, E_WARNING, "Cannot add element %s number " ZEND_LONG_FMT " when only 0 such elements exist", mynode->name, Z_LVAL_P(member)); value = &EG(error_zval); + goto out; } + newnode = node; + ++counter; } else if (member) { newnode = sxe_get_element_by_offset(sxe, Z_LVAL_P(member), node, &cnt); if (newnode) { @@ -586,10 +588,14 @@ newnode = xmlNewTextChild(mynode, NULL, (xmlChar *)Z_STRVAL_P(member), value_str ? (xmlChar *)ZSTR_VAL(value_str) : NULL); } } else if (!member || Z_TYPE_P(member) == IS_LONG) { - if (member && cnt < Z_LVAL_P(member)) { + if (member && (Z_LVAL_P(member) < 0 || cnt < Z_LVAL_P(member))) { php_error_docref(NULL, E_WARNING, "Cannot add element %s number " ZEND_LONG_FMT " when only " ZEND_LONG_FMT " such elements exist", mynode->name, Z_LVAL_P(member), cnt); } - newnode = xmlNewTextChild(mynode->parent, mynode->ns, mynode->name, value_str ? (xmlChar *)ZSTR_VAL(value_str) : NULL); + if (member && Z_LVAL_P(member) < 0) { + value = &EG(error_zval); + } else { + newnode = xmlNewTextChild(mynode->parent, mynode->ns, mynode->name, value_str ? (xmlChar *)ZSTR_VAL(value_str) : NULL); + } } } else if (attribs) { if (Z_TYPE_P(member) == IS_LONG) { @@ -600,6 +606,7 @@ } } +out: if (member == &tmp_zv) { zval_ptr_dtor_str(&tmp_zv); } @@ -1229,7 +1236,7 @@ if (sxe1->node == NULL && sxe2->node == NULL) { /* Both nodes not set: Only support equality comparison between documents. */ - if (sxe1->document->ptr == sxe2->document->ptr) { + if (sxe1->document != NULL && sxe2->document != NULL && sxe1->document->ptr == sxe2->document->ptr) { return 0; } return ZEND_UNCOMPARABLE; @@ -1672,6 +1679,7 @@ xmlNodePtr node, newnode; xmlNsPtr nsptr = NULL; xmlChar *localname, *prefix = NULL; + const xmlChar *retprefix = NULL; if (zend_parse_parameters(ZEND_NUM_ARGS(), "s|s!s!", &qname, &qname_len, &value, &value_len, &nsuri, &nsuri_len) == FAILURE) { @@ -1720,7 +1728,11 @@ } } - node_as_zval_str(sxe, newnode, return_value, SXE_ITER_NONE, localname, prefix, 0); + if ((prefix != NULL || nsuri != NULL) && newnode->ns != NULL) { + retprefix = newnode->ns->prefix; + } + + node_as_zval_str(sxe, newnode, return_value, SXE_ITER_NONE, localname, retprefix, 1); xmlFree(localname); if (prefix != NULL) { diff -Nru php8.4-8.4.24/ext/simplexml/tests/addChild_ns_filter_returned_element.phpt php8.4-8.4.26/ext/simplexml/tests/addChild_ns_filter_returned_element.phpt --- php8.4-8.4.24/ext/simplexml/tests/addChild_ns_filter_returned_element.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/simplexml/tests/addChild_ns_filter_returned_element.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,56 @@ +--TEST-- +SimpleXMLElement::addChild() wrong namespace filter on returned element +--EXTENSIONS-- +simplexml +--FILE-- +'); +$c = $x->addChild('a:kid', null, 'http://example.com'); +$c->addChild('inner', 'v'); +echo trim($x->asXML()), "\n"; +echo (string) $c->inner, "\n"; +var_dump(isset($c->inner)); + +$y = new SimpleXMLElement(''); +$d = $y->addChild('kid', null, 'http://example.com'); +$d->addChild('inner', 'w'); +echo trim($y->asXML()), "\n"; +echo (string) $d->inner, "\n"; + +$z = new SimpleXMLElement(''); +$e = $z->addChild('a:kid'); +$e->addChild('inner', 'z'); +echo trim($z->asXML()), "\n"; +echo (string) $e->inner, "\n"; +var_dump(isset($e->inner)); + +$q = new SimpleXMLElement(''); +$f = $q->addChild('kid'); +$f->addAttribute('id', '7'); +echo trim($q->asXML()), "\n"; +echo (string) $f['id'], "\n"; + +$m = new SimpleXMLElement(''); +$g = $m->addChild('kid', null, 'http://example.com'); +$g->addAttribute('id', '8'); +echo trim($m->asXML()), "\n"; +var_dump(isset($g['id'])); +?> +--EXPECT-- + +v +v +bool(true) + +w +w + +z +z +bool(true) + + +7 + + +bool(false) diff -Nru php8.4-8.4.24/ext/simplexml/tests/attributes_dimension_write.phpt php8.4-8.4.26/ext/simplexml/tests/attributes_dimension_write.phpt --- php8.4-8.4.24/ext/simplexml/tests/attributes_dimension_write.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/simplexml/tests/attributes_dimension_write.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,30 @@ +--TEST-- +Creating new attributes via dimension and property writes on attributes() +--FILE-- +'); +$x->attributes()['new'] = 'v'; +echo $x->asXML(); + +$a = simplexml_load_string(''); +$a->attributes()['created'] = 'yes'; +echo $a->asXML(); + +$b = simplexml_load_string(''); +$attrs = $b->attributes(); +$attrs->other = 2; +echo $b->asXML(); + +$c = simplexml_load_string(''); +$c->attributes()['a'] = '2'; +echo $c->asXML(); +?> +--EXPECT-- + + + + + + + + diff -Nru php8.4-8.4.24/ext/simplexml/tests/bug_sxe_compare_uninitialized.phpt php8.4-8.4.26/ext/simplexml/tests/bug_sxe_compare_uninitialized.phpt --- php8.4-8.4.24/ext/simplexml/tests/bug_sxe_compare_uninitialized.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/simplexml/tests/bug_sxe_compare_uninitialized.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,28 @@ +--TEST-- +Comparing uninitialized SimpleXMLElement instances must not segfault +--EXTENSIONS-- +simplexml +--FILE-- +'); +echo "uninit vs init: "; +var_dump($a == $c); +echo "done\n"; +?> +--EXPECT-- +self: bool(true) +equal: bool(false) +identical: bool(false) +uninit vs init: bool(false) +done diff -Nru php8.4-8.4.24/ext/simplexml/tests/sxe_int_offset_no_alias.phpt php8.4-8.4.26/ext/simplexml/tests/sxe_int_offset_no_alias.phpt --- php8.4-8.4.24/ext/simplexml/tests/sxe_int_offset_no_alias.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/simplexml/tests/sxe_int_offset_no_alias.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,94 @@ +--TEST-- +Integer offsets that cannot resolve must never alias or mutate a node +--EXTENSIONS-- +simplexml +--FILE-- +abc'); +} + +function state(SimpleXMLElement $x): string { + return trim(strstr($x->asXML(), 'item[-1])); +var_dump($x->item[-1]); +var_dump((string) $x->item[0]); +$x->item[-1] = 'Z'; +echo state($x), "\n"; +unset($x->item[-1]); +echo state($x), "\n"; +$x->item[5] = 'P'; +echo state($x), "\n"; + +echo "== single element ==\n"; +$x = fresh(); +$n = $x->item[0]; +var_dump(isset($n[-1])); +var_dump($n[-1]); +var_dump($n[5]); +$n[-1] = 'Z'; +echo state($x), "\n"; +$n[5] = 'Y'; +echo state($x), "\n"; +unset($n[-1]); +echo state($x), "\n"; +var_dump((string) $n[0]); + +echo "== nested write ==\n"; +$x = fresh(); +try { + $x->item[-1]->kid = 'K'; +} catch (Throwable $e) { + echo $e::class, ': ', $e->getMessage(), "\n"; +} +echo state($x), "\n"; + +echo "== attributes ==\n"; +$x = fresh(); +$at = $x->attributes(); +var_dump(isset($at[-1])); +var_dump($at[-1]); +$at[-1] = 'z'; +echo state($x), "\n"; +?> +--EXPECTF-- +== element list == +bool(false) +NULL +string(1) "a" + +Warning: main(): Cannot add element item number -1 when only 3 such elements exist in %s on line %d +abc +abc + +Warning: main(): Cannot add element item number 5 when only 3 such elements exist in %s on line %d +abcP +== single element == +bool(false) +NULL +NULL + +Warning: main(): Cannot add element item number -1 when only 0 such elements exist in %s on line %d +abc + +Warning: main(): Cannot add element item number 5 when only 0 such elements exist in %s on line %d +abc +abc +string(1) "a" +== nested write == + +Warning: main(): Cannot add element item number -1 when only 3 such elements exist in %s on line %d + +Notice: Indirect modification of overloaded element of SimpleXMLElement has no effect in %s on line %d +Error: Attempt to assign property "kid" on null +abc +== attributes == +bool(false) +NULL + +Warning: main(): Cannot change attribute number -1 when only 0 attributes exist in %s on line %d +abc diff -Nru php8.4-8.4.24/ext/snmp/snmp.c php8.4-8.4.26/ext/snmp/snmp.c --- php8.4-8.4.24/ext/snmp/snmp.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/snmp/snmp.c 2026-09-22 15:00:02.000000000 +0000 @@ -1086,7 +1086,8 @@ size_t ebuf_len = 32, eout_len = 0; uint8_t *ebuf = (uint8_t *) emalloc(ebuf_len); - if (!snmp_hex_to_binary(&ebuf, &ebuf_len, &eout_len, 1, ZSTR_VAL(contextEngineID))) { + /* Disallow reallocation: ebuf comes from emalloc() and net-snmp would realloc() it. */ + if (!snmp_hex_to_binary(&ebuf, &ebuf_len, &eout_len, 0, ZSTR_VAL(contextEngineID))) { // TODO Promote to Error? php_error_docref(NULL, E_WARNING, "Bad engine ID value '%s'", ZSTR_VAL(contextEngineID)); efree(ebuf); diff -Nru php8.4-8.4.24/ext/snmp/tests/bug64124.phpt php8.4-8.4.26/ext/snmp/tests/bug64124.phpt --- php8.4-8.4.24/ext/snmp/tests/bug64124.phpt 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/snmp/tests/bug64124.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -12,6 +12,7 @@ if (@inet_ntop($packed) === false) { die("skip no IPv6 support"); } +if (PHP_OS_FAMILY === 'Windows') die('xfail SNMP tests might possibly fail on Windows'); ?> --FILE-- --ENV-- MIBS=noneXistent diff -Nru php8.4-8.4.24/ext/snmp/tests/generic_timeout_error.phpt php8.4-8.4.26/ext/snmp/tests/generic_timeout_error.phpt --- php8.4-8.4.24/ext/snmp/tests/generic_timeout_error.phpt 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/snmp/tests/generic_timeout_error.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -7,6 +7,7 @@ --SKIPIF-- --FILE-- setSecurity('authPriv', 'SHA', 'authpassword12345', 'AES', 'privpassword12345', 'myContext', str_repeat('aa', 32))); +var_dump($session->setSecurity('authPriv', 'SHA', 'authpassword12345', 'AES', 'privpassword12345', 'myContext', str_repeat('aa', 33))); +?> +--EXPECTF-- +bool(true) + +Warning: SNMP::setSecurity(): Bad engine ID value 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' in %s on line %d +bool(false) diff -Nru php8.4-8.4.24/ext/snmp/tests/ipv6.phpt php8.4-8.4.26/ext/snmp/tests/ipv6.phpt --- php8.4-8.4.24/ext/snmp/tests/ipv6.phpt 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/snmp/tests/ipv6.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -12,6 +12,7 @@ if (@inet_ntop($packed) === false) { die("skip no IPv6 support"); } +if (PHP_OS_FAMILY === 'Windows') die('xfail SNMP tests might possibly fail on Windows'); ?> --FILE-- --FILE-- --FILE-- --FILE-- --FILE-- --FILE-- --ENV-- MIBS= diff -Nru php8.4-8.4.24/ext/snmp/tests/snmp2_set.phpt php8.4-8.4.26/ext/snmp/tests/snmp2_set.phpt --- php8.4-8.4.24/ext/snmp/tests/snmp2_set.phpt 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/snmp/tests/snmp2_set.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -7,6 +7,7 @@ --SKIPIF-- --FILE-- --FILE-- --FILE-- --FILE-- --FILE-- --FILE-- --FILE-- --FILE-- --ENV-- MIBS= diff -Nru php8.4-8.4.24/ext/snmp/tests/snmpset.phpt php8.4-8.4.26/ext/snmp/tests/snmpset.phpt --- php8.4-8.4.24/ext/snmp/tests/snmpset.phpt 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/snmp/tests/snmpset.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -7,6 +7,7 @@ --SKIPIF-- --FILE-- --FILE-- to_zval) { + if (SOAP_GLOBAL(decode_depth) >= SOAP_MAX_DECODE_DEPTH) { + soap_error0(E_ERROR, "Encoding: Nesting level too deep"); + } + SOAP_GLOBAL(decode_depth)++; ret = encode->to_zval(ret, &encode->details, data); + SOAP_GLOBAL(decode_depth)--; } return ret; } @@ -3550,6 +3555,7 @@ { SOAP_GLOBAL(cur_uniq_ns) = 0; SOAP_GLOBAL(cur_uniq_ref) = 0; + SOAP_GLOBAL(decode_depth) = 0; if (SOAP_GLOBAL(ref_map)) { zend_hash_destroy(SOAP_GLOBAL(ref_map)); } else { @@ -3562,6 +3568,7 @@ { SOAP_GLOBAL(cur_uniq_ns) = 0; SOAP_GLOBAL(cur_uniq_ref) = 0; + SOAP_GLOBAL(decode_depth) = 0; if (SOAP_GLOBAL(ref_map)) { zend_hash_destroy(SOAP_GLOBAL(ref_map)); efree(SOAP_GLOBAL(ref_map)); diff -Nru php8.4-8.4.24/ext/soap/php_http.c php8.4-8.4.26/ext/soap/php_http.c --- php8.4-8.4.24/ext/soap/php_http.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/soap/php_http.c 2026-09-22 15:00:02.000000000 +0000 @@ -956,14 +956,14 @@ if (tmp != NULL) { tmp++; http_status = atoi(tmp); - } - tmp = strstr(tmp," "); - if (tmp != NULL) { - tmp++; - if (http_msg) { - efree(http_msg); + tmp = strstr(tmp," "); + if (tmp != NULL) { + tmp++; + if (http_msg) { + efree(http_msg); + } + http_msg = estrdup(tmp); } - http_msg = estrdup(tmp); } efree(http_version); @@ -1160,7 +1160,7 @@ char *t = ZSTR_VAL(phpurl->path); char *p = strrchr(t, '/'); if (p) { - zend_string *s = zend_string_alloc((p - t) + ZSTR_LEN(new_url->path) + 2, 0); + zend_string *s = zend_string_safe_alloc(1, p - t, ZSTR_LEN(new_url->path) + 2, 0); strncpy(ZSTR_VAL(s), t, (p - t) + 1); ZSTR_VAL(s)[(p - t) + 1] = 0; strcat(ZSTR_VAL(s), ZSTR_VAL(new_url->path)); @@ -1452,7 +1452,8 @@ { zend_string *http_buf = NULL; char *header; - int header_close = close, header_chunked = 0, header_length = 0, http_buf_size = 0; + int header_close = close, header_chunked = 0, header_length = 0; + size_t http_buf_size = 0; if (!close) { header = get_http_header_value(headers, "Connection:"); @@ -1482,14 +1483,14 @@ done = FALSE; while (!done) { - int buf_size = 0; + unsigned int buf_size = 0; php_stream_gets(stream, headerbuf, sizeof(headerbuf)); if (sscanf(headerbuf, "%x", &buf_size) > 0 ) { if (buf_size > 0) { size_t len_size = 0; - if (http_buf_size + buf_size + 1 < 0) { + if (buf_size >= ZSTR_MAX_LEN - http_buf_size) { if (http_buf) { zend_string_release_ex(http_buf, 0); } @@ -1497,7 +1498,7 @@ } if (http_buf) { - http_buf = zend_string_realloc(http_buf, http_buf_size + buf_size, 0); + http_buf = zend_string_safe_realloc(http_buf, 1, http_buf_size, buf_size, false); } else { http_buf = zend_string_alloc(buf_size, 0); } @@ -1556,7 +1557,7 @@ } } else if (header_length) { - if (header_length < 0 || header_length >= INT_MAX) { + if (header_length < 0 || header_length >= ZSTR_MAX_LEN) { return NULL; } http_buf = zend_string_alloc(header_length, 0); @@ -1571,7 +1572,11 @@ do { ssize_t len_read; if (http_buf) { - http_buf = zend_string_realloc(http_buf, http_buf_size + 4096, 0); + if (UNEXPECTED(http_buf_size >= ZSTR_MAX_LEN - 4096)) { + zend_string_efree(http_buf); + return NULL; + } + http_buf = zend_string_realloc(http_buf, http_buf_size + 4096, false); } else { http_buf = zend_string_alloc(4096, 0); } diff -Nru php8.4-8.4.24/ext/soap/php_schema.c php8.4-8.4.26/ext/soap/php_schema.c --- php8.4-8.4.24/ext/soap/php_schema.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/soap/php_schema.c 2026-09-22 15:00:02.000000000 +0000 @@ -2161,6 +2161,10 @@ if (ctx->attributeGroups != NULL) { tmp = (sdlTypePtr)schema_find_by_ref(ctx->attributeGroups, attr->ref); if (tmp) { + if (zend_hash_index_find_ptr(&ctx->fixupInProgress, (zend_ulong)tmp) != NULL) { + soap_error1(E_ERROR, "Parsing Schema: recursive attributeGroup 'ref' attribute '%s'", attr->ref); + } + zend_hash_index_add_ptr(&ctx->fixupInProgress, (zend_ulong)tmp, tmp); if (tmp->attributes) { zend_hash_internal_pointer_reset(tmp->attributes); while ((tmp_attr = zend_hash_get_current_data_ptr(tmp->attributes)) != NULL) { @@ -2196,6 +2200,7 @@ } } } + zend_hash_index_del(&ctx->fixupInProgress, (zend_ulong)tmp); } } efree(attr->ref); @@ -2210,6 +2215,9 @@ sdlTypePtr tmp; if (ctx->sdl->groups && (tmp = zend_hash_str_find_ptr(ctx->sdl->groups, model->u.group_ref, strlen(model->u.group_ref))) != NULL) { + if (zend_hash_index_find_ptr(&ctx->fixupInProgress, (zend_ulong)tmp) != NULL) { + soap_error1(E_ERROR, "Parsing Schema: recursive group 'ref' attribute '%s'", model->u.group_ref); + } schema_type_fixup(ctx, tmp); efree(model->u.group_ref); model->kind = XSD_CONTENT_GROUP; @@ -2253,6 +2261,8 @@ sdlTypePtr tmp; sdlAttributePtr attr; + zend_hash_index_add_ptr(&ctx->fixupInProgress, (zend_ulong)type, type); + if (type->ref != NULL) { if (ctx->sdl->elements != NULL) { tmp = (sdlTypePtr)schema_find_by_ref(ctx->sdl->elements, type->ref); @@ -2305,6 +2315,7 @@ } } } + zend_hash_index_del(&ctx->fixupInProgress, (zend_ulong)type); } void schema_pass2(sdlCtx *ctx) @@ -2313,6 +2324,8 @@ sdlAttributePtr attr; sdlTypePtr type; + zend_hash_init(&ctx->fixupInProgress, 0, NULL, NULL, 0); + if (ctx->attributes) { ZEND_HASH_FOREACH_PTR(ctx->attributes, attr) { schema_attribute_fixup(ctx, attr); @@ -2346,6 +2359,8 @@ zend_hash_destroy(ctx->attributeGroups); efree(ctx->attributeGroups); } + + zend_hash_destroy(&ctx->fixupInProgress); } void delete_model(zval *zv) diff -Nru php8.4-8.4.24/ext/soap/php_sdl.c php8.4-8.4.26/ext/soap/php_sdl.c --- php8.4-8.4.24/ext/soap/php_sdl.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/soap/php_sdl.c 2026-09-22 15:00:02.000000000 +0000 @@ -1155,7 +1155,7 @@ return ctx.sdl; } -#define WSDL_CACHE_VERSION 0x10 +#define WSDL_CACHE_VERSION 0x11 #define WSDL_CACHE_GET(ret,type,buf) memcpy(&ret,*buf,sizeof(type)); *buf += sizeof(type); #define WSDL_CACHE_GET_INT(ret,buf) ret = ((unsigned char)(*buf)[0])|((unsigned char)(*buf)[1]<<8)|((unsigned char)(*buf)[2]<<16)|((unsigned)(*buf)[3]<<24); *buf += 4; @@ -2066,7 +2066,7 @@ sdlSoapBindingFunctionHeaderPtr tmp2; const zend_string *key_inner; - ZEND_HASH_MAP_FOREACH_STR_KEY_PTR(body->headers, key_inner, tmp2) { + ZEND_HASH_MAP_FOREACH_STR_KEY_PTR(tmp->headerfaults, key_inner, tmp2) { sdl_serialize_key(key_inner, out); WSDL_CACHE_PUT_1(tmp2->use, out); if (tmp2->use == SOAP_ENCODED) { diff -Nru php8.4-8.4.24/ext/soap/php_sdl.h php8.4-8.4.26/ext/soap/php_sdl.h --- php8.4-8.4.24/ext/soap/php_sdl.h 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/soap/php_sdl.h 2026-09-22 15:00:02.000000000 +0000 @@ -73,6 +73,7 @@ HashTable *attributes; /* array of sdlAttributePtr */ HashTable *attributeGroups; /* array of sdlTypesPtr */ + HashTable fixupInProgress; php_stream_context *context; zval old_header; } sdlCtx; diff -Nru php8.4-8.4.24/ext/soap/php_soap.h php8.4-8.4.26/ext/soap/php_soap.h --- php8.4-8.4.24/ext/soap/php_soap.h 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/soap/php_soap.h 2026-09-22 15:00:02.000000000 +0000 @@ -149,6 +149,8 @@ #define SOAP_SSL_METHOD_SSLv3 2 #define SOAP_SSL_METHOD_SSLv23 3 +#define SOAP_MAX_XML_DEPTH 2048 +#define SOAP_MAX_DECODE_DEPTH (SOAP_MAX_XML_DEPTH * 2) ZEND_BEGIN_MODULE_GLOBALS(soap) HashTable defEncNs; /* mapping of default namespaces to prefixes */ @@ -173,6 +175,7 @@ HashTable wsdl_cache; int cur_uniq_ref; HashTable *ref_map; + unsigned int decode_depth; ZEND_END_MODULE_GLOBALS(soap) #ifdef ZTS diff -Nru php8.4-8.4.24/ext/soap/php_xml.c php8.4-8.4.26/ext/soap/php_xml.c --- php8.4-8.4.24/ext/soap/php_xml.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/soap/php_xml.c 2026-09-22 15:00:02.000000000 +0000 @@ -35,36 +35,72 @@ return true; } -/* removes all empty text, comments and other insignoficant nodes */ +/* removes all empty text, comments and other insignoficant nodes. + * Iterative because recursion overflows the stack on a deep document. */ static void cleanup_xml_node(xmlNodePtr node) { - xmlNodePtr trav; - xmlNodePtr del = NULL; + xmlNodePtr parent = node; + xmlNodePtr trav = node->children; - trav = node->children; while (trav != NULL) { - if (del != NULL) { - xmlUnlinkNode(del); - xmlFreeNode(del); - del = NULL; - } + xmlNodePtr next = trav->next; + if (trav->type == XML_TEXT_NODE) { if (is_blank(trav->content)) { - del = trav; + xmlUnlinkNode(trav); + xmlFreeNode(trav); } } else if ((trav->type != XML_ELEMENT_NODE) && (trav->type != XML_CDATA_SECTION_NODE)) { - del = trav; + xmlUnlinkNode(trav); + xmlFreeNode(trav); } else if (trav->children != NULL) { - cleanup_xml_node(trav); + parent = trav; + trav = trav->children; + continue; } - trav = trav->next; + + while (next == NULL) { + if (parent == node) { + return; + } + next = parent->next; + parent = parent->parent; + } + trav = next; } - if (del != NULL) { - xmlUnlinkNode(del); - xmlFreeNode(del); +} + +#if LIBXML_VERSION < 21300 +static int is_nesting_too_deep(xmlNodePtr node) +{ + xmlNodePtr trav = node->children; + unsigned int depth = 0; + + while (trav != NULL) { + /* An entity reference borrows its declaration as child list, and that + * declaration hangs off the DTD, so descending leaves the document. */ + if (trav->children != NULL && + trav->type != XML_ENTITY_REF_NODE && + trav->type != XML_DTD_NODE) { + if (++depth > SOAP_MAX_XML_DEPTH) { + return TRUE; + } + trav = trav->children; + continue; + } + while (trav->next == NULL) { + trav = trav->parent; + if (trav == node) { + return FALSE; + } + depth--; + } + trav = trav->next; } + return FALSE; } +#endif static void soap_ignorableWhitespace(void *ctx, const xmlChar *ch, int len) { @@ -125,6 +161,15 @@ */ if (ret) { +#if LIBXML_VERSION < 21300 + if (is_nesting_too_deep((xmlNodePtr)ret)) { + /* php_sdl.c reports xmlGetLastError() as the reason, and libxml2 did + * not fail here, so drop the error an earlier parse left behind. */ + xmlResetLastError(); + xmlFreeDoc(ret); + return NULL; + } +#endif cleanup_xml_node((xmlNodePtr)ret); } return ret; @@ -175,6 +220,13 @@ xmlCleanupParser(); */ +#if LIBXML_VERSION < 21300 + if (ret && is_nesting_too_deep((xmlNodePtr)ret)) { + xmlFreeDoc(ret); + ret = NULL; + } +#endif + /* if (ret) { cleanup_xml_node((xmlNodePtr)ret); @@ -297,6 +349,8 @@ xmlNodePtr get_node_with_attribute_recursive_ex(xmlNodePtr node, char *name, char *name_ns, char *attribute, char *value, char *attr_ns) { + unsigned int depth = 0; + while (node != NULL) { if (node_is_equal_ex(node, name, name_ns)) { xmlAttrPtr attr = get_attribute_ex(node->properties, attribute, attr_ns); @@ -304,11 +358,19 @@ return node; } } - if (node->children != NULL) { - xmlNodePtr tmp = get_node_with_attribute_recursive_ex(node->children, name, name_ns, attribute, value, attr_ns); - if (tmp) { - return tmp; + if (node->children != NULL && + node->type != XML_ENTITY_REF_NODE && + node->type != XML_DTD_NODE) { + node = node->children; + depth++; + continue; + } + while (node->next == NULL) { + if (depth == 0) { + return NULL; } + node = node->parent; + depth--; } node = node->next; } diff -Nru php8.4-8.4.24/ext/soap/soap.c php8.4-8.4.26/ext/soap/soap.c --- php8.4-8.4.24/ext/soap/soap.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/soap/soap.c 2026-09-22 15:00:02.000000000 +0000 @@ -449,6 +449,7 @@ soap_globals->soap_version = SOAP_1_1; soap_globals->mem_cache = NULL; soap_globals->ref_map = NULL; + soap_globals->decode_depth = 0; } PHP_MSHUTDOWN_FUNCTION(soap) @@ -1478,7 +1479,11 @@ /* If new session or something weird happned */ if (soap_obj == NULL) { - object_init_ex(&tmp_soap, service->soap_class.ce); + if (UNEXPECTED(object_init_ex(&tmp_soap, service->soap_class.ce) != SUCCESS)) { + php_output_discard(); + _soap_server_exception(service, function, ZEND_THIS); + goto fail; + } /* Call constructor */ if (service->soap_class.ce->constructor) { diff -Nru php8.4-8.4.24/ext/soap/tests/GHSA-rgrp-mwpx-f6rm-href-chain.phpt php8.4-8.4.26/ext/soap/tests/GHSA-rgrp-mwpx-f6rm-href-chain.phpt --- php8.4-8.4.24/ext/soap/tests/GHSA-rgrp-mwpx-f6rm-href-chain.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/soap/tests/GHSA-rgrp-mwpx-f6rm-href-chain.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,47 @@ +--TEST-- +GHSA-rgrp-mwpx-f6rm: Stack overflow on a chain of href references +--EXTENSIONS-- +soap +--FILE-- +' . ($i < $n ? '' : 'leaf') . ''; + } + + return '

' + . $links . ''; +} + +function test($arg) +{ + $GLOBALS['decoded'] = $arg; + + return 'ok'; +} + +$server = new SoapServer(null, ['uri' => 'urn:test']); +$server->addFunction('test'); + +$server->handle(chain(3)); +var_dump($GLOBALS['decoded']); + +$server->handle(chain(12000)); + +?> +--EXPECTF-- + +ok +object(stdClass)#%d (1) { + ["q"]=> + object(stdClass)#%d (1) { + ["q"]=> + string(4) "leaf" + } +} + +SOAP-ENV:ServerSOAP-ERROR: Encoding: Nesting level too deep diff -Nru php8.4-8.4.24/ext/soap/tests/GHSA-rgrp-mwpx-f6rm-href-cycle.phpt php8.4-8.4.26/ext/soap/tests/GHSA-rgrp-mwpx-f6rm-href-cycle.phpt --- php8.4-8.4.24/ext/soap/tests/GHSA-rgrp-mwpx-f6rm-href-cycle.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/soap/tests/GHSA-rgrp-mwpx-f6rm-href-cycle.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,43 @@ +--TEST-- +GHSA-rgrp-mwpx-f6rm: Stack overflow on an array element referencing its own array +--EXTENSIONS-- +soap +--FILE-- +' + . '' . $param . ''; +} + +function test($arg) +{ + $GLOBALS['decoded'] = $arg; + + return 'ok'; +} + +$server = new SoapServer(null, ['uri' => 'urn:test']); +$server->addFunction('test'); + +$server->handle(envelope('ab')); +var_dump($GLOBALS['decoded']); + +$server->handle(envelope('')); + +?> +--EXPECTF-- + +ok +array(2) { + [0]=> + string(1) "a" + [1]=> + string(1) "b" +} + +SOAP-ENV:ServerSOAP-ERROR: Encoding: Nesting level too deep diff -Nru php8.4-8.4.24/ext/soap/tests/GHSA-rgrp-mwpx-f6rm.phpt php8.4-8.4.26/ext/soap/tests/GHSA-rgrp-mwpx-f6rm.phpt --- php8.4-8.4.24/ext/soap/tests/GHSA-rgrp-mwpx-f6rm.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/soap/tests/GHSA-rgrp-mwpx-f6rm.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,89 @@ +--TEST-- +GHSA-rgrp-mwpx-f6rm: Stack overflow on deeply nested XML +--EXTENSIONS-- +soap +--INI-- +soap.wsdl_cache_enabled=0 +--FILE-- +' + . str_repeat('', $depth) . 'leaf' . str_repeat('', $depth) + . ''; +} + +function test($arg) +{ + $depth = 0; + while (is_object($arg)) { + $depth++; + $arg = $arg->a; + } + $GLOBALS['decoded'] = [$depth, $arg]; + + return 'ok'; +} + +$server = new SoapServer(null, ['uri' => 'urn:test']); +$server->addFunction('test'); + +$server->handle(envelope(200)); +var_dump($GLOBALS['decoded']); + +/* libxml2 2.13 rejects past 2048 despite XML_PARSE_HUGE, older ones do not. */ +$wsdl = __DIR__ . '/GHSA-rgrp-mwpx-f6rm.wsdl'; +foreach ([1000, 2100] as $depth) { + file_put_contents($wsdl, '' . str_repeat('', $depth) . 'leaf' . str_repeat('', $depth) . ''); + try { + new SoapClient($wsdl); + } catch (SoapFault $e) { + echo rtrim($e->getMessage()), "\n"; + } +} + +/* A WSDL reached through an entity reference still loads. Its replacement tree cannot + be built deeper than the 2048 libxml2 2.13 enforces, so this pins the entity skip + rather than the limit. */ +$entity = __DIR__ . '/GHSA-rgrp-mwpx-f6rm-entity.wsdl'; +$desc = str_repeat('<p>', 300) . 'A test service.' . str_repeat('</p>', 300); +file_put_contents($entity, ' +]> + + &desc; + + + + + + + +'); +var_dump((new SoapClient($entity))->__getFunctions()); + +$server->handle(envelope(3000)); + +?> +--CLEAN-- + +--EXPECTF-- + +ok +array(2) { + [0]=> + int(199) + [1]=> + string(4) "leaf" +} +SOAP-ERROR: Parsing WSDL: Couldn't find in '%sGHSA-rgrp-mwpx-f6rm.wsdl' +SOAP-ERROR: Parsing WSDL: Couldn't load from '%sGHSA-rgrp-mwpx-f6rm.wsdl'%S +array(1) { + [0]=> + string(9) "void op()" +} + +SOAP-ENV:ClientBad Request diff -Nru php8.4-8.4.24/ext/soap/tests/bugs/GHSA-cj93-vc83-wgqv.phpt php8.4-8.4.26/ext/soap/tests/bugs/GHSA-cj93-vc83-wgqv.phpt --- php8.4-8.4.24/ext/soap/tests/bugs/GHSA-cj93-vc83-wgqv.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/soap/tests/bugs/GHSA-cj93-vc83-wgqv.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,155 @@ +--TEST-- +GHSA-cj93-vc83-wgqv +--INI-- +soap.wsdl_cache_enabled=0 +memory_limit=-1 +--EXTENSIONS-- +soap +--CONFLICTS-- +all +--SKIPIF-- + 6) { + $enough_free_ram = true; + } + } + } +} + +if (empty($enough_free_ram)) { + die(sprintf("skip need +6G free RAM, but only %01.2f available", $free_ram)); +} +--FILE-- + $v) { + $chunks[$k] = sprintf("%08x\r\n%s\r\n", strlen($v), $v); + } + + return join('', $chunks); +} + +$wsdl = file_get_contents(__DIR__.'/../server030.wsdl'); + +$headers = + "HTTP/1.1 200 OK\r\n". + "Content-Type: text/xml;charset=utf-8\r\n". + "Transfer-Encoding: \t chunked\t \r\n". + "Connection: close\r\n". + "\r\n"; + +/* Custom minimal server. Unlike the generic http_server() helper it streams the + * 2 GiB filler in bounded blocks instead of materialising it (and a data:// + * copy of it) in memory. That keeps the sender's footprint tiny: only the + * client needs to hold the large buffers, so total memory and run time stay far + * lower and the test no longer thrashes on slower machines. */ +function heavy_soap_server($wsdl, $headers) +{ + $server = stream_socket_server('tcp://localhost:0', $errno, $errstr); + if (!$server) { + return false; + } + $uri = 'http://' . stream_socket_get_name($server, false); + + $pid = pcntl_fork(); + if ($pid == -1) { + die('could not fork'); + } else if ($pid) { + return ['pid' => $pid, 'uri' => $uri]; + } + + /* Child: streaming 2 GiB can exceed the 60s alarm the helper would use, so + * match the run-tests per-test timeout instead. */ + pcntl_alarm(120); + + $drain = static function ($sock) { + stream_set_blocking($sock, false); + while (!feof($sock)) { + $r = [$sock]; $w = $e = null; + if (!stream_select($r, $w, $e, 1)) continue; + $line = stream_get_line($sock, 8192, "\r\n"); + if ($line === '') break; + } + stream_set_blocking($sock, true); + }; + + /* Response 1: the WSDL, chunked. */ + $sock = stream_socket_accept($server, 60); + if ($sock) { + $drain($sock); + fwrite($sock, $headers . chunk_body($wsdl, 64)); + fclose($sock); + } + + /* Response 2: an oversized chunk. Only the size header of the second chunk + * is needed: the reallocation for it happens before its body is read, so on + * the unfixed code the overflow triggers on the first read into the + * undersized buffer. The 2 GiB first-chunk body is streamed in 8 MiB blocks + * rather than built as one string. */ + $sock = stream_socket_accept($server, 60); + if ($sock) { + $drain($sock); + fwrite($sock, $headers); + fwrite($sock, sprintf("%08x\r\n", 0x7fffffff)); + + $remaining = 0x7fffffff; + $block = str_repeat('x', 1 << 23); // 8 MiB + $block_len = strlen($block); + while ($remaining > 0) { + $n = $remaining < $block_len ? $remaining : $block_len; + fwrite($sock, $n === $block_len ? $block : substr($block, 0, $n)); + $remaining -= $n; + } + + fwrite($sock, "\r\n"); + fwrite($sock, sprintf("%08x\r\n", 0x7fffffff)); + fwrite($sock, "xxxx"); + fclose($sock); + } + + exit(0); +} + +['pid' => $pid, 'uri' => $uri] = heavy_soap_server($wsdl, $headers); + +$options = [ + 'trace' => false, + 'location' => $uri, +]; + +$client = new SoapClient($uri, $options); + +$client->getItems(); + +http_server_kill($pid); + +--EXPECTF-- +Fatal error: Uncaught SoapFault exception: [HTTP] Error Fetching http body, No Content-Length, connection closed or chunked data in %s:%d +Stack trace: +#0 [internal function]: SoapClient->__doRequest('__call('getItems', Array) +#2 {main} + thrown in %s on line %d diff -Nru php8.4-8.4.24/ext/soap/tests/gh23447.phpt php8.4-8.4.26/ext/soap/tests/gh23447.phpt --- php8.4-8.4.24/ext/soap/tests/gh23447.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/soap/tests/gh23447.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,28 @@ +--TEST-- +GH-23447 (Segfault when a class passed to SoapServer::setClass() fails to initialize) +--EXTENSIONS-- +soap +--CREDITS-- +Lu Maltsis (@lmaltsis) +--FILE-- + 'http://testuri.org']); +$server->setClass('foo'); + +$server->handle(<<<'XML' + + + + +XML); + +echo "ok\n"; +?> +--EXPECT-- + +SOAP-ENV:ServerUndefined constant "undefinedConstant" +ok diff -Nru php8.4-8.4.24/ext/soap/tests/headerfault_cache.phpt php8.4-8.4.26/ext/soap/tests/headerfault_cache.phpt --- php8.4-8.4.24/ext/soap/tests/headerfault_cache.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/soap/tests/headerfault_cache.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,45 @@ +--TEST-- +WSDL cache corruption when soap:header has headerfaults +--EXTENSIONS-- +soap +--INI-- +soap.wsdl_cache_enabled=1 +--FILE-- + WSDL_CACHE_DISK]; + +$c1 = new SoapClient(__DIR__ . '/headerfault_cache.wsdl', $options); +var_dump($c1->__getFunctions()); + +$c2 = new SoapClient(__DIR__ . '/headerfault_cache.wsdl', $options); +var_dump($c2->__getFunctions()); + +echo "ok\n"; +?> +--CLEAN-- + +--EXPECT-- +array(1) { + [0]=> + string(32) "string testHeader(string $param)" +} +array(1) { + [0]=> + string(32) "string testHeader(string $param)" +} +ok diff -Nru php8.4-8.4.24/ext/soap/tests/headerfault_cache.wsdl php8.4-8.4.26/ext/soap/tests/headerfault_cache.wsdl --- php8.4-8.4.24/ext/soap/tests/headerfault_cache.wsdl 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/soap/tests/headerfault_cache.wsdl 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -Nru php8.4-8.4.24/ext/soap/tests/http_status_line_no_code.phpt php8.4-8.4.26/ext/soap/tests/http_status_line_no_code.phpt --- php8.4-8.4.24/ext/soap/tests/http_status_line_no_code.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/soap/tests/http_status_line_no_code.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,33 @@ +--TEST-- +SoapClient: malformed HTTP status line without status code must not crash +--EXTENSIONS-- +soap +--FILE-- + 'http://{{ ADDR }}', + 'uri' => 'http://testuri.org', + 'connection_timeout' => 3, +]); +var_dump($client->__doRequest('', 'http://{{ ADDR }}', 'T', 1)); +CODE; + +include sprintf('%s/../../openssl/tests/ServerClientTestCase.inc', __DIR__); +ServerClientTestCase::getInstance()->run($clientCode, $serverCode); +?> +--EXPECT-- +string(0) "" diff -Nru php8.4-8.4.24/ext/soap/tests/schema-selfref-attrgroup.phpt php8.4-8.4.26/ext/soap/tests/schema-selfref-attrgroup.phpt --- php8.4-8.4.24/ext/soap/tests/schema-selfref-attrgroup.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/soap/tests/schema-selfref-attrgroup.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,44 @@ +--TEST-- +SOAP XML Schema: self-referential attributeGroup fix-up recursion is rejected +--EXTENSIONS-- +soap +--FILE-- + + + + + + + + + + + + + + + + + + + +'; +$file = __DIR__ . '/schema-selfref-attrgroup.wsdl'; +file_put_contents($file, $wsdl); +try { + $c = new SoapClient($file, ['exceptions' => true, 'cache_wsdl' => WSDL_CACHE_NONE]); + echo "parsed ok\n"; +} catch (Throwable $e) { + echo $e::class, ": ", substr($e->getMessage(), 0, 120), "\n"; +} +echo "done\n"; +?> +--CLEAN-- + +--EXPECTF-- +SoapFault: SOAP-ERROR: Parsing Schema: recursive attributeGroup 'ref' attribute '%s' +done diff -Nru php8.4-8.4.24/ext/soap/tests/schema-selfref-group.phpt php8.4-8.4.26/ext/soap/tests/schema-selfref-group.phpt --- php8.4-8.4.24/ext/soap/tests/schema-selfref-group.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/soap/tests/schema-selfref-group.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,46 @@ +--TEST-- +SOAP XML Schema: self-referential group fix-up recursion is rejected +--EXTENSIONS-- +soap +--FILE-- + + + + + + + + + + + + + + + + + + + + + +'; +$file = __DIR__ . '/schema-selfref-group.wsdl'; +file_put_contents($file, $wsdl); +try { + $c = new SoapClient($file, ['exceptions' => true, 'cache_wsdl' => WSDL_CACHE_NONE]); + echo "parsed ok\n"; +} catch (Throwable $e) { + echo $e::class, ": ", substr($e->getMessage(), 0, 120), "\n"; +} +echo "done\n"; +?> +--CLEAN-- + +--EXPECTF-- +SoapFault: SOAP-ERROR: Parsing Schema: recursive group 'ref' attribute '%s' +done diff -Nru php8.4-8.4.24/ext/sockets/conversions.c php8.4-8.4.26/ext/sockets/conversions.c --- php8.4-8.4.24/ext/sockets/conversions.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/sockets/conversions.c 2026-09-22 15:00:02.000000000 +0000 @@ -1206,6 +1206,7 @@ if (iovlen > UINT_MAX) { do_to_zval_err(ctx, "unexpectedly large value for iov_len: %lu", (unsigned long)iovlen); + return; } array_init_size(zv, (uint32_t)iovlen); diff -Nru php8.4-8.4.24/ext/sockets/multicast.c php8.4-8.4.26/ext/sockets/multicast.c --- php8.4-8.4.24/ext/sockets/multicast.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/sockets/multicast.c 2026-09-22 15:00:02.000000000 +0000 @@ -635,7 +635,7 @@ retry: retval = GetIpAddrTable(addr_table, &size, 0); if (retval == ERROR_INSUFFICIENT_BUFFER) { - erealloc(addr_table, size); + addr_table = erealloc(addr_table, size); goto retry; } if (retval != NO_ERROR) { @@ -677,7 +677,7 @@ retry: retval = GetIpAddrTable(addr_table, &size, 0); if (retval == ERROR_INSUFFICIENT_BUFFER) { - erealloc(addr_table, size); + addr_table = erealloc(addr_table, size); goto retry; } if (retval != NO_ERROR) { diff -Nru php8.4-8.4.24/ext/sockets/sockets.c php8.4-8.4.26/ext/sockets/sockets.c --- php8.4-8.4.24/ext/sockets/sockets.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/sockets/sockets.c 2026-09-22 15:00:02.000000000 +0000 @@ -1839,6 +1839,7 @@ #endif optlen = sizeof(other_val); + other_val = 0; if (getsockopt(php_sock->bsd_socket, level, optname, (char*)&other_val, &optlen) != 0) { PHP_SOCKET_ERROR(php_sock, "Unable to retrieve socket option", errno); @@ -1865,6 +1866,10 @@ #else struct timeval tv; #endif +#ifdef SO_ATTACH_REUSEPORT_CBPF + struct sock_filter cbpf[8] = {0}; + struct sock_fprog bpfprog; +#endif zend_long level, optname; void *opt_ptr; HashTable *opt_ht; @@ -2074,8 +2079,6 @@ optname = SO_DETACH_BPF; } else { uint32_t k = (uint32_t)cbpf_val; - static struct sock_filter cbpf[8] = {0}; - static struct sock_fprog bpfprog; switch (k) { case SKF_AD_CPU: @@ -2357,6 +2360,7 @@ retsock = Z_SOCKET_P(return_value); if (!socket_import_file_descriptor(socket, retsock)) { + retsock->bsd_socket = -1; zval_ptr_dtor(return_value); RETURN_FALSE; } diff -Nru php8.4-8.4.24/ext/spl/spl_observer.c php8.4-8.4.26/ext/spl/spl_observer.c --- php8.4-8.4.24/ext/spl/spl_observer.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/spl/spl_observer.c 2026-09-22 15:00:02.000000000 +0000 @@ -679,7 +679,11 @@ } if (mode == PHP_COUNT_RECURSIVE) { - RETURN_LONG(php_count_recursive(&intern->storage)); + zend_long count = php_count_recursive(&intern->storage); + if (UNEXPECTED(count < 0)) { + RETURN_THROWS(); + } + RETURN_LONG(count); } RETURN_LONG(zend_hash_num_elements(&intern->storage)); diff -Nru php8.4-8.4.24/ext/sqlite3/sqlite3.c php8.4-8.4.26/ext/sqlite3/sqlite3.c --- php8.4-8.4.24/ext/sqlite3/sqlite3.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/sqlite3/sqlite3.c 2026-09-22 15:00:02.000000000 +0000 @@ -2255,7 +2255,9 @@ } if (intern->initialised && intern->db) { - sqlite3_close(intern->db); + /* Use sqlite3_close_v2() because the object may be destroyed while resources depending on the connection are still alive, + * e.g. a blob stream created by SQLite3::openBlob(). */ + sqlite3_close_v2(intern->db); intern->initialised = 0; } diff -Nru php8.4-8.4.24/ext/sqlite3/tests/sqlite3_close_blob_stream.phpt php8.4-8.4.26/ext/sqlite3/tests/sqlite3_close_blob_stream.phpt --- php8.4-8.4.24/ext/sqlite3/tests/sqlite3_close_blob_stream.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/sqlite3/tests/sqlite3_close_blob_stream.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,22 @@ +--TEST-- +Destroying the SQLite3 object while a blob stream is still open must not leak the connection +--EXTENSIONS-- +sqlite3 +--FILE-- +exec('CREATE TABLE test (data BLOB)'); +$db->exec("INSERT INTO test (data) VALUES (x'34323432')"); + +$stream = $db->openBlob('test', 'data', 1); +var_dump($db->close()); +unset($db); +var_dump(fread($stream, 4)); +fclose($stream); + +?> +--EXPECTF-- +Warning: SQLite3::close(): Unable to close database: %s in %s on line %d +bool(false) +string(4) "4242" diff -Nru php8.4-8.4.24/ext/standard/array.c php8.4-8.4.26/ext/standard/array.c --- php8.4-8.4.24/ext/standard/array.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/standard/array.c 2026-09-22 15:00:02.000000000 +0000 @@ -611,10 +611,18 @@ zend_long cnt = 0; zval *element; +#ifdef ZEND_CHECK_STACK_LIMIT + if (UNEXPECTED(zend_call_stack_overflowed(EG(stack_limit)))) { + zend_call_stack_size_error(); + return -1; + } +#endif + if (!(GC_FLAGS(ht) & GC_IMMUTABLE)) { if (GC_IS_RECURSIVE(ht)) { php_error_docref(NULL, E_WARNING, "Recursion detected"); - return 0; + /* A user error handler may have thrown. */ + return EG(exception) ? -1 : 0; } GC_PROTECT_RECURSION(ht); } @@ -623,7 +631,12 @@ ZEND_HASH_FOREACH_VAL(ht, element) { ZVAL_DEREF(element); if (Z_TYPE_P(element) == IS_ARRAY) { - cnt += php_count_recursive(Z_ARRVAL_P(element)); + zend_long sub_cnt = php_count_recursive(Z_ARRVAL_P(element)); + if (UNEXPECTED(sub_cnt < 0)) { + cnt = -1; + break; + } + cnt += sub_cnt; } } ZEND_HASH_FOREACH_END(); @@ -656,6 +669,9 @@ cnt = zend_hash_num_elements(Z_ARRVAL_P(array)); } else { cnt = php_count_recursive(Z_ARRVAL_P(array)); + if (UNEXPECTED(cnt < 0)) { + RETURN_THROWS(); + } } RETURN_LONG(cnt); break; @@ -1465,6 +1481,13 @@ * levels of recursion. */ zend_fcall_info fci = context->fci; +#ifdef ZEND_CHECK_STACK_LIMIT + if (UNEXPECTED(zend_call_stack_overflowed(EG(stack_limit)))) { + zend_call_stack_size_error(); + return FAILURE; + } +#endif + if (zend_hash_num_elements(target_hash) == 0) { return result; } @@ -2692,7 +2715,7 @@ } /* }}} */ -static void php_compact_var(HashTable *eg_active_symbol_table, zval *return_value, zval *entry, uint32_t pos) /* {{{ */ +static zend_result php_compact_var(HashTable *eg_active_symbol_table, zval *return_value, zval *entry, uint32_t pos) /* {{{ */ { zval *value_ptr, data; @@ -2710,25 +2733,43 @@ } } else { php_error_docref_unchecked(NULL, E_WARNING, "Undefined variable $%S", Z_STR_P(entry)); + /* A user error handler may have thrown. */ + return EG(exception) ? FAILURE : SUCCESS; } } else if (Z_TYPE_P(entry) == IS_ARRAY) { + zend_result result = SUCCESS; + +#ifdef ZEND_CHECK_STACK_LIMIT + if (UNEXPECTED(zend_call_stack_overflowed(EG(stack_limit)))) { + zend_call_stack_size_error(); + return FAILURE; + } +#endif if (Z_REFCOUNTED_P(entry)) { if (Z_IS_RECURSIVE_P(entry)) { zend_throw_error(NULL, "Recursion detected"); - return; + return FAILURE; } Z_PROTECT_RECURSION_P(entry); } ZEND_HASH_FOREACH_VAL(Z_ARRVAL_P(entry), value_ptr) { - php_compact_var(eg_active_symbol_table, return_value, value_ptr, pos); + if (UNEXPECTED(php_compact_var(eg_active_symbol_table, return_value, value_ptr, pos) == FAILURE)) { + result = FAILURE; + break; + } } ZEND_HASH_FOREACH_END(); if (Z_REFCOUNTED_P(entry)) { Z_UNPROTECT_RECURSION_P(entry); } + + return result; } else { php_error_docref(NULL, E_WARNING, "Argument #%d must be string or array of strings, %s given", pos, zend_zval_value_name(entry)); - return; + /* A user error handler may have thrown. */ + return EG(exception) ? FAILURE : SUCCESS; } + + return SUCCESS; } /* }}} */ @@ -2760,7 +2801,9 @@ } for (i = 0; i < num_args; i++) { - php_compact_var(symbol_table, return_value, &args[i], i + 1); + if (UNEXPECTED(php_compact_var(symbol_table, return_value, &args[i], i + 1) == FAILURE)) { + RETURN_THROWS(); + } } } /* }}} */ @@ -4090,12 +4133,13 @@ GC_TRY_UNPROTECT_RECURSION(thash); } if (!ret) { + zval_ptr_dtor(&tmp); return 0; } } else { Z_TRY_ADDREF_P(src_zval); zval *zv = zend_hash_next_index_insert(Z_ARRVAL_P(dest_zval), src_zval); - if (EXPECTED(!zv)) { + if (UNEXPECTED(!zv)) { Z_TRY_DELREF_P(src_zval); zend_cannot_add_element(); return 0; @@ -4161,6 +4205,13 @@ zend_ulong num_key; int ret; +#ifdef ZEND_CHECK_STACK_LIMIT + if (UNEXPECTED(zend_call_stack_overflowed(EG(stack_limit)))) { + zend_call_stack_size_error(); + return 0; + } +#endif + ZEND_HASH_FOREACH_KEY_VAL(src, num_key, string_key, src_entry) { src_zval = src_entry; ZVAL_DEREF(src_zval); @@ -4453,7 +4504,7 @@ /* Base case: empty input */ if (!elem_count) { - RETURN_COPY(input); + RETURN_EMPTY_ARRAY(); } /* Initialize return array */ diff -Nru php8.4-8.4.24/ext/standard/filters.c php8.4-8.4.26/ext/standard/filters.c --- php8.4-8.4.24/ext/standard/filters.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/standard/filters.c 2026-09-22 15:00:02.000000000 +0000 @@ -234,7 +234,7 @@ inst->line_ccnt = line_len; inst->line_len = line_len; if (lbchars != NULL) { - inst->lbchars = (lbchars_dup ? pestrdup(lbchars, persistent) : lbchars); + inst->lbchars = (lbchars_dup ? pestrndup(lbchars, lbchars_len, persistent) : lbchars); inst->lbchars_len = lbchars_len; } else { inst->lbchars = NULL; @@ -835,7 +835,7 @@ inst->line_ccnt = line_len; inst->line_len = line_len; if (lbchars != NULL) { - inst->lbchars = (lbchars_dup ? pestrdup(lbchars, persistent) : lbchars); + inst->lbchars = (lbchars_dup ? pestrndup(lbchars, lbchars_len, persistent) : lbchars); inst->lbchars_len = lbchars_len; } else { inst->lbchars = NULL; @@ -1048,7 +1048,7 @@ inst->next_char = 0; inst->lb_ptr = inst->lb_cnt = 0; if (lbchars != NULL) { - inst->lbchars = (lbchars_dup ? pestrdup(lbchars, persistent) : lbchars); + inst->lbchars = (lbchars_dup ? pestrndup(lbchars, lbchars_len, persistent) : lbchars); inst->lbchars_len = lbchars_len; } else { inst->lbchars = NULL; @@ -1715,12 +1715,14 @@ data->chunk_size = 0; case CHUNK_SIZE: while (p < end) { + size_t digit; + if (*p >= '0' && *p <= '9') { - data->chunk_size = (data->chunk_size * 16) + (*p - '0'); + digit = *p - '0'; } else if (*p >= 'A' && *p <= 'F') { - data->chunk_size = (data->chunk_size * 16) + (*p - 'A' + 10); + digit = *p - 'A' + 10; } else if (*p >= 'a' && *p <= 'f') { - data->chunk_size = (data->chunk_size * 16) + (*p - 'a' + 10); + digit = *p - 'a' + 10; } else if (data->state == CHUNK_SIZE_START) { data->state = CHUNK_ERROR; break; @@ -1728,6 +1730,11 @@ data->state = CHUNK_SIZE_EXT; break; } + if (data->chunk_size > (SIZE_MAX / 16)) { + data->state = CHUNK_ERROR; + break; + } + data->chunk_size = (data->chunk_size * 16) + digit; data->state = CHUNK_SIZE; p++; } diff -Nru php8.4-8.4.24/ext/standard/fsock.c php8.4-8.4.26/ext/standard/fsock.c --- php8.4-8.4.24/ext/standard/fsock.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/standard/fsock.c 2026-09-22 15:00:02.000000000 +0000 @@ -107,7 +107,7 @@ efree(hashkey); } - zend_argument_value_error(6, "must be -1 or between 0 and " ZEND_ULONG_FMT, ((double) PHP_TIMEOUT_ULL_MAX / 1000000.0)); + zend_argument_value_error(5, "must be -1 or between 0 and %" PRIu64, (uint64_t) ((double) PHP_TIMEOUT_ULL_MAX / 1000000.0)); RETURN_THROWS(); } else { #ifndef PHP_WIN32 diff -Nru php8.4-8.4.24/ext/standard/ftp_fopen_wrapper.c php8.4-8.4.26/ext/standard/ftp_fopen_wrapper.c --- php8.4-8.4.24/ext/standard/ftp_fopen_wrapper.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/standard/ftp_fopen_wrapper.c 2026-09-22 15:00:02.000000000 +0000 @@ -625,9 +625,9 @@ basename = php_basename(ent->d_name, tmp_len, NULL, 0); - tmp_len = MIN(sizeof(ent->d_name), ZSTR_LEN(basename) - 1); + tmp_len = MIN(sizeof(ent->d_name) - 1, ZSTR_LEN(basename)); memcpy(ent->d_name, ZSTR_VAL(basename), tmp_len); - ent->d_name[tmp_len - 1] = '\0'; + ent->d_name[tmp_len] = '\0'; zend_string_release_ex(basename, 0); ent->d_type = DT_UNKNOWN; diff -Nru php8.4-8.4.24/ext/standard/http_fopen_wrapper.c php8.4-8.4.26/ext/standard/http_fopen_wrapper.c --- php8.4-8.4.24/ext/standard/http_fopen_wrapper.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/standard/http_fopen_wrapper.c 2026-09-22 15:00:02.000000000 +0000 @@ -81,27 +81,70 @@ #define HTTP_WRAPPER_HEADER_INIT 1 #define HTTP_WRAPPER_REDIRECTED 2 #define HTTP_WRAPPER_KEEP_METHOD 4 +#define HTTP_WRAPPER_STRIP_AUTH 8 +static char *next_header_line(char *line) +{ + while (*line != '\0' && *line != '\r' && *line != '\n') { + line++; + } + if (*line == '\r') { + line++; + } + if (*line == '\n') { + line++; + } + + return line; +} + +/* Removes every line whose header name matches, along with the folded + * continuation lines carrying the rest of its value. Neither a repeated header + * nor an occurrence of the name inside another header's value may leave the real + * header behind, as that would defeat HTTP_WRAPPER_STRIP_AUTH. */ static inline void strip_header(char *header_bag, char *lc_header_bag, const char *lc_header_name) { - char *lc_header_start = strstr(lc_header_bag, lc_header_name); - if (lc_header_start - && (lc_header_start == lc_header_bag || *(lc_header_start-1) == '\n') - ) { - char *header_start = header_bag + (lc_header_start - lc_header_bag); - char *lc_eol = strchr(lc_header_start, '\n'); + size_t name_len = strlen(lc_header_name); + char *lc_line = lc_header_bag; - if (lc_eol) { - char *eol = header_start + (lc_eol - lc_header_start); - size_t eollen = strlen(lc_eol); + while (*lc_line != '\0') { + if (strncmp(lc_line, lc_header_name, name_len) != 0) { + lc_line = next_header_line(lc_line); + continue; + } - memmove(lc_header_start, lc_eol+1, eollen); - memmove(header_start, eol+1, eollen); - } else { - *lc_header_start = '\0'; - *header_start = '\0'; + /* the whitespace RFC 7230 forbids before the colon is tolerated by some + * servers, so it must not hide the header from us either */ + const char *lc_colon = lc_line + name_len; + while (*lc_colon == ' ' || *lc_colon == '\t') { + lc_colon++; + } + + if (*lc_colon != ':') { + lc_line = next_header_line(lc_line); + continue; } + + char *lc_next = next_header_line(lc_line); + while (*lc_next == ' ' || *lc_next == '\t') { + lc_next = next_header_line(lc_next); + } + + if (*lc_next == '\0') { + /* drop the preceding line break too, or the one appended after the bag + * would close the header block early */ + while (lc_line > lc_header_bag + && (*(lc_line - 1) == '\r' || *(lc_line - 1) == '\n')) { + --lc_line; + } + } + + size_t tail_len = strlen(lc_next) + 1; + char *line = header_bag + (lc_line - lc_header_bag); + + memmove(line, header_bag + (lc_next - lc_header_bag), tail_len); + memmove(lc_line, lc_next, tail_len); } } @@ -697,8 +740,23 @@ if (!header_init && !redirect_keep_method) { /* strip POST headers on redirect */ - strip_header(user_headers, t, "content-length:"); - strip_header(user_headers, t, "content-type:"); + strip_header(user_headers, t, "content-length"); + strip_header(user_headers, t, "content-type"); + } + + if (flags & HTTP_WRAPPER_STRIP_AUTH) { + strip_header(user_headers, t, "authorization"); + strip_header(user_headers, t, "cookie"); + if (!use_proxy) { + strip_header(user_headers, t, "proxy-authorization"); + } + } + + if (*user_headers == '\0') { + /* everything got stripped, keeping the empty bag would append a + * stray CRLF and end the header block early */ + efree(user_headers); + user_headers = NULL; } if (check_has_header(t, "user-agent:")) { @@ -1052,7 +1110,7 @@ char *new_path = NULL; - if (strlen(header_info.location) < 8 || + if (header_info.location_len < 8 || (strncasecmp(header_info.location, "http://", sizeof("http://")-1) && strncasecmp(header_info.location, "https://", sizeof("https://")-1) && strncasecmp(header_info.location, "ftp://", sizeof("ftp://")-1) && @@ -1060,7 +1118,7 @@ { char *loc_path = NULL; if (*header_info.location != '/') { - if (*(header_info.location+1) != '\0' && resource->path) { + if (header_info.location_len > 1 && resource->path) { char *s = strrchr(ZSTR_VAL(resource->path), '/'); if (!s) { s = ZSTR_VAL(resource->path); @@ -1100,14 +1158,22 @@ header_info.location = NULL; } - php_url_free(resource); - /* check for invalid redirection URLs */ - if ((resource = php_url_parse(new_path)) == NULL) { + php_url *new_resource = php_url_parse(new_path); + if (new_resource == NULL) { php_stream_wrapper_log_error(wrapper, options, "Invalid redirect URL! %s", new_path); efree(new_path); goto out; } + int default_port = use_ssl ? 443 : 80; + bool same_origin = zend_string_equals_ci(resource->scheme, new_resource->scheme) + && zend_string_equals_ci(resource->host, new_resource->host) + && (resource->port ? resource->port : default_port) + == (new_resource->port ? new_resource->port : default_port); + + php_url_free(resource); + resource = new_resource; + #define CHECK_FOR_CNTRL_CHARS(val) { \ if (val) { \ unsigned char *s, *e; \ @@ -1129,7 +1195,10 @@ CHECK_FOR_CNTRL_CHARS(resource->pass); CHECK_FOR_CNTRL_CHARS(resource->path); } - int new_flags = HTTP_WRAPPER_REDIRECTED; + int new_flags = HTTP_WRAPPER_REDIRECTED | (flags & HTTP_WRAPPER_STRIP_AUTH); + if (!same_origin) { + new_flags |= HTTP_WRAPPER_STRIP_AUTH; + } if (response_code == 307 || response_code == 308) { /* RFC 7538 specifies that status code 308 does not allow changing the request method from POST to GET. * RFC 7231 does the same for status code 307. diff -Nru php8.4-8.4.24/ext/standard/math.c php8.4-8.4.26/ext/standard/math.c --- php8.4-8.4.24/ext/standard/math.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/standard/math.c 2026-09-22 15:00:02.000000000 +0000 @@ -172,6 +172,10 @@ return value; } + if (places == 0 && value == trunc(value)) { + return value; + } + places = places < INT_MIN+1 ? INT_MIN+1 : places; exponent = php_intpow10(abs(places)); diff -Nru php8.4-8.4.24/ext/standard/php_array.h php8.4-8.4.26/ext/standard/php_array.h --- php8.4-8.4.24/ext/standard/php_array.h 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/standard/php_array.h 2026-09-22 15:00:02.000000000 +0000 @@ -29,6 +29,7 @@ PHPAPI int php_array_merge_recursive(HashTable *dest, HashTable *src); PHPAPI int php_array_replace_recursive(HashTable *dest, HashTable *src); PHPAPI int php_multisort_compare(const void *a, const void *b); +/* Returns -1 and throws if the array is nested too deeply. */ PHPAPI zend_long php_count_recursive(HashTable *ht); PHPAPI bool php_array_data_shuffle(php_random_algo_with_state engine, zval *array); diff -Nru php8.4-8.4.24/ext/standard/string.c php8.4-8.4.26/ext/standard/string.c --- php8.4-8.4.24/ext/standard/string.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/standard/string.c 2026-09-22 15:00:02.000000000 +0000 @@ -983,6 +983,9 @@ uint32_t flags = ZSTR_GET_COPYABLE_CONCAT_PROPERTIES(glue); + /* Converting an element may call __toString(), which can destroy pieces. */ + GC_TRY_ADDREF(pieces); + ZEND_HASH_FOREACH_VAL(pieces, tmp) { if (EXPECTED(Z_TYPE_P(tmp) == IS_STRING)) { ptr->str = Z_STR_P(tmp); @@ -1042,6 +1045,7 @@ } free_alloca(strings, use_heap); + GC_TRY_DTOR_NO_REF(pieces); RETURN_NEW_STR(str); } /* }}} */ @@ -3392,7 +3396,12 @@ { if (zend_hash_num_elements(from_ht) < 1) { RETURN_STR_COPY(str); - } else if (zend_hash_num_elements(from_ht) == 1) { + } + + /* Converting a replacement may call __toString(), which can destroy from_ht. */ + GC_TRY_ADDREF(from_ht); + + if (zend_hash_num_elements(from_ht) == 1) { zend_long num_key; zend_string *str_key, *tmp_str, *replace, *tmp_replace; zval *entry; @@ -3421,11 +3430,13 @@ } zend_tmp_string_release(tmp_str); zend_tmp_string_release(tmp_replace); - return; + break; } ZEND_HASH_FOREACH_END(); } else { php_strtr_array_ex(return_value, str, from_ht); } + + GC_TRY_DTOR_NO_REF(from_ht); } /* {{{ Translates characters in str using given translation tables */ @@ -4485,6 +4496,17 @@ RETURN_THROWS(); } + /* Converting an element may call __toString(), which can destroy the arrays. */ + if (search_ht) { + GC_TRY_ADDREF(search_ht); + } + if (replace_ht) { + GC_TRY_ADDREF(replace_ht); + } + if (subject_ht) { + GC_TRY_ADDREF(subject_ht); + } + /* if subject is an array */ if (subject_ht) { array_init(return_value); @@ -4511,6 +4533,16 @@ if (zcount) { ZEND_TRY_ASSIGN_REF_LONG(zcount, count); } + + if (search_ht) { + GC_TRY_DTOR_NO_REF(search_ht); + } + if (replace_ht) { + GC_TRY_DTOR_NO_REF(replace_ht); + } + if (subject_ht) { + GC_TRY_DTOR_NO_REF(subject_ht); + } } /* {{{ php_str_replace_common */ diff -Nru php8.4-8.4.24/ext/standard/tests/array/array_merge_recursive_object_leak.phpt php8.4-8.4.26/ext/standard/tests/array/array_merge_recursive_object_leak.phpt --- php8.4-8.4.24/ext/standard/tests/array/array_merge_recursive_object_leak.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/standard/tests/array/array_merge_recursive_object_leak.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,55 @@ +--TEST-- +array_merge_recursive() must not leak the array converted from an object when the merge below it fails +--FILE-- + (object) ['k' => 1]]); +} catch (\Throwable $e) { + echo $e::class, ': ', $e->getMessage(), PHP_EOL; +} + +/* Control: same failing exit, array source, nothing to release. */ +$control = []; +$control['k'] = &$control; +try { + array_merge_recursive($control, ['k' => ['k' => 1]]); +} catch (\Throwable $e) { + echo $e::class, ': ', $e->getMessage(), PHP_EOL; +} + +/* Several nested levels convert an object before the failure unwinds through them. */ +$ring = [[], [], []]; +for ($i = 0; $i < 3; $i++) { + $ring[$i]['k'] = &$ring[($i + 1) % 3]; +} +$src = (object) ['k' => 1]; +for ($i = 1; $i < 3; $i++) { + $src = (object) ['k' => $src]; +} +try { + array_merge_recursive($ring[0], ['k' => $src]); +} catch (\Throwable $e) { + echo $e::class, ': ', $e->getMessage(), PHP_EOL; +} + +/* The successful path still releases it exactly once. */ +$ok = ['k' => ['a']]; +var_dump(array_merge_recursive($ok, ['k' => (object) ['b']])); + +?> +--EXPECT-- +Error: Recursion detected +Error: Recursion detected +Error: Recursion detected +array(1) { + ["k"]=> + array(2) { + [0]=> + string(1) "a" + [1]=> + string(1) "b" + } +} diff -Nru php8.4-8.4.24/ext/standard/tests/array/count_recursive_stack_limit.phpt php8.4-8.4.26/ext/standard/tests/array/count_recursive_stack_limit.phpt --- php8.4-8.4.24/ext/standard/tests/array/count_recursive_stack_limit.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/standard/tests/array/count_recursive_stack_limit.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,32 @@ +--TEST-- +Stack overflow in count() with COUNT_RECURSIVE and deeply nested arrays +--SKIPIF-- + +--INI-- +zend.max_allowed_stack_size=256K +--FILE-- +getMessage(), "\n"; + var_dump($e->getPrevious()); +} +?> +--EXPECTF-- +Error: Maximum call stack size of %d bytes (zend.max_allowed_stack_size - zend.reserved_stack_size) reached. Infinite recursion? +NULL diff -Nru php8.4-8.4.24/ext/standard/tests/array/gh23111.phpt php8.4-8.4.26/ext/standard/tests/array/gh23111.phpt --- php8.4-8.4.24/ext/standard/tests/array/gh23111.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/standard/tests/array/gh23111.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,27 @@ +--TEST-- +GH-23111 (Stack overflow in array_walk_recursive with deeply nested arrays) +--SKIPIF-- + +--INI-- +zend.max_allowed_stack_size=256K +--FILE-- +getMessage(), "\n"; +} +?> +--EXPECTF-- +Error: Maximum call stack size of %d bytes (zend.max_allowed_stack_size - zend.reserved_stack_size) reached. Infinite recursion? diff -Nru php8.4-8.4.24/ext/standard/tests/array/gh23113.phpt php8.4-8.4.26/ext/standard/tests/array/gh23113.phpt --- php8.4-8.4.24/ext/standard/tests/array/gh23113.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/standard/tests/array/gh23113.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,27 @@ +--TEST-- +GH-23113 (Stack overflow in array_replace_recursive with deeply nested arrays) +--SKIPIF-- + +--INI-- +zend.max_allowed_stack_size=256K +--FILE-- + $a]; +} +try { + array_replace_recursive($a, $a); +} catch (Throwable $e) { + echo $e::class, ": ", $e->getMessage(), "\n"; +} +?> +--EXPECTF-- +Error: Maximum call stack size of %d bytes (zend.max_allowed_stack_size - zend.reserved_stack_size) reached. Infinite recursion? diff -Nru php8.4-8.4.24/ext/standard/tests/array/gh23115.phpt php8.4-8.4.26/ext/standard/tests/array/gh23115.phpt --- php8.4-8.4.24/ext/standard/tests/array/gh23115.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/standard/tests/array/gh23115.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,41 @@ +--TEST-- +GH-23115 (Stack overflow in compact with deeply nested arrays) +--SKIPIF-- + +--INI-- +zend.max_allowed_stack_size=256K +--FILE-- +getMessage(), "\n"; + var_dump($e->getPrevious()); +} + +try { + compact($names, $names); +} catch (Throwable $e) { + echo $e::class, ": ", $e->getMessage(), "\n"; + var_dump($e->getPrevious()); +} +?> +--EXPECTF-- +Error: Maximum call stack size of %d bytes (zend.max_allowed_stack_size - zend.reserved_stack_size) reached. Infinite recursion? +NULL +Error: Maximum call stack size of %d bytes (zend.max_allowed_stack_size - zend.reserved_stack_size) reached. Infinite recursion? +NULL diff -Nru php8.4-8.4.24/ext/standard/tests/array/gh23576.phpt php8.4-8.4.26/ext/standard/tests/array/gh23576.phpt --- php8.4-8.4.24/ext/standard/tests/array/gh23576.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/standard/tests/array/gh23576.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,58 @@ +--TEST-- +GH-23576 (Next index for array returned from array_keys() is wrong) +--FILE-- + 123]; +unset($a[123]); + +$b = array_keys($a); +$b[] = 42; +var_dump($b); + +$c = array_keys($a, 123); +$c[] = 42; +var_dump($c); + +$d = array_keys($a, 123, true); +$d[] = 42; +var_dump($d); + +$e = []; + +$f = array_keys($e); +$f[] = 42; +var_dump($f); + +$g = array_keys($e, 123); +$g[] = 42; +var_dump($g); + +$h = array_keys($e, 123, true); +$h[] = 42; +var_dump($h); +?> +--EXPECT-- +array(1) { + [0]=> + int(42) +} +array(1) { + [0]=> + int(42) +} +array(1) { + [0]=> + int(42) +} +array(1) { + [0]=> + int(42) +} +array(1) { + [0]=> + int(42) +} +array(1) { + [0]=> + int(42) +} diff -Nru php8.4-8.4.24/ext/standard/tests/file/file_get_contents_variation7-win32.phpt php8.4-8.4.26/ext/standard/tests/file/file_get_contents_variation7-win32.phpt --- php8.4-8.4.24/ext/standard/tests/file/file_get_contents_variation7-win32.phpt 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/standard/tests/file/file_get_contents_variation7-win32.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -10,8 +10,8 @@ --FILE-- --CLEAN-- +--FILE-- + +--EXPECT-- +Bare device names keep working: +bool(true) +bool(true) +bool(true) +Reserved names in paths are rejected: +bool(true) +bool(false) +bool(true) +bool(false) +bool(true) +bool(false) +bool(true) +bool(false) +bool(true) +bool(false) +bool(true) +bool(false) +bool(true) +bool(false) +bool(true) +bool(false) +bool(true) +bool(false) +bool(true) +bool(false) +bool(true) +bool(false) +bool(true) +bool(true) +bool(true) +bool(true) +bool(true) +Similar names are fine: +bool(true) +bool(true) +bool(true) +bool(true) +bool(true) +bool(true) +bool(true) diff -Nru php8.4-8.4.24/ext/standard/tests/file/touch_variation6-win32.phpt php8.4-8.4.26/ext/standard/tests/file/touch_variation6-win32.phpt --- php8.4-8.4.24/ext/standard/tests/file/touch_variation6-win32.phpt 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/standard/tests/file/touch_variation6-win32.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -10,7 +10,7 @@ ?> --FILE-- data); + stream_bucket_prepend($out, $bucket); + } + return PSFS_PASS_ON; + } +} +stream_filter_register("myfilter", "MyFilter"); +$fp = fopen("php://temp", "w+"); +fwrite($fp, str_repeat("A", 100)); +rewind($fp); +stream_filter_append($fp, "myfilter"); +try { + var_dump(stream_get_contents($fp)); +} catch (Throwable $e) { + echo $e::class, ': ', $e->getMessage(), "\n"; +} +echo "DONE\n"; +--EXPECT-- +Error: Typed property StreamBucket::$data must not be accessed before initialization +DONE diff -Nru php8.4-8.4.24/ext/standard/tests/filters/bug54350.phpt php8.4-8.4.26/ext/standard/tests/filters/bug54350.phpt --- php8.4-8.4.24/ext/standard/tests/filters/bug54350.phpt 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/standard/tests/filters/bug54350.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -23,4 +23,4 @@ ?> --EXPECTF-- Warning: fclose(): 5 is not a valid stream resource in %s on line %d -fclose(): supplied resource is not a valid stream resource +fclose(): Argument #1 ($stream) must be of type resource, null given diff -Nru php8.4-8.4.24/ext/standard/tests/filters/dechunk_size_overflow.phpt php8.4-8.4.26/ext/standard/tests/filters/dechunk_size_overflow.phpt --- php8.4-8.4.24/ext/standard/tests/filters/dechunk_size_overflow.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/standard/tests/filters/dechunk_size_overflow.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,38 @@ +--TEST-- +dechunk filter must reject a chunk size that overflows size_t +--SKIPIF-- + +--INI-- +allow_url_fopen=1 +--FILE-- + +--EXPECTF-- +string(%d) "%s +BODYDATA +0 +" +string(%d) "%s +BODYDATA +0 +" +string(5) "hello" diff -Nru php8.4-8.4.24/ext/standard/tests/filters/gh15836.phpt php8.4-8.4.26/ext/standard/tests/filters/gh15836.phpt --- php8.4-8.4.24/ext/standard/tests/filters/gh15836.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/standard/tests/filters/gh15836.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,34 @@ +--TEST-- +GH-15836 (use-after-free when a user filter reads $this->stream during the close flush) +--FILE-- +stream, "x"); + } catch (TypeError $e) { + self::$e = $e; + } + } + return PSFS_PASS_ON; + } +} +var_dump(stream_filter_register("my_filter", "my_filter")); + +function run() { + $s = fopen("php://memory", "wb+"); + stream_filter_append($s, "my_filter", STREAM_FILTER_WRITE); +} +run(); + +echo my_filter::$e->getTraceAsString(), "\n"; +echo "done\n"; +?> +--EXPECTF-- +bool(true) +#0 %s(%d): stream_bucket_new(NULL, 'x') +#1 %s(%d): my_filter->filter(Resource id #%d, Resource id #%d, 0, true) +#2 {main} +done diff -Nru php8.4-8.4.24/ext/standard/tests/filters/ghsa-88hq-2827-7pg6.phpt php8.4-8.4.26/ext/standard/tests/filters/ghsa-88hq-2827-7pg6.phpt --- php8.4-8.4.24/ext/standard/tests/filters/ghsa-88hq-2827-7pg6.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/standard/tests/filters/ghsa-88hq-2827-7pg6.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,27 @@ +--TEST-- +GHSA-88hq-2827-7pg6: OOB read in convert stream filters when line-break-chars contains NUL +--FILE-- + 4, "line-break-chars" => "\0X"]; +$fp = fopen("php://temp", "r+"); +fwrite($fp, str_repeat("A", 6)); +rewind($fp); +stream_filter_append($fp, "convert.base64-encode", STREAM_FILTER_READ, $opts); +$out = stream_get_contents($fp); +fclose($fp); + +// base64("AAAAAA") = "QUFBQUFB" (8 chars) +// With line-length=4: "QUFB" + "\0X" + "QUFB" +// Hex: 5155464200585155 4642 +echo bin2hex($out), "\n"; + +echo "Done\n"; + +?> +--EXPECT-- +51554642005851554642 +Done diff -Nru php8.4-8.4.24/ext/standard/tests/filters/stream_filter_remove_compact_read_buffer.phpt php8.4-8.4.26/ext/standard/tests/filters/stream_filter_remove_compact_read_buffer.phpt --- php8.4-8.4.24/ext/standard/tests/filters/stream_filter_remove_compact_read_buffer.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/standard/tests/filters/stream_filter_remove_compact_read_buffer.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,31 @@ +--TEST-- +stream_filter_remove() compacts unread data before appending flushed data +--FILE-- +datalen; + stream_bucket_append($out, $bucket); + } + if ($closing) { + stream_bucket_append($out, stream_bucket_new($this->stream, 'END')); + } + return PSFS_PASS_ON; + } +} +stream_filter_register('closing-suffix', ClosingSuffixFilter::class); +$stream = fopen('php://memory', 'w+'); +fwrite($stream, 'abcdef'); +rewind($stream); +$filter = stream_filter_append($stream, 'closing-suffix', STREAM_FILTER_READ); +var_dump(fread($stream, 2)); +var_dump(stream_filter_remove($filter)); +var_dump(stream_get_contents($stream)); +?> +--EXPECT-- +string(2) "ab" +bool(true) +string(7) "cdefEND" diff -Nru php8.4-8.4.24/ext/standard/tests/general_functions/var_dump_stack_limit.phpt php8.4-8.4.26/ext/standard/tests/general_functions/var_dump_stack_limit.phpt --- php8.4-8.4.24/ext/standard/tests/general_functions/var_dump_stack_limit.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/standard/tests/general_functions/var_dump_stack_limit.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,40 @@ +--TEST-- +var_dump() and debug_zval_dump() guard against native stack overflow on deep structures +--SKIPIF-- + +--INI-- +zend.max_allowed_stack_size=256K +--FILE-- +next = $newNode; $node = $newNode; } + +function guarded(callable $fn): string { + ob_start(); + $fn(); + return str_contains(ob_get_clean(), 'nesting level too deep') ? "guarded\n" : "NO GUARD\n"; +} + +echo 'var_dump array: ', guarded(fn() => var_dump($a)); +echo 'debug_zval_dump array: ', guarded(fn() => debug_zval_dump($a)); +echo 'debug_zval_dump object: ', guarded(fn() => debug_zval_dump($firstNode)); + +while (is_array($a) && isset($a[0])) { $a = $a[0]; } +while ($next = $firstNode->next) { $firstNode->next = $next->next; } +?> +--EXPECT-- +var_dump array: guarded +debug_zval_dump array: guarded +debug_zval_dump object: guarded diff -Nru php8.4-8.4.24/ext/standard/tests/http/bug61548.phpt php8.4-8.4.26/ext/standard/tests/http/bug61548.phpt --- php8.4-8.4.24/ext/standard/tests/http/bug61548.phpt 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/standard/tests/http/bug61548.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -55,7 +55,6 @@ First:1 Second:2 - POST / HTTP/1.1 Host: %s:%d Connection: close @@ -69,7 +68,6 @@ First:1 Second:2 - POST / HTTP/1.1 Host: %s:%d Connection: close diff -Nru php8.4-8.4.24/ext/standard/tests/http/ghsa-fpwc-w8rq-cr92.phpt php8.4-8.4.26/ext/standard/tests/http/ghsa-fpwc-w8rq-cr92.phpt --- php8.4-8.4.24/ext/standard/tests/http/ghsa-fpwc-w8rq-cr92.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/standard/tests/http/ghsa-fpwc-w8rq-cr92.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,159 @@ +--TEST-- +GHSA-fpwc-w8rq-cr92: strip credentials from user headers on cross-origin redirect +--INI-- +allow_url_fopen=1 +--SKIPIF-- + +--FILE-- + [ + 'header' => "Authorization: Bearer SECRET\r\n" + . "Cookie: sid=abc\r\n" + . "Proxy-Authorization: Basic Zm9vOmJhcg==\r\n" + . "X-Custom: keep-me", + 'follow_location' => 1, +]]); + +/* server B listens on a different port than server A, so the hop from A to B is + * cross-origin; B then redirects to itself: credentials must stay withheld for + * that same-origin hop too */ +$captureB = null; +['pid' => $pidB, 'uri' => $uriB] = http_server([ + "data://text/plain,HTTP/1.1 302 Found\r\nLocation: /second\r\nContent-Length: 0\r\n\r\n", + "data://text/plain,HTTP/1.1 200 OK\r\nContent-Length: 2\r\n\r\nOK", +], $captureB); + +$captureA = null; +['pid' => $pidA, 'uri' => $uriA] = http_server([ + "data://text/plain,HTTP/1.1 302 Found\r\nLocation: $uriB/first\r\nContent-Length: 0\r\n\r\n", +], $captureA); + +var_dump(file_get_contents($uriA . '/src', false, $ctx)); + +http_server_kill($pidA); +http_server_kill($pidB); + +rewind($captureA); +rewind($captureB); +report('--- origin A (1 request) ---', stream_get_contents($captureA)); +report('--- origin B (2 requests) ---', stream_get_contents($captureB)); + +/* same origin throughout: credentials must be sent on both hops */ +$captureC = null; +['pid' => $pidC, 'uri' => $uriC] = http_server([ + "data://text/plain,HTTP/1.1 302 Found\r\nLocation: /next\r\nContent-Length: 0\r\n\r\n", + "data://text/plain,HTTP/1.1 200 OK\r\nContent-Length: 2\r\n\r\nOK", +], $captureC); + +var_dump(file_get_contents($uriC . '/first', false, $ctx)); + +http_server_kill($pidC); + +rewind($captureC); +report('--- origin C (2 requests) ---', stream_get_contents($captureC)); + +/* a stripped header that was last in the bag must not leave a trailing line break + * behind, or the request body would be pushed out of the request */ +$ctx = stream_context_create(['http' => [ + 'method' => 'POST', + 'content' => 'hello=world', + 'header' => "X-Custom: keep-me\r\nAuthorization: Bearer SECRET", + 'follow_location' => 1, +]]); + +$captureH = null; +['pid' => $pidH, 'uri' => $uriH] = http_server([ + "data://text/plain,HTTP/1.1 200 OK\r\nContent-Length: 2\r\n\r\nOK", +], $captureH); + +$captureG = null; +['pid' => $pidG, 'uri' => $uriG] = http_server([ + "data://text/plain,HTTP/1.1 307 Temporary Redirect\r\nLocation: $uriH/second\r\nContent-Length: 0\r\n\r\n", +], $captureG); + +var_dump(@file_get_contents($uriG . '/first', false, $ctx)); + +http_server_kill($pidG); +http_server_kill($pidH); + +rewind($captureH); +echo "--- credential header last in the bag (307) ---\n"; +echo preg_replace('/^Host:.*$/m', 'Host: ...', stream_get_contents($captureH)); + +echo "--- malformed header bags ---\n"; +foreach ([ + 'folded value ' => "Authorization:\r\n Bearer SECRET\r\nX-Custom: keep-me", + 'folded value (tab)' => "Authorization:\r\n\tBearer SECRET\r\nX-Custom: keep-me", + 'lone CR ' => "X-Custom: keep-me\rAuthorization: Bearer SECRET", + 'space before colon' => "Authorization : Bearer SECRET\r\nX-Custom: keep-me", + 'tab before colon ' => "Authorization\t: Bearer SECRET\r\nX-Custom: keep-me", +] as $label => $header) { + $ctx = stream_context_create(['http' => ['header' => $header, 'follow_location' => 1]]); + + $captureF = null; + ['pid' => $pidF, 'uri' => $uriF] = http_server([ + "data://text/plain,HTTP/1.1 200 OK\r\nContent-Length: 2\r\n\r\nOK", + ], $captureF); + + $captureE = null; + ['pid' => $pidE, 'uri' => $uriE] = http_server([ + "data://text/plain,HTTP/1.1 302 Found\r\nLocation: $uriF/second\r\nContent-Length: 0\r\n\r\n", + ], $captureE); + + file_get_contents($uriE . '/first', false, $ctx); + + http_server_kill($pidE); + http_server_kill($pidF); + + rewind($captureF); + $request = stream_get_contents($captureF); + printf(" %s SECRET leaked: %d, X-Custom kept: %d\n", $label, + str_contains($request, 'SECRET'), str_contains($request, 'X-Custom')); +} +?> +--EXPECT-- +string(2) "OK" +--- origin A (1 request) --- + Authorization: 1 + Cookie: 1 + Proxy-Authorization: 1 + X-Custom: 1 +--- origin B (2 requests) --- + Authorization: 0 + Cookie: 0 + Proxy-Authorization: 0 + X-Custom: 2 +string(2) "OK" +--- origin C (2 requests) --- + Authorization: 2 + Cookie: 2 + Proxy-Authorization: 2 + X-Custom: 2 +string(2) "OK" +--- credential header last in the bag (307) --- +POST /second HTTP/1.1 +Host: ... +Connection: close +Content-Length: 11 +X-Custom: keep-me +Content-Type: application/x-www-form-urlencoded + +hello=world--- malformed header bags --- + folded value SECRET leaked: 0, X-Custom kept: 1 + folded value (tab) SECRET leaked: 0, X-Custom kept: 1 + lone CR SECRET leaked: 0, X-Custom kept: 1 + space before colon SECRET leaked: 0, X-Custom kept: 1 + tab before colon SECRET leaked: 0, X-Custom kept: 1 diff -Nru php8.4-8.4.24/ext/standard/tests/http/http_empty_location_redirect.phpt php8.4-8.4.26/ext/standard/tests/http/http_empty_location_redirect.phpt --- php8.4-8.4.24/ext/standard/tests/http/http_empty_location_redirect.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/standard/tests/http/http_empty_location_redirect.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,36 @@ +--TEST-- +Empty Location header must not over-read when building the redirect target +--FILE-- + ['follow_location' => 1]]); +echo @file_get_contents("http://{{ ADDR }}/a/b", false, $ctx), "\n"; +CODE; + +include sprintf("%s/../../../openssl/tests/ServerClientTestCase.inc", __DIR__); +ServerClientTestCase::getInstance()->run($clientCode, $serverCode); +?> +--EXPECT-- +uri=/ diff -Nru php8.4-8.4.24/ext/standard/tests/http/http_single_char_location_redirect.phpt php8.4-8.4.26/ext/standard/tests/http/http_single_char_location_redirect.phpt --- php8.4-8.4.24/ext/standard/tests/http/http_single_char_location_redirect.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/standard/tests/http/http_single_char_location_redirect.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,39 @@ +--TEST-- +Single-char relative Location header keeps resolving against the host root (pre-GH-23467 behavior) +--DESCRIPTION-- +Not RFC 3986 compliant ("x" against "/a/b" gives "/a/x"), but matches +PHP's long-standing behavior of resolving against the host root. See GH-23521. +--FILE-- + ['follow_location' => 1]]); +echo @file_get_contents("http://{{ ADDR }}/a/b", false, $ctx), "\n"; +CODE; + +include sprintf("%s/../../../openssl/tests/ServerClientTestCase.inc", __DIR__); +ServerClientTestCase::getInstance()->run($clientCode, $serverCode); +?> +--EXPECT-- +uri=/x diff -Nru php8.4-8.4.24/ext/standard/tests/mail/bug80751.phpt php8.4-8.4.26/ext/standard/tests/mail/bug80751.phpt --- php8.4-8.4.24/ext/standard/tests/mail/bug80751.phpt 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/standard/tests/mail/bug80751.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -48,7 +48,7 @@ echo "Found the email. {$recipient} received.\n"; } - if ($mail->getHeader('Return-Path') === $from) { + if ($mail->getHeader('Return-Path') === "<{$from}>") { echo "Return-Path is as expected.\n"; } diff -Nru php8.4-8.4.24/ext/standard/tests/math/gh22410.phpt php8.4-8.4.26/ext/standard/tests/math/gh22410.phpt --- php8.4-8.4.24/ext/standard/tests/math/gh22410.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/standard/tests/math/gh22410.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,14 @@ +--TEST-- +gh-22410: round() preserves integral doubles +--FILE-- + +--EXPECT-- +float(1) +float(-1) +float(9003241321073828) +float(-9003241321073828) diff -Nru php8.4-8.4.24/ext/standard/tests/network/fsockopen_timeout_out_of_range.phpt php8.4-8.4.26/ext/standard/tests/network/fsockopen_timeout_out_of_range.phpt --- php8.4-8.4.24/ext/standard/tests/network/fsockopen_timeout_out_of_range.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/standard/tests/network/fsockopen_timeout_out_of_range.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,19 @@ +--TEST-- +fsockopen() and pfsockopen(): ValueError for $timeout reports correct argument number and name +--FILE-- +getMessage(), "\n"; +} + +try { + pfsockopen('localhost', 80, $errno, $errstr, -2.0); +} catch (Throwable $e) { + echo $e::class, ': ', $e->getMessage(), "\n"; +} +?> +--EXPECTF-- +ValueError: fsockopen(): Argument #5 ($timeout) must be -1 or between 0 and %s +ValueError: pfsockopen(): Argument #5 ($timeout) must be -1 or between 0 and %s diff -Nru php8.4-8.4.24/ext/standard/tests/streams/ftp_dirstream_oob.phpt php8.4-8.4.26/ext/standard/tests/streams/ftp_dirstream_oob.phpt --- php8.4-8.4.24/ext/standard/tests/streams/ftp_dirstream_oob.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/standard/tests/streams/ftp_dirstream_oob.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,33 @@ +--TEST-- +opendir() with 'ftp://' stream must not go out of bounds on an empty or slash-only listing line +--SKIPIF-- + +--FILE-- + +--EXPECTF-- +resource(%d) of type (stream) +string(5) "file1" +string(0) "" +string(4) "b0rk" +string(0) "" diff -Nru php8.4-8.4.24/ext/standard/tests/streams/gh14780.phpt php8.4-8.4.26/ext/standard/tests/streams/gh14780.phpt --- php8.4-8.4.24/ext/standard/tests/streams/gh14780.phpt 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/standard/tests/streams/gh14780.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -31,8 +31,8 @@ } ?> --EXPECTF-- -pfsockopen(): Argument #6 must be -1 or between 0 and %s -pfsockopen(): Argument #6 must be -1 or between 0 and %s +pfsockopen(): Argument #5 ($timeout) must be -1 or between 0 and %s +pfsockopen(): Argument #5 ($timeout) must be -1 or between 0 and %s resource(%d) of type (persistent stream) -pfsockopen(): Argument #6 must be -1 or between 0 and %s -pfsockopen(): Argument #6 must be -1 or between 0 and %s +pfsockopen(): Argument #5 ($timeout) must be -1 or between 0 and %s +pfsockopen(): Argument #5 ($timeout) must be -1 or between 0 and %s diff -Nru php8.4-8.4.24/ext/standard/tests/streams/opendir-002.phpt php8.4-8.4.26/ext/standard/tests/streams/opendir-002.phpt --- php8.4-8.4.24/ext/standard/tests/streams/opendir-002.phpt 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/standard/tests/streams/opendir-002.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -25,5 +25,5 @@ resource(%d) of type (stream) string(5) "file1" string(5) "file1" -string(3) "fil" +string(4) "file" string(4) "b0rk" diff -Nru php8.4-8.4.24/ext/standard/tests/streams/opendir-004.phpt php8.4-8.4.26/ext/standard/tests/streams/opendir-004.phpt --- php8.4-8.4.24/ext/standard/tests/streams/opendir-004.phpt 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/standard/tests/streams/opendir-004.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -27,5 +27,5 @@ resource(%d) of type (stream) string(5) "file1" string(5) "file1" -string(3) "fil" +string(4) "file" string(4) "b0rk" diff -Nru php8.4-8.4.24/ext/standard/tests/strings/gh23204.phpt php8.4-8.4.26/ext/standard/tests/strings/gh23204.phpt --- php8.4-8.4.24/ext/standard/tests/strings/gh23204.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/standard/tests/strings/gh23204.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,109 @@ +--TEST-- +GH-23204 (Use-after-free when __toString() destroys the array being read) +--CREDITS-- +e1abrador +--FILE-- +getMessage(), "\n"; +} + +class UnsetPats implements Stringable { + public function __toString(): string { + global $d; + $d = null; + return "X"; + } +} + +$d = ["aa" => new UnsetPats, "bb" => "2", "cc" => "3", "dd" => "4"]; +echo "strtr: ", strtr("aabbccdd", $d), "\n"; + +$e = ["aa" => new UnsetPats]; +$d = &$e; +echo "strtr single: ", strtr("aabb", $e), "\n"; + +class UnsetSearch implements Stringable { + public function __toString(): string { + global $f; + $f = null; + return "a"; + } +} + +$f = [new UnsetSearch, "b", "c", "d"]; +echo "str_replace search: ", str_replace($f, "z", "abcd"), "\n"; + +class UnsetReplace implements Stringable { + public function __toString(): string { + global $g; + $g = null; + return "z"; + } +} + +$g = [new UnsetReplace, "y", "y", "y"]; +echo "str_replace replace: ", str_replace(["a", "b", "c", "d"], $g, "abcd"), "\n"; + +class UnsetSubject implements Stringable { + public function __toString(): string { + global $h; + $h = null; + return "abcd"; + } +} + +$h = [new UnsetSubject, "abcd"]; +var_dump(str_replace("a", "z", $h)); +?> +--EXPECT-- +destroyed: X,2,3,4 +NULL +appended: X,2,3,4 +count: 5 +Exception: boom +strtr: X234 +strtr single: Xbb +str_replace search: zzzz +str_replace replace: zyyy +array(2) { + [0]=> + string(4) "zbcd" + [1]=> + string(4) "zbcd" +} diff -Nru php8.4-8.4.24/ext/standard/user_filters.c php8.4-8.4.26/ext/standard/user_filters.c --- php8.4-8.4.24/ext/standard/user_filters.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/standard/user_filters.c 2026-09-22 15:00:02.000000000 +0000 @@ -156,7 +156,11 @@ bool stream_property_exists = Z_OBJ_HT_P(obj)->has_property(Z_OBJ_P(obj), stream_name, ZEND_PROPERTY_EXISTS, NULL); if (stream_property_exists) { zval stream_zval; - php_stream_to_zval(stream, &stream_zval); + if (EXPECTED(stream->res && stream->res->type >= 0)) { + php_stream_to_zval(stream, &stream_zval); + } else { + ZVAL_NULL(&stream_zval); + } zend_update_property_ex(Z_OBJCE_P(obj), Z_OBJ_P(obj), stream_name, &stream_zval); /* If property update threw an exception, skip filter execution */ if (EG(exception)) { @@ -419,7 +423,11 @@ } if (NULL != (pzdata = zend_read_property(NULL, Z_OBJ_P(zobject), "data", sizeof("data")-1, false, &rv))) { + if (EG(exception)) { + RETURN_THROWS(); + } ZVAL_DEREF(pzdata); + ZEND_ASSERT(Z_TYPE_P(pzdata) == IS_STRING); if (!bucket->own_buf) { bucket = php_stream_bucket_make_writeable(bucket); } diff -Nru php8.4-8.4.24/ext/standard/var.c php8.4-8.4.26/ext/standard/var.c --- php8.4-8.4.24/ext/standard/var.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/standard/var.c 2026-09-22 15:00:02.000000000 +0000 @@ -41,6 +41,12 @@ static void php_array_element_dump(zval *zv, zend_ulong index, zend_string *key, int level) /* {{{ */ { +#ifdef ZEND_CHECK_STACK_LIMIT + if (UNEXPECTED(zend_call_stack_overflowed(EG(stack_limit)))) { + php_printf("%*cnesting level too deep", level + 1, ' '); + return; + } +#endif if (key == NULL) { /* numeric key */ php_printf("%*c[" ZEND_LONG_FMT "]=>\n", level + 1, ' ', index); } else { /* string key */ @@ -255,6 +261,12 @@ static void zval_array_element_dump(zval *zv, zend_ulong index, zend_string *key, int level) /* {{{ */ { +#ifdef ZEND_CHECK_STACK_LIMIT + if (UNEXPECTED(zend_call_stack_overflowed(EG(stack_limit)))) { + php_printf("%*cnesting level too deep", level + 1, ' '); + return; + } +#endif if (key == NULL) { /* numeric key */ php_printf("%*c[" ZEND_LONG_FMT "]=>\n", level + 1, ' ', index); } else { /* string key */ @@ -270,6 +282,12 @@ { const char *prop_name, *class_name; +#ifdef ZEND_CHECK_STACK_LIMIT + if (UNEXPECTED(zend_call_stack_overflowed(EG(stack_limit)))) { + php_printf("%*cnesting level too deep", level + 1, ' '); + return; + } +#endif if (key == NULL) { /* numeric key */ php_printf("%*c[" ZEND_LONG_FMT "]=>\n", level + 1, ' ', index); } else { /* string key */ diff -Nru php8.4-8.4.24/ext/sysvshm/sysvshm.c php8.4-8.4.26/ext/sysvshm/sysvshm.c --- php8.4-8.4.24/ext/sysvshm/sysvshm.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/sysvshm/sysvshm.c 2026-09-22 15:00:02.000000000 +0000 @@ -130,8 +130,10 @@ sysvshm_shm *shm_list_ptr; char *shm_ptr; sysvshm_chunk_head *chunk_ptr; + struct shmid_ds shm_desc; zend_long shm_key, shm_id, shm_size, shm_flag = 0666; bool shm_size_is_null = 1; + bool created = false; if (SUCCESS != zend_parse_parameters(ZEND_NUM_ARGS(), "l|l!l", &shm_key, &shm_size, &shm_size_is_null, &shm_flag)) { RETURN_THROWS(); @@ -156,10 +158,33 @@ php_error_docref(NULL, E_WARNING, "Failed for key 0x" ZEND_XLONG_FMT ": %s", shm_key, strerror(errno)); RETURN_FALSE; } + created = true; } if ((shm_ptr = shmat(shm_id, NULL, 0)) == (void *) -1) { php_error_docref(NULL, E_WARNING, "Failed for key 0x" ZEND_XLONG_FMT ": %s", shm_key, strerror(errno)); + if (created) { + shmctl(shm_id, IPC_RMID, NULL); + } + RETURN_FALSE; + } + + if (shmctl(shm_id, IPC_STAT, &shm_desc) < 0) { + php_error_docref(NULL, E_WARNING, "Failed for key 0x" ZEND_XLONG_FMT ": %s", shm_key, strerror(errno)); + shmdt(shm_ptr); + if (created) { + shmctl(shm_id, IPC_RMID, NULL); + } + RETURN_FALSE; + } + shm_size = (zend_long)shm_desc.shm_segsz; + + if (shm_size < (zend_long) sizeof(sysvshm_chunk_head)) { + php_error_docref(NULL, E_WARNING, "Failed for key 0x" ZEND_XLONG_FMT ": segment too small", shm_key); + shmdt(shm_ptr); + if (created) { + shmctl(shm_id, IPC_RMID, NULL); + } RETURN_FALSE; } diff -Nru php8.4-8.4.24/ext/sysvshm/tests/shm_attach_existing_segment_size.phpt php8.4-8.4.26/ext/sysvshm/tests/shm_attach_existing_segment_size.phpt --- php8.4-8.4.24/ext/sysvshm/tests/shm_attach_existing_segment_size.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/sysvshm/tests/shm_attach_existing_segment_size.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,36 @@ +--TEST-- +shm_attach() takes the size of an existing segment from the kernel, not from $size +--EXTENSIONS-- +sysvshm +shmop +--FILE-- + +--EXPECTF-- +bool(true) + +Warning: shm_put_var(): Not enough shared memory left in %s on line %d +bool(false) +bool(true) +string(2) "ok" +bool(true) +--CLEAN-- + diff -Nru php8.4-8.4.24/ext/sysvshm/tests/shm_attach_existing_segment_too_small.phpt php8.4-8.4.26/ext/sysvshm/tests/shm_attach_existing_segment_too_small.phpt --- php8.4-8.4.24/ext/sysvshm/tests/shm_attach_existing_segment_too_small.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/sysvshm/tests/shm_attach_existing_segment_too_small.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,25 @@ +--TEST-- +shm_attach() rejects an existing segment too small to hold its header +--EXTENSIONS-- +sysvshm +shmop +--FILE-- + +--EXPECTF-- +Warning: shm_attach(): Failed for key 0x%x: segment too small in %s on line %d +bool(false) +--CLEAN-- + diff -Nru php8.4-8.4.24/ext/sysvshm/tests/shm_attach_failed_attach.phpt php8.4-8.4.26/ext/sysvshm/tests/shm_attach_failed_attach.phpt --- php8.4-8.4.24/ext/sysvshm/tests/shm_attach_failed_attach.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/sysvshm/tests/shm_attach_failed_attach.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,34 @@ +--TEST-- +shm_attach() removes the segment it created when shmat() fails +--EXTENSIONS-- +sysvshm +posix +--SKIPIF-- + +--FILE-- + +--EXPECTF-- +Warning: shm_attach(): Failed for key 0x%x: %s in %s on line %d +bool(false) +bool(true) +string(5) "value" +bool(true) diff -Nru php8.4-8.4.24/ext/xsl/tests/importStylesheet_clone_retained_document.phpt php8.4-8.4.26/ext/xsl/tests/importStylesheet_clone_retained_document.phpt --- php8.4-8.4.24/ext/xsl/tests/importStylesheet_clone_retained_document.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/xsl/tests/importStylesheet_clone_retained_document.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,47 @@ +--TEST-- +XSLTProcessor::importStylesheet() rejects a stylesheet whose __clone() retains the cloned document +--EXTENSIONS-- +dom +xsl +--FILE-- + + + + +XML; + +class Harmless extends DOMDocument { + public function __clone(): void { + } +} + +class RetainsDocument extends DOMDocument { + public function __clone(): void { + $GLOBALS['stash'] = $this; + } +} + +$doc = new Harmless; +$doc->loadXML(STYLESHEET); +$proc = new XSLTProcessor(); +var_dump($proc->importStylesheet($doc)); +unset($proc, $doc); + +$doc = new RetainsDocument; +$doc->loadXML(STYLESHEET); +$proc = new XSLTProcessor(); +try { + var_dump($proc->importStylesheet($doc)); +} catch (Error $e) { + echo $e::class, ": ", $e->getMessage(), PHP_EOL; +} +$kept = $GLOBALS['stash']; +unset($GLOBALS['stash'], $proc, $doc); +echo get_class($kept), " is still usable: ", $kept->documentElement->nodeName, PHP_EOL; +?> +--EXPECT-- +bool(true) +ValueError: XSLTProcessor::importStylesheet(): Argument #1 ($stylesheet) must not have its clone retained by __clone() +RetainsDocument is still usable: xsl:stylesheet diff -Nru php8.4-8.4.24/ext/xsl/tests/importStylesheet_clone_retained_node.phpt php8.4-8.4.26/ext/xsl/tests/importStylesheet_clone_retained_node.phpt --- php8.4-8.4.24/ext/xsl/tests/importStylesheet_clone_retained_node.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/xsl/tests/importStylesheet_clone_retained_node.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,34 @@ +--TEST-- +XSLTProcessor::importStylesheet() rejects a stylesheet whose __clone() retains a node of the cloned document +--EXTENSIONS-- +dom +xsl +--FILE-- +documentElement; + } +} + +$doc = new RetainsElement; +$doc->loadXML(<< + + + +XML); + +$proc = new XSLTProcessor(); +try { + var_dump($proc->importStylesheet($doc)); +} catch (Error $e) { + echo $e::class, ": ", $e->getMessage(), PHP_EOL; +} +$kept = $GLOBALS['stash']; +unset($GLOBALS['stash'], $proc, $doc); +echo get_class($kept), " is still usable: ", $kept->nodeName, PHP_EOL; +?> +--EXPECT-- +ValueError: XSLTProcessor::importStylesheet(): Argument #1 ($stylesheet) must not have its clone retained by __clone() +DOMElement is still usable: xsl:stylesheet diff -Nru php8.4-8.4.24/ext/xsl/xsltprocessor.c php8.4-8.4.26/ext/xsl/xsltprocessor.c --- php8.4-8.4.24/ext/xsl/xsltprocessor.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/xsl/xsltprocessor.c 2026-09-22 15:00:02.000000000 +0000 @@ -227,6 +227,12 @@ php_libxml_node_object *clone_lxml_obj = Z_LIBXML_NODE_P(&clone_zv); + if (GC_REFCOUNT(clone) > 1 || clone_lxml_obj->document->refcount > 1) { + OBJ_RELEASE(clone); + zend_argument_value_error(1, "must not have its clone retained by __clone()"); + RETURN_THROWS(); + } + PHP_LIBXML_SANITIZE_GLOBALS(parse); ZEND_DIAGNOSTIC_IGNORED_START("-Wdeprecated-declarations") xmlSubstituteEntitiesDefault(1); diff -Nru php8.4-8.4.24/ext/zip/php_zip.c php8.4-8.4.26/ext/zip/php_zip.c --- php8.4-8.4.24/ext/zip/php_zip.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/zip/php_zip.c 2026-09-22 15:00:02.000000000 +0000 @@ -64,6 +64,12 @@ } /* }}} */ +#ifdef HAVE_ENCRYPTION +#define PHP_ZIP_DEFAULT_OPTIONS { .enc_method = -1, .comp_method = -1, .flags = ZIP_FL_OVERWRITE } +#else +#define PHP_ZIP_DEFAULT_OPTIONS { .comp_method = -1, .flags = ZIP_FL_OVERWRITE } +#endif + /* {{{ php_zip_set_file_comment */ static bool php_zip_set_file_comment(struct zip *za, zip_uint64_t index, const char *comment, size_t comment_len) { @@ -129,6 +135,30 @@ # define CWD_STATE_ALLOC(l) emalloc(l) # define CWD_STATE_FREE(s) efree(s) +/* {{{ php_zip_file_error + Entry error code, plus its message when message is not NULL. + zip_error_t and its accessors only exist since libzip 1.0. */ +static int php_zip_file_error(struct zip_file *zf, const char **message) +{ +#if LIBZIP_VERSION_MAJOR < 1 + int zep, syp; + + zip_file_error_get(zf, &zep, &syp); + if (message) { + *message = zip_file_strerror(zf); + } + return zep; +#else + zip_error_t *err = zip_file_get_error(zf); + + if (message) { + *message = zip_error_strerror(err); + } + return zip_error_code_zip(err); +#endif +} +/* }}} */ + /* {{{ php_zip_extract_file */ static int php_zip_extract_file(struct zip * za, char *dest, const char *file, size_t file_len, zip_int64_t idx) { @@ -262,7 +292,21 @@ n = 0; while ((n=zip_fread(zf, b, sizeof(b))) > 0) { - php_stream_write(stream, b, n); + if (php_stream_write(stream, b, n) != n) { + n = -1; + break; + } + } + + if (n < 0) { + const char *message; + + if (php_zip_file_error(zf, &message) != ZIP_ER_OK) { + php_error_docref(NULL, E_WARNING, "Cannot extract \"%s\": \"%s\"", file, message); + } + php_stream_close(stream); + zip_fclose(zf); + goto done; } if (stream->wrapper->wops->stream_metadata) { @@ -273,7 +317,7 @@ } php_stream_close(stream); - n = zip_fclose(zf); + n = zip_fclose(zf) == 0 ? 0 : -1; done: efree(fullpath); @@ -296,6 +340,7 @@ zip_flags_t flags ) /* {{{ */ { + struct zip *za = php_zip_object_za(obj); struct zip_source *zs; char resolved_path[MAXPATHLEN]; php_stream_statbuf ssb; @@ -321,33 +366,33 @@ return -1; } flags ^= ZIP_FL_OPEN_FILE_NOW; - zs = zip_source_filep(obj->za, fd, offset_start, offset_len); + zs = zip_source_filep(za, fd, offset_start, offset_len); if (!zs) { fclose(fd); return FAILURE; } } else { - zs = zip_source_file(obj->za, resolved_path, offset_start, offset_len); + zs = zip_source_file(za, resolved_path, offset_start, offset_len); if (!zs) { return FAILURE; } } /* Replace */ if (replace >= 0) { - if (zip_file_replace(obj->za, replace, zs, flags) < 0) { + if (zip_file_replace(za, replace, zs, flags) < 0) { zip_source_free(zs); return -1; } - zip_error_clear(obj->za); + zip_error_clear(za); return 1; } /* Add */ - obj->last_id = zip_file_add(obj->za, entry_name, zs, flags); + obj->last_id = zip_file_add(za, entry_name, zs, flags); if (obj->last_id < 0) { zip_source_free(zs); return -1; } - zip_error_clear(obj->za); + zip_error_clear(za); return 1; } /* }}} */ @@ -373,13 +418,6 @@ { zval *option; - /* default values */ - opts->flags = ZIP_FL_OVERWRITE; - opts->comp_method = -1; /* -1 to not change default */ -#ifdef HAVE_ENCRYPTION - opts->enc_method = -1; /* -1 to not change default */ -#endif - if ((option = zend_hash_str_find(options, "remove_all_path", sizeof("remove_all_path") - 1)) != NULL) { if (Z_TYPE_P(option) != IS_FALSE && Z_TYPE_P(option) != IS_TRUE) { php_error_docref(NULL, E_WARNING, "Option \"remove_all_path\" must be of type bool, %s given", @@ -480,7 +518,7 @@ #define ZIP_FROM_OBJECT(intern, object) \ { \ ze_zip_object *obj = Z_ZIP_P(object); \ - intern = obj->za; \ + intern = php_zip_object_za(obj); \ if (!intern) { \ zend_value_error("Invalid or uninitialized Zip object"); \ RETURN_THROWS(); \ @@ -519,17 +557,18 @@ static zend_long php_zip_status(ze_zip_object *obj) /* {{{ */ { + struct zip *za = php_zip_object_za(obj); int zep = obj->err_zip; /* saved err if closed */ - if (obj->za) { + if (za) { #if LIBZIP_VERSION_MAJOR < 1 int syp; - zip_error_get(obj->za, &zep, &syp); + zip_error_get(za, &zep, &syp); #else zip_error_t *err; - err = zip_get_error(obj->za); + err = zip_get_error(za); zep = zip_error_code_zip(err); zip_error_fini(err); #endif @@ -546,17 +585,18 @@ static zend_long php_zip_status_sys(ze_zip_object *obj) /* {{{ */ { + struct zip *za = php_zip_object_za(obj); int syp = obj->err_sys; /* saved err if closed */ - if (obj->za) { + if (za) { #if LIBZIP_VERSION_MAJOR < 1 int zep; - zip_error_get(obj->za, &zep, &syp); + zip_error_get(za, &zep, &syp); #else zip_error_t *err; - err = zip_get_error(obj->za); + err = zip_get_error(za); syp = zip_error_code_system(err); zip_error_fini(err); #endif @@ -567,8 +607,10 @@ static zend_long php_zip_get_num_files(ze_zip_object *obj) /* {{{ */ { - if (obj->za) { - zip_int64_t num = zip_get_num_entries(obj->za, 0); + struct zip *za = php_zip_object_za(obj); + + if (za) { + zip_int64_t num = zip_get_num_entries(za, 0); return MIN(num, ZEND_LONG_MAX); } return 0; @@ -587,8 +629,10 @@ static char * php_zipobj_get_zip_comment(ze_zip_object *obj, int *len) /* {{{ */ { - if (obj->za) { - return (char *)zip_get_archive_comment(obj->za, len, 0); + struct zip *za = php_zip_object_za(obj); + + if (za) { + return (char *)zip_get_archive_comment(za, len, 0); } return NULL; } @@ -1043,11 +1087,11 @@ #ifdef HAVE_PROGRESS_CALLBACK static void _php_zip_progress_callback_free(void *ptr) { - ze_zip_object *obj = ptr; + php_zip_archive *archive = ptr; - if (!Z_ISUNDEF(obj->progress_callback)) { - zval_ptr_dtor(&obj->progress_callback); - ZVAL_UNDEF(&obj->progress_callback); + if (!Z_ISUNDEF(archive->progress_callback)) { + zval_ptr_dtor(&archive->progress_callback); + ZVAL_UNDEF(&archive->progress_callback); } } #endif @@ -1055,48 +1099,83 @@ #ifdef HAVE_CANCEL_CALLBACK static void _php_zip_cancel_callback_free(void *ptr) { - ze_zip_object *obj = ptr; + php_zip_archive *archive = ptr; - if (!Z_ISUNDEF(obj->cancel_callback)) { - zval_ptr_dtor(&obj->cancel_callback); - ZVAL_UNDEF(&obj->cancel_callback); + if (!Z_ISUNDEF(archive->cancel_callback)) { + zval_ptr_dtor(&archive->cancel_callback); + ZVAL_UNDEF(&archive->cancel_callback); } } #endif -static void php_zip_object_free_storage(zend_object *object) /* {{{ */ +static php_zip_archive *php_zip_archive_create(struct zip *za) { - ze_zip_object * intern = php_zip_fetch_object(object); - int i; + php_zip_archive *archive = ecalloc(1, sizeof(php_zip_archive)); + + archive->za = za; + archive->refcount = 1; + + return archive; +} - if (!intern) { +void php_zip_archive_addref(php_zip_archive *archive) +{ + ZEND_ASSERT(archive->refcount > 0); + archive->refcount++; +} + +void php_zip_archive_release(php_zip_archive *archive) +{ + ZEND_ASSERT(archive->refcount > 0); + if (--archive->refcount != 0) { return; } - if (intern->za) { - if (zip_close(intern->za) != 0) { - php_error_docref(NULL, E_WARNING, "Cannot destroy the zip context: %s", zip_strerror(intern->za)); - zip_discard(intern->za); - } - } - if (intern->buffers_cnt>0) { - for (i=0; ibuffers_cnt; i++) { - efree(intern->buffers[i]); + if (archive->za) { + if (zip_close(archive->za) != 0) { + php_error_docref(NULL, E_WARNING, "Cannot destroy the zip context: %s", zip_strerror(archive->za)); + zip_discard(archive->za); } - efree(intern->buffers); } #ifdef HAVE_PROGRESS_CALLBACK - /* if not properly called by libzip */ - _php_zip_progress_callback_free(intern); + /* In case libzip did not invoke the callback state destructor. */ + _php_zip_progress_callback_free(archive); #endif #ifdef HAVE_CANCEL_CALLBACK - /* if not properly called by libzip */ - _php_zip_cancel_callback_free(intern); + /* In case libzip did not invoke the callback state destructor. */ + _php_zip_cancel_callback_free(archive); #endif - intern->za = NULL; + if (archive->buffers) { + for (int i = 0; i < archive->buffers_cnt; i++) { + efree(archive->buffers[i]); + } + efree(archive->buffers); + } + + efree(archive); +} + +/* The caller must close or discard released_za before detaching it. */ +static void php_zip_object_detach_archive(ze_zip_object *ze_obj, struct zip *released_za) +{ + ZEND_ASSERT(ze_obj->archive != NULL); + ZEND_ASSERT(ze_obj->archive->za == released_za); + ze_obj->archive->za = NULL; + php_zip_archive_release(ze_obj->archive); + ze_obj->archive = NULL; +} + +static void php_zip_object_free_storage(zend_object *object) /* {{{ */ +{ + ze_zip_object * intern = php_zip_fetch_object(object); + + if (intern->archive) { + php_zip_archive_release(intern->archive); + intern->archive = NULL; + } zend_object_std_dtor(&intern->zo); if (intern->filename) { @@ -1501,14 +1580,15 @@ RETURN_FALSE; } - if (ze_obj->za) { + if (ze_obj->archive) { /* we already have an opened zip, free it */ - if (zip_close(ze_obj->za) != 0) { + intern = ze_obj->archive->za; + if (zip_close(intern) != 0) { php_error_docref(NULL, E_WARNING, "Empty string as source"); efree(resolved_path); RETURN_FALSE; } - ze_obj->za = NULL; + php_zip_object_detach_archive(ze_obj, intern); } if (ze_obj->filename) { efree(ze_obj->filename); @@ -1540,7 +1620,7 @@ } ze_obj->filename = resolved_path; ze_obj->filename_len = strlen(resolved_path); - ze_obj->za = intern; + ze_obj->archive = php_zip_archive_create(intern); RETURN_TRUE; } /* }}} */ @@ -1616,7 +1696,7 @@ efree(ze_obj->filename); ze_obj->filename = NULL; ze_obj->filename_len = 0; - ze_obj->za = NULL; + php_zip_object_detach_archive(ze_obj, intern); if (!err) { RETURN_TRUE; @@ -1649,14 +1729,16 @@ { zval *self = ZEND_THIS; ze_zip_object *ze_obj; + struct zip *za; if (zend_parse_parameters_none() == FAILURE) { RETURN_THROWS(); } ze_obj = Z_ZIP_P(self); /* not ZIP_FROM_OBJECT as we can use saved error after close */ - if (ze_obj->za) { - zip_error_clear(ze_obj->za); + za = php_zip_object_za(ze_obj); + if (za) { + zip_error_clear(za); } else { ze_obj->err_zip = 0; ze_obj->err_sys = 0; @@ -1673,26 +1755,28 @@ char error_string[128]; #endif ze_zip_object *ze_obj; + struct zip *za; if (zend_parse_parameters_none() == FAILURE) { RETURN_THROWS(); } ze_obj = Z_ZIP_P(self); /* not ZIP_FROM_OBJECT as we can use saved error after close */ + za = php_zip_object_za(ze_obj); #if LIBZIP_VERSION_MAJOR < 1 - if (ze_obj->za) { - zip_error_get(ze_obj->za, &zep, &syp); + if (za) { + zip_error_get(za, &zep, &syp); len = zip_error_to_str(error_string, 128, zep, syp); } else { len = zip_error_to_str(error_string, 128, ze_obj->err_zip, ze_obj->err_sys); } RETVAL_STRINGL(error_string, len); #else - if (ze_obj->za) { + if (za) { zip_error_t *err; - err = zip_get_error(ze_obj->za); + err = zip_get_error(za); RETVAL_STRING(zip_error_strerror(err)); zip_error_fini(err); } else { @@ -1757,7 +1841,7 @@ size_t path_len = 1; zend_long glob_flags = 0; HashTable *options = NULL; - zip_options opts = {0}; + zip_options opts = PHP_ZIP_DEFAULT_OPTIONS; int found; zend_string *pattern; @@ -1792,8 +1876,10 @@ int i; zval *zval_file; ze_zip_object *ze_obj; + struct zip *za; ze_obj = Z_ZIP_P(self); + za = php_zip_object_za(ze_obj); for (i = 0; i < found; i++) { char *file_stripped, *entry_name; @@ -1847,19 +1933,19 @@ RETURN_FALSE; } if (opts.comp_method >= 0) { - if (zip_set_file_compression(ze_obj->za, ze_obj->last_id, opts.comp_method, opts.comp_flags)) { + if (zip_set_file_compression(za, ze_obj->last_id, opts.comp_method, opts.comp_flags)) { zend_array_destroy(Z_ARR_P(return_value)); RETURN_FALSE; } } #ifdef HAVE_ENCRYPTION if (opts.enc_method >= 0) { - if (UNEXPECTED(zip_file_set_encryption(ze_obj->za, ze_obj->last_id, ZIP_EM_NONE, NULL) < 0)) { + if (UNEXPECTED(zip_file_set_encryption(za, ze_obj->last_id, ZIP_EM_NONE, NULL) < 0)) { zend_array_destroy(Z_ARR_P(return_value)); php_error_docref(NULL, E_WARNING, "password reset failed"); RETURN_FALSE; } - if (zip_file_set_encryption(ze_obj->za, ze_obj->last_id, opts.enc_method, opts.enc_password)) { + if (zip_file_set_encryption(za, ze_obj->last_id, opts.enc_method, opts.enc_password)) { zend_array_destroy(Z_ARR_P(return_value)); RETURN_FALSE; } @@ -1965,6 +2051,7 @@ char *name; size_t name_len; ze_zip_object *ze_obj; + php_zip_archive *archive; struct zip_source *zs; int pos = 0; zend_long flags = ZIP_FL_OVERWRITE; @@ -1977,18 +2064,19 @@ ZIP_FROM_OBJECT(intern, self); ze_obj = Z_ZIP_P(self); - if (ze_obj->buffers_cnt) { - ze_obj->buffers = (char **)safe_erealloc(ze_obj->buffers, sizeof(char *), (ze_obj->buffers_cnt+1), 0); - pos = ze_obj->buffers_cnt++; + archive = ze_obj->archive; + if (archive->buffers_cnt) { + archive->buffers = (char **)safe_erealloc(archive->buffers, sizeof(char *), (archive->buffers_cnt+1), 0); + pos = archive->buffers_cnt++; } else { - ze_obj->buffers = (char **)emalloc(sizeof(char *)); - ze_obj->buffers_cnt++; + archive->buffers = (char **)emalloc(sizeof(char *)); + archive->buffers_cnt++; pos = 0; } - ze_obj->buffers[pos] = (char *)safe_emalloc(ZSTR_LEN(buffer), 1, 1); - memcpy(ze_obj->buffers[pos], ZSTR_VAL(buffer), ZSTR_LEN(buffer) + 1); + archive->buffers[pos] = (char *)safe_emalloc(ZSTR_LEN(buffer), 1, 1); + memcpy(archive->buffers[pos], ZSTR_VAL(buffer), ZSTR_LEN(buffer) + 1); - zs = zip_source_buffer(intern, ze_obj->buffers[pos], ZSTR_LEN(buffer), 0); + zs = zip_source_buffer(intern, archive->buffers[pos], ZSTR_LEN(buffer), 0); if (zs == NULL) { RETURN_FALSE; @@ -2093,7 +2181,7 @@ ZIP_FROM_OBJECT(intern, self); - name = zip_get_name(intern, (int) index, flags); + name = zip_get_name(intern, (zip_uint64_t) index, flags); if (name) { RETVAL_STRING((char *)name); @@ -2954,10 +3042,6 @@ PHP_ZIP_STAT_INDEX(intern, index, flags, sb); } - if (sb.size < 1) { - RETURN_EMPTY_STRING(); - } - if (len < 1) { len = sb.size; } @@ -2972,8 +3056,40 @@ } buffer = zend_string_safe_alloc(1, len, 0, 0); - zip_int64_t n = zip_fread(zf, ZSTR_VAL(buffer), ZSTR_LEN(buffer)); - if (n < 1) { + + /* zip_fread() may return short reads, a truncated entry must not pass for a complete one. */ + zip_int64_t n = 0; + while ((zip_uint64_t)n < ZSTR_LEN(buffer)) { + zip_int64_t rd = zip_fread(zf, ZSTR_VAL(buffer) + n, ZSTR_LEN(buffer) - n); + + if (rd < 0) { + n = -1; + break; + } + if (rd == 0) { + break; + } + n += rd; + } + + if (n >= 0 && (zip_uint64_t)n == sb.size) { + /* The whole entry has been consumed, read past its last byte so that + * libzip reaches the end of the stream and validates the CRC. */ + char tmp; + if (zip_fread(zf, &tmp, 1) < 0) { + n = -1; + } + } + if (n < 0) { + const char *message; + + php_zip_file_error(zf, &message); + php_error_docref(NULL, E_WARNING, "Cannot read entry: %s", message); + zip_fclose(zf); + zend_string_efree(buffer); + RETURN_FALSE; + } + if (n == 0) { zip_fclose(zf); zend_string_efree(buffer); RETURN_EMPTY_STRING(); @@ -3036,7 +3152,7 @@ PHP_ZIP_STAT_INDEX(intern, index, flags, sb); } - stream = php_stream_zip_open(intern, &sb, mode, flags STREAMS_CC); + stream = php_stream_zip_open(Z_ZIP_P(self), &sb, mode, flags STREAMS_CC); if (stream) { php_stream_to_zval(stream, return_value); } else { @@ -3068,10 +3184,10 @@ { zval cb_args[1]; zval cb_retval; - ze_zip_object *obj = ptr; + php_zip_archive *archive = ptr; ZVAL_DOUBLE(&cb_args[0], state); - if (call_user_function(EG(function_table), NULL, &obj->progress_callback, &cb_retval, 1, cb_args) == SUCCESS && !Z_ISUNDEF(cb_retval)) { + if (call_user_function(EG(function_table), NULL, &archive->progress_callback, &cb_retval, 1, cb_args) == SUCCESS && !Z_ISUNDEF(cb_retval)) { zval_ptr_dtor(&cb_retval); } } @@ -3084,7 +3200,7 @@ double rate; zend_fcall_info fci; zend_fcall_info_cache fcc; - ze_zip_object *obj; + php_zip_archive *archive; if (zend_parse_parameters(ZEND_NUM_ARGS(), "df", &rate, &fci, &fcc) == FAILURE) { RETURN_THROWS(); @@ -3092,13 +3208,13 @@ ZIP_FROM_OBJECT(intern, self); - obj = Z_ZIP_P(self); + archive = Z_ZIP_P(self)->archive; /* register */ - if (zip_register_progress_callback_with_state(intern, rate, _php_zip_progress_callback, _php_zip_progress_callback_free, obj)) { + if (zip_register_progress_callback_with_state(intern, rate, _php_zip_progress_callback, _php_zip_progress_callback_free, archive)) { RETURN_FALSE; } - ZVAL_COPY(&obj->progress_callback, &fci.function_name); + ZVAL_COPY(&archive->progress_callback, &fci.function_name); RETURN_TRUE; } @@ -3110,9 +3226,9 @@ { zval cb_retval; int retval = 0; - ze_zip_object *obj = ptr; + php_zip_archive *archive = ptr; - if (call_user_function(EG(function_table), NULL, &obj->cancel_callback, &cb_retval, 0, NULL) == SUCCESS && !Z_ISUNDEF(cb_retval)) { + if (call_user_function(EG(function_table), NULL, &archive->cancel_callback, &cb_retval, 0, NULL) == SUCCESS && !Z_ISUNDEF(cb_retval)) { retval = zval_get_long(&cb_retval); zval_ptr_dtor(&cb_retval); } @@ -3127,20 +3243,20 @@ zval *self = ZEND_THIS; zend_fcall_info fci; zend_fcall_info_cache fcc; - ze_zip_object *obj; + php_zip_archive *archive; if (zend_parse_parameters(ZEND_NUM_ARGS(), "f", &fci, &fcc) == FAILURE) { RETURN_THROWS(); } ZIP_FROM_OBJECT(intern, self); - obj = Z_ZIP_P(self); + archive = Z_ZIP_P(self)->archive; /* register */ - if (zip_register_cancel_callback_with_state(intern, _php_zip_cancel_callback, _php_zip_cancel_callback_free, obj)) { + if (zip_register_cancel_callback_with_state(intern, _php_zip_cancel_callback, _php_zip_cancel_callback_free, archive)) { RETURN_FALSE; } - ZVAL_COPY(&obj->cancel_callback, &fci.function_name); + ZVAL_COPY(&archive->cancel_callback, &fci.function_name); RETURN_TRUE; } @@ -3256,9 +3372,9 @@ php_info_print_table_row(2, "AES-128 encryption", zip_encryption_method_supported(ZIP_EM_AES_128, 1) ? "Yes" : "No"); php_info_print_table_row(2, "AES-192 encryption", - zip_encryption_method_supported(ZIP_EM_AES_128, 1) ? "Yes" : "No"); + zip_encryption_method_supported(ZIP_EM_AES_192, 1) ? "Yes" : "No"); php_info_print_table_row(2, "AES-256 encryption", - zip_encryption_method_supported(ZIP_EM_AES_128, 1) ? "Yes" : "No"); + zip_encryption_method_supported(ZIP_EM_AES_256, 1) ? "Yes" : "No"); #endif php_info_print_table_end(); diff -Nru php8.4-8.4.24/ext/zip/php_zip.h php8.4-8.4.26/ext/zip/php_zip.h --- php8.4-8.4.24/ext/zip/php_zip.h 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/zip/php_zip.h 2026-09-22 15:00:02.000000000 +0000 @@ -65,23 +65,33 @@ zend_long zip_rsrc_handle; } zip_read_rsrc; -/* Extends zend object */ -typedef struct _ze_zip_object { +/* Refcounted holder for the native archive state. + * Owned by a ZipArchive object and streams opened from it. */ +typedef struct _php_zip_archive { struct zip *za; + uint32_t refcount; + /* libzip reads buffers until the archive is closed, can outlive the object. */ char **buffers; - HashTable *prop_handler; - char *filename; - int filename_len; int buffers_cnt; - zip_int64_t last_id; - int err_zip; - int err_sys; #ifdef HAVE_PROGRESS_CALLBACK zval progress_callback; #endif #ifdef HAVE_CANCEL_CALLBACK zval cancel_callback; #endif +} php_zip_archive; + +/* Extends zend object */ +typedef struct _ze_zip_object { + /* NULL when there is no open archive, non-NULL otherwise. + * Owns one ref to the struct. */ + php_zip_archive *archive; + HashTable *prop_handler; + char *filename; + int filename_len; + zip_int64_t last_id; + int err_zip; + int err_sys; zend_object zo; } ze_zip_object; @@ -89,10 +99,18 @@ return (ze_zip_object *)((char*)(obj) - XtOffsetOf(ze_zip_object, zo)); } +/* The archive an object currently has open, or NULL. */ +static zend_always_inline struct zip *php_zip_object_za(const ze_zip_object *obj) { + return obj->archive ? obj->archive->za : NULL; +} + #define Z_ZIP_P(zv) php_zip_fetch_object(Z_OBJ_P((zv))) php_stream *php_stream_zip_opener(php_stream_wrapper *wrapper, const char *path, const char *mode, int options, zend_string **opened_path, php_stream_context *context STREAMS_DC); -php_stream *php_stream_zip_open(struct zip *arch, struct zip_stat *sb, const char *mode, zip_flags_t flags STREAMS_DC); +php_stream *php_stream_zip_open(ze_zip_object *obj, struct zip_stat *sb, const char *mode, zip_flags_t flags STREAMS_DC); + +void php_zip_archive_addref(php_zip_archive *archive); +void php_zip_archive_release(php_zip_archive *archive); extern const php_stream_wrapper php_stream_zip_wrapper; diff -Nru php8.4-8.4.24/ext/zip/tests/addGlob_default_options.phpt php8.4-8.4.26/ext/zip/tests/addGlob_default_options.phpt --- php8.4-8.4.24/ext/zip/tests/addGlob_default_options.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/zip/tests/addGlob_default_options.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,79 @@ +--TEST-- +ZipArchive::addGlob() uses the default options when none are supplied +--EXTENSIONS-- +zip +--FILE-- +open($archive); + $sb = $zip->statIndex(0); + $zip->close(); + + return $sb; +} + +function add_glob(string $archive, string $pattern, ?array $options): bool +{ + $zip = new ZipArchive(); + $zip->open($archive, ZipArchive::CREATE | ZipArchive::OVERWRITE); + $added = $options === null + ? $zip->addGlob($pattern) + : $zip->addGlob($pattern, 0, $options); + $zip->close(); + + return is_array($added); +} + +/* comp_method defaults to "leave it to libzip", i.e. deflate, not CM_STORE. */ +foreach (['no options' => null, 'empty options' => []] as $label => $options) { + echo "-- $label --", PHP_EOL; + @unlink($archive); + var_dump(add_glob($archive, $dir . '/*.txt', $options)); + $sb = stat_first($archive); + var_dump($sb['comp_method'] === ZipArchive::CM_DEFLATE); + var_dump($sb['comp_size'] < $sb['size']); +} + +/* flags defaults to FL_OVERWRITE, so an existing entry is replaced. */ +echo '-- overwrites an existing entry --', PHP_EOL; +@unlink($archive); +$zip = new ZipArchive(); +$zip->open($archive, ZipArchive::CREATE | ZipArchive::OVERWRITE); +$zip->addFromString($src, 'placeholder'); +var_dump(is_array($zip->addGlob($dir . '/*.txt'))); +$zip->close(); + +$zip = new ZipArchive(); +$zip->open($archive); +var_dump($zip->numFiles); +var_dump($zip->getFromName($src) === file_get_contents($src)); +$zip->close(); +?> +--CLEAN-- + +--EXPECT-- +-- no options -- +bool(true) +bool(true) +bool(true) +-- empty options -- +bool(true) +bool(true) +bool(true) +-- overwrites an existing entry -- +bool(true) +int(1) +bool(true) diff -Nru php8.4-8.4.24/ext/zip/tests/addPattern_default_options.phpt php8.4-8.4.26/ext/zip/tests/addPattern_default_options.phpt --- php8.4-8.4.24/ext/zip/tests/addPattern_default_options.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/zip/tests/addPattern_default_options.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,79 @@ +--TEST-- +ZipArchive::addPattern() uses the default options when none are supplied +--EXTENSIONS-- +zip +--FILE-- +open($archive); + $sb = $zip->statIndex(0); + $zip->close(); + + return $sb; +} + +function add_pattern(string $archive, string $pattern, string $path, ?array $options): bool +{ + $zip = new ZipArchive(); + $zip->open($archive, ZipArchive::CREATE | ZipArchive::OVERWRITE); + $added = $options === null + ? $zip->addPattern($pattern, $path) + : $zip->addPattern($pattern, $path, $options); + $zip->close(); + + return is_array($added); +} + +/* comp_method defaults to "leave it to libzip", i.e. deflate, not CM_STORE. */ +foreach (['no options' => null, 'empty options' => []] as $label => $options) { + echo "-- $label --", PHP_EOL; + @unlink($archive); + var_dump(add_pattern($archive, '/^data\.txt$/', $dir, $options)); + $sb = stat_first($archive); + var_dump($sb['comp_method'] === ZipArchive::CM_DEFLATE); + var_dump($sb['comp_size'] < $sb['size']); +} + +/* flags defaults to FL_OVERWRITE, so an existing entry is replaced. */ +echo '-- overwrites an existing entry --', PHP_EOL; +@unlink($archive); +$zip = new ZipArchive(); +$zip->open($archive, ZipArchive::CREATE | ZipArchive::OVERWRITE); +$zip->addFromString($src, 'placeholder'); +var_dump(is_array($zip->addPattern('/^data\.txt$/', $dir))); +$zip->close(); + +$zip = new ZipArchive(); +$zip->open($archive); +var_dump($zip->numFiles); +var_dump($zip->getFromIndex(0) === file_get_contents($src)); +$zip->close(); +?> +--CLEAN-- + +--EXPECT-- +-- no options -- +bool(true) +bool(true) +bool(true) +-- empty options -- +bool(true) +bool(true) +bool(true) +-- overwrites an existing entry -- +bool(true) +int(1) +bool(true) diff -Nru php8.4-8.4.24/ext/zip/tests/gh17787.phpt php8.4-8.4.26/ext/zip/tests/gh17787.phpt --- php8.4-8.4.24/ext/zip/tests/gh17787.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/zip/tests/gh17787.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,80 @@ +--TEST-- +GH-17787 (ZipArchive stream stops reading early when the archive is freed while the stream is open) +--EXTENSIONS-- +zip +--FILE-- +open($name, ZipArchive::CREATE | ZipArchive::OVERWRITE); +$zip->addFromString('entry.txt', $data); +$zip->close(); + +$zip = new ZipArchive; +$zip->open($name, ZipArchive::RDONLY); +$stream = $zip->getStreamIndex(0, ZipArchive::FL_UNCHANGED); + +// Free the archive while the stream is still open +$zip = null; + +var_dump(stream_get_contents($stream) === $data); +fclose($stream); + +// Same with getStreamName() +$zip = new ZipArchive; +$zip->open($name, ZipArchive::RDONLY); +$stream = $zip->getStreamName('entry.txt', ZipArchive::FL_UNCHANGED); +$zip = null; + +var_dump(stream_get_contents($stream) === $data); +fclose($stream); + +// Same with getStream() +$zip = new ZipArchive; +$zip->open($name, ZipArchive::RDONLY); +$stream = $zip->getStream('entry.txt'); +$zip = null; + +var_dump(stream_get_contents($stream) === $data); +fclose($stream); + +// Pending changes are still committed once the last stream is closed +$name = __DIR__ . '/gh17787_write.zip'; + +$zip = new ZipArchive; +var_dump($zip->open($name, ZipArchive::CREATE | ZipArchive::OVERWRITE)); +$zip->addFromString('first.txt', 'first'); +$zip->close(); + +$zip = new ZipArchive; +var_dump($zip->open($name)); +$zip->addFromString('second.txt', 'second'); +$stream = $zip->getStreamName('first.txt', ZipArchive::FL_UNCHANGED); +$zip = null; + +var_dump(stream_get_contents($stream)); +fclose($stream); + +$zip = new ZipArchive; +var_dump($zip->open($name, ZipArchive::RDONLY)); +var_dump($zip->numFiles); +var_dump($zip->getFromName('second.txt')); +$zip->close(); +?> +--CLEAN-- + +--EXPECT-- +bool(true) +bool(true) +bool(true) +bool(true) +bool(true) +string(5) "first" +bool(true) +int(2) +string(6) "second" diff -Nru php8.4-8.4.24/ext/zip/tests/gh23276.phpt php8.4-8.4.26/ext/zip/tests/gh23276.phpt --- php8.4-8.4.24/ext/zip/tests/gh23276.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/zip/tests/gh23276.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,95 @@ +--TEST-- +GH-23276 (ZipArchive subclass storing its own stream is collectable) +--CREDITS-- +Eyüp Can Akman +--EXTENSIONS-- +zip +--FILE-- +getStream('entry.txt'); + if (!is_resource($stream)) { + throw new Exception('Failed to open entry stream'); + } + return $stream; +} + +$filename = __DIR__ . '/gh23276.zip'; + +$zip = new Holder; +$zip->open($filename, ZipArchive::CREATE | ZipArchive::OVERWRITE); +$zip->addFromString('entry.txt', 'contents'); +$zip->close(); + +// An archive holding its own stream in a property must be destroyed. +$zip->open($filename, ZipArchive::RDONLY); +$zip->stream = getEntryStream($zip); +$weakRef = WeakReference::create($zip); +unset($zip); +var_dump($weakRef->get()); + +// Same through an indirect edge (property -> array -> resource). +$zip = new Holder; +$zip->open($filename, ZipArchive::RDONLY); +$zip->bag[] = getEntryStream($zip); +$weakRef = WeakReference::create($zip); +unset($zip); +var_dump($weakRef->get()); + +// Two archives cross-holding each other's streams. +$a = new Holder; +$b = new Holder; +$a->open($filename, ZipArchive::RDONLY); +$b->open($filename, ZipArchive::RDONLY); +$a->stream = getEntryStream($b); +$b->stream = getEntryStream($a); +$weakRef = WeakReference::create($a); +unset($a, $b); +var_dump($weakRef->get()); + +// A resurrected object must retain a usable stream. +$zip = new ResurrectingHolder; +$zip->open($filename, ZipArchive::RDONLY); +$zip->stream = getEntryStream($zip); +unset($zip); +var_dump($resurrected instanceof ResurrectingHolder); +var_dump(stream_get_contents($resurrected->stream)); +fclose($resurrected->stream); +unset($resurrected); + +// Externally held streams no longer keep the object alive. Closing one stream +// must not close the archive while another stream still uses it. +$zip = new Holder; +$zip->open($filename, ZipArchive::RDONLY); +$stream1 = getEntryStream($zip); +$stream2 = getEntryStream($zip); +$weakRef = WeakReference::create($zip); +unset($zip); +var_dump($weakRef->get()); +fclose($stream1); +var_dump(stream_get_contents($stream2)); +fclose($stream2); +?> +--CLEAN-- + +--EXPECT-- +NULL +NULL +NULL +bool(true) +string(8) "contents" +NULL +string(8) "contents" diff -Nru php8.4-8.4.24/ext/zip/tests/gh23276_cancel_callback.phpt php8.4-8.4.26/ext/zip/tests/gh23276_cancel_callback.phpt --- php8.4-8.4.24/ext/zip/tests/gh23276_cancel_callback.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/zip/tests/gh23276_cancel_callback.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,49 @@ +--TEST-- +GH-23276 (ZipArchive cancel callback outlives the object while a stream holds the archive) +--EXTENSIONS-- +zip +--SKIPIF-- + +--FILE-- +open($filename, ZipArchive::CREATE | ZipArchive::OVERWRITE); +$zip->addFromString('entry.txt', 'contents'); +$zip->close(); + +$zip->open($filename); +$callbackState = new stdClass; +$callbackStateRef = WeakReference::create($callbackState); +var_dump($zip->registerCancelCallback( + static function () use ($callbackState): int { return 0; }, +)); +$zip->addFromString('cancel.txt', 'late'); +$stream = $zip->getStream('entry.txt'); +if (!is_resource($stream)) { + throw new Exception('Failed to open entry stream'); +} +$weakRef = WeakReference::create($zip); +unset($callbackState, $zip); + +var_dump($weakRef->get()); +var_dump($callbackStateRef->get() !== null); +var_dump(stream_get_contents($stream)); +fclose($stream); +var_dump($callbackStateRef->get()); +?> +--CLEAN-- + +--EXPECT-- +bool(true) +NULL +bool(true) +string(8) "contents" +NULL diff -Nru php8.4-8.4.24/ext/zip/tests/gh23276_close_with_open_stream.phpt php8.4-8.4.26/ext/zip/tests/gh23276_close_with_open_stream.phpt --- php8.4-8.4.24/ext/zip/tests/gh23276_close_with_open_stream.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/zip/tests/gh23276_close_with_open_stream.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,47 @@ +--TEST-- +GH-23276 (ZipArchive dropping its archive while a stream is open leaves the object collectable) +--EXTENSIONS-- +zip +--FILE-- +open($filename, ZipArchive::CREATE | ZipArchive::OVERWRITE); +$zip->addFromString('entry.txt', 'contents'); +$zip->close(); + +$zip->open($filename, ZipArchive::RDONLY); +$stream = $zip->getStream('entry.txt'); +var_dump($zip->close()); +$weakRef = WeakReference::create($zip); +unset($zip); +var_dump($weakRef->get()); +var_dump(stream_get_contents($stream)); +fclose($stream); + +$zip = new ZipArchive; +$zip->open($filename, ZipArchive::RDONLY); +$stream = $zip->getStream('entry.txt'); +var_dump($zip->open($filename, ZipArchive::RDONLY)); +$weakRef = WeakReference::create($zip); +unset($zip); +var_dump($weakRef->get()); +var_dump(stream_get_contents($stream)); +fclose($stream); +?> +--CLEAN-- + +--EXPECTF-- +bool(true) +NULL + +Warning: stream_get_contents(): Zip stream error: %s in %s on line %d +string(0) "" +bool(true) +NULL + +Warning: stream_get_contents(): Zip stream error: %s in %s on line %d +string(0) "" diff -Nru php8.4-8.4.24/ext/zip/tests/gh23276_progress_callback.phpt php8.4-8.4.26/ext/zip/tests/gh23276_progress_callback.phpt --- php8.4-8.4.24/ext/zip/tests/gh23276_progress_callback.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/zip/tests/gh23276_progress_callback.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,50 @@ +--TEST-- +GH-23276 (ZipArchive progress callback outlives the object while a stream holds the archive) +--EXTENSIONS-- +zip +--SKIPIF-- + +--FILE-- +open($filename, ZipArchive::CREATE | ZipArchive::OVERWRITE); +$zip->addFromString('entry.txt', 'contents'); +$zip->close(); + +$zip->open($filename); +$callbackState = new stdClass; +$callbackStateRef = WeakReference::create($callbackState); +var_dump($zip->registerProgressCallback( + 0.5, + static function (float $rate) use ($callbackState): void {}, +)); +$zip->addFromString('progress.txt', 'late'); +$stream = $zip->getStream('entry.txt'); +if (!is_resource($stream)) { + throw new Exception('Failed to open entry stream'); +} +$weakRef = WeakReference::create($zip); +unset($callbackState, $zip); + +var_dump($weakRef->get()); +var_dump($callbackStateRef->get() !== null); +var_dump(stream_get_contents($stream)); +fclose($stream); +var_dump($callbackStateRef->get()); +?> +--CLEAN-- + +--EXPECT-- +bool(true) +NULL +bool(true) +string(8) "contents" +NULL diff -Nru php8.4-8.4.24/ext/zip/tests/oo_addfromstring_reopen_memory.phpt php8.4-8.4.26/ext/zip/tests/oo_addfromstring_reopen_memory.phpt --- php8.4-8.4.24/ext/zip/tests/oo_addfromstring_reopen_memory.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/zip/tests/oo_addfromstring_reopen_memory.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,26 @@ +--TEST-- +ZipArchive::addFromString() buffers are released when the archive is closed +--EXTENSIONS-- +zip +--FILE-- +open($filename, ZipArchive::CREATE | ZipArchive::OVERWRITE); + $zip->addFromString('entry.txt', $blob); + $zip->close(); +} + +var_dump(memory_get_usage() - $start < 1000000); +?> +--CLEAN-- + +--EXPECT-- +bool(true) diff -Nru php8.4-8.4.24/ext/zip/tests/oo_extract_crc.phpt php8.4-8.4.26/ext/zip/tests/oo_extract_crc.phpt --- php8.4-8.4.24/ext/zip/tests/oo_extract_crc.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/zip/tests/oo_extract_crc.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,44 @@ +--TEST-- +ZipArchive::extractTo() and getFrom*() fail on a CRC-corrupted entry +--EXTENSIONS-- +zip +--FILE-- +open($file, ZipArchive::CREATE | ZipArchive::OVERWRITE); +$zip->addFromString('a.txt', $payload); +$zip->setCompressionName('a.txt', ZipArchive::CM_STORE); +$zip->close(); + +$raw = file_get_contents($file); +$raw[strpos($raw, 'AAAA') + 2] = 'Z'; +file_put_contents($file, $raw); + +$zip = new ZipArchive(); +$zip->open($file); +var_dump($zip->extractTo($dirname, 'a.txt')); +var_dump($zip->getFromName('a.txt')); +var_dump($zip->getFromIndex(0)); +$zip->close(); +?> +--CLEAN-- + +--EXPECTF-- +Warning: ZipArchive::extractTo(): Cannot extract "a.txt": "CRC error" in %s on line %d +bool(false) + +Warning: ZipArchive::getFromName(): Cannot read entry: CRC error in %s on line %d +bool(false) + +Warning: ZipArchive::getFromIndex(): Cannot read entry: CRC error in %s on line %d +bool(false) diff -Nru php8.4-8.4.24/ext/zip/tests/oo_get_from_crc_empty.phpt php8.4-8.4.26/ext/zip/tests/oo_get_from_crc_empty.phpt --- php8.4-8.4.24/ext/zip/tests/oo_get_from_crc_empty.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/zip/tests/oo_get_from_crc_empty.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,52 @@ +--TEST-- +ZipArchive::getFrom*() rejects a CRC-corrupted empty entry +--EXTENSIONS-- +zip +--SKIPIF-- + +--FILE-- +open($file, ZipArchive::CREATE | ZipArchive::OVERWRITE); +$zip->addFromString('empty.txt', ''); +$zip->setCompressionName('empty.txt', ZipArchive::CM_STORE); +$zip->close(); + +/* Corrupt the CRC in both the local and central directory headers. */ +$raw = file_get_contents($file); +for ($i = 0, $length = strlen($raw); $i + 3 < $length; $i++) { + $signature = substr($raw, $i, 4); + if ($signature === "PK\x03\x04") { + $raw[$i + 14] = "\x01"; + } elseif ($signature === "PK\x01\x02") { + $raw[$i + 16] = "\x01"; + } +} +file_put_contents($file, $raw); + +$zip = new ZipArchive(); +$zip->open($file); +var_dump($zip->getFromName('empty.txt')); +var_dump($zip->getFromIndex(0)); +$zip->close(); +?> +--CLEAN-- + +--EXPECTF-- +Warning: ZipArchive::getFromName(): Cannot read entry: CRC error in %s on line %d +bool(false) + +Warning: ZipArchive::getFromIndex(): Cannot read entry: CRC error in %s on line %d +bool(false) diff -Nru php8.4-8.4.24/ext/zip/tests/oo_get_from_length.phpt php8.4-8.4.26/ext/zip/tests/oo_get_from_length.phpt --- php8.4-8.4.24/ext/zip/tests/oo_get_from_length.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/zip/tests/oo_get_from_length.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,46 @@ +--TEST-- +ZipArchive::getFrom*() rejects an entry with an inconsistent uncompressed size +--EXTENSIONS-- +zip +--FILE-- +open($file, ZipArchive::CREATE | ZipArchive::OVERWRITE); +$zip->addFromString('a.txt', str_repeat('A', 10)); +$zip->setCompressionName('a.txt', ZipArchive::CM_STORE); +$zip->close(); + +/* Advertise 20 bytes in the central directory, but keep only 10 bytes. */ +$raw = file_get_contents($file); +for ($i = 0, $length = strlen($raw); $i + 27 < $length; $i++) { + if (substr($raw, $i, 4) === "PK\x01\x02") { + $size = unpack('V', substr($raw, $i + 24, 4))[1]; + $raw = substr_replace($raw, pack('V', $size + 10), $i + 24, 4); + break; + } +} +file_put_contents($file, $raw); + +$zip = new ZipArchive(); +$zip->open($file); +var_dump($zip->getFromName('a.txt')); +var_dump($zip->getFromIndex(0)); +$zip->close(); +?> +--CLEAN-- + +--EXPECTF-- +Warning: ZipArchive::getFromName(): Cannot read entry: Zip archive inconsistent%s +bool(false) + +Warning: ZipArchive::getFromIndex(): Cannot read entry: Zip archive inconsistent%s +bool(false) diff -Nru php8.4-8.4.24/ext/zip/tests/oo_getnameindex_large_index.phpt php8.4-8.4.26/ext/zip/tests/oo_getnameindex_large_index.phpt --- php8.4-8.4.24/ext/zip/tests/oo_getnameindex_large_index.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/zip/tests/oo_getnameindex_large_index.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,44 @@ +--TEST-- +ZipArchive::getNameIndex() with an index that does not fit in an int +--EXTENSIONS-- +zip +--SKIPIF-- + +--FILE-- +open($file, ZipArchive::CREATE)) { + exit('failed'); +} + +$zip->addFromString('entry1.txt', 'entry #1'); +$zip->close(); + +if (!$zip->open($file)) { + exit('failed'); +} + +var_dump($zip->getNameIndex(0)); +var_dump($zip->getNameIndex(1 << 32)); +var_dump($zip->getNameIndex((1 << 32) + 1)); +var_dump($zip->getNameIndex(PHP_INT_MAX)); +var_dump($zip->getNameIndex(-1)); + +$zip->close(); +?> +--EXPECT-- +string(10) "entry1.txt" +bool(false) +bool(false) +bool(false) +bool(false) +--CLEAN-- + diff -Nru php8.4-8.4.24/ext/zip/tests/stream_fstat_unreadable_archive.phpt php8.4-8.4.26/ext/zip/tests/stream_fstat_unreadable_archive.phpt --- php8.4-8.4.24/ext/zip/tests/stream_fstat_unreadable_archive.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/ext/zip/tests/stream_fstat_unreadable_archive.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,38 @@ +--TEST-- +fstat() on a zip:// stream whose archive can no longer be opened +--EXTENSIONS-- +zip +--SKIPIF-- + +--FILE-- +open($file, ZipArchive::CREATE)) { + exit('failed'); +} + +$zip->addFromString('entry.txt', 'entry'); +$zip->close(); + +$fp = fopen('zip://' . $file . '#entry.txt', 'rb'); +var_dump($fp !== false); + +file_put_contents($file, 'this is not a zip archive'); + +var_dump(fstat($fp)); + +fclose($fp); +?> +--EXPECT-- +bool(true) +bool(false) +--CLEAN-- + diff -Nru php8.4-8.4.24/ext/zip/zip_stream.c php8.4-8.4.26/ext/zip/zip_stream.c --- php8.4-8.4.24/ext/zip/zip_stream.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/ext/zip/zip_stream.c 2026-09-22 15:00:02.000000000 +0000 @@ -34,6 +34,7 @@ struct zip_file *zf; size_t cursor; php_stream *stream; + php_zip_archive *archive; }; #define STREAM_DATA_FROM_STREAM() \ @@ -101,6 +102,12 @@ self->za = NULL; } } + + /* the archive ref is tied to self, so release it regardless of close_handle */ + if (self->archive) { + php_zip_archive_release(self->archive); + self->archive = NULL; + } efree(self); stream->abstract = NULL; return EOF; @@ -188,6 +195,9 @@ ssb->sb.st_blocks = -1; #endif ssb->sb.st_ino = -1; + } else { + zend_string_release_ex(file_basename, 0); + return -1; } zend_string_release_ex(file_basename, 0); return 0; @@ -234,8 +244,9 @@ }; /* {{{ php_stream_zip_open */ -php_stream *php_stream_zip_open(struct zip *arch, struct zip_stat *sb, const char *mode, zip_flags_t flags STREAMS_DC) +php_stream *php_stream_zip_open(ze_zip_object *obj, struct zip_stat *sb, const char *mode, zip_flags_t flags STREAMS_DC) { + struct zip *arch = php_zip_object_za(obj); struct zip_file *zf = NULL; php_stream *stream = NULL; @@ -254,6 +265,9 @@ self->zf = zf; self->stream = NULL; self->cursor = 0; + /* keep the zip_t alive while the stream borrows it */ + self->archive = obj->archive; + php_zip_archive_addref(self->archive); #if LIBZIP_ATLEAST(1,9,1) if (zip_file_is_seekable(zf) > 0) { stream = php_stream_alloc(&php_stream_zipio_seek_ops, self, NULL, mode); @@ -339,6 +353,7 @@ self->zf = zf; self->stream = NULL; self->cursor = 0; + self->archive = NULL; #if LIBZIP_ATLEAST(1,9,1) if (zip_file_is_seekable(zf) > 0) { stream = php_stream_alloc(&php_stream_zipio_seek_ops, self, NULL, mode); diff -Nru php8.4-8.4.24/main/fastcgi.c php8.4-8.4.26/main/fastcgi.c --- php8.4-8.4.24/main/fastcgi.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/main/fastcgi.c 2026-09-22 15:00:02.000000000 +0000 @@ -1331,7 +1331,7 @@ if (client_sa.sa.sa_family == AF_INET6) { for (i = 0; allowed_clients[i].sa.sa_family ; i++) { if (allowed_clients[i].sa.sa_family == AF_INET6 - && !memcmp(&client_sa.sa_inet6.sin6_addr, &allowed_clients[i].sa_inet6.sin6_addr, 12)) { + && !memcmp(&client_sa.sa_inet6.sin6_addr, &allowed_clients[i].sa_inet6.sin6_addr, sizeof(client_sa.sa_inet6.sin6_addr))) { return 1; } #ifdef IN6_IS_ADDR_V4MAPPED diff -Nru php8.4-8.4.24/main/php_config.h.in php8.4-8.4.26/main/php_config.h.in --- php8.4-8.4.24/main/php_config.h.in 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/main/php_config.h.in 2026-09-22 15:00:02.000000000 +0000 @@ -1188,6 +1188,10 @@ function. */ #undef HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR_NP +/* Define to 1 if libpq has the 'PQclosePortal' function (PostgreSQL 17 or + later). */ +#undef HAVE_PQCLOSEPORTAL + /* Define to 1 if libpq has the 'PQclosePrepared' function (PostgreSQL 17 or later). */ #undef HAVE_PQCLOSEPREPARED @@ -2081,10 +2085,6 @@ #ifndef _ALL_SOURCE # undef _ALL_SOURCE #endif -/* Enable extensions on Cosmopolitan Libc. */ -#ifndef _COSMO_SOURCE -# undef _COSMO_SOURCE -#endif /* Enable general extensions on macOS. */ #ifndef _DARWIN_C_SOURCE # undef _DARWIN_C_SOURCE diff -Nru php8.4-8.4.24/main/php_odbc_utils.c php8.4-8.4.26/main/php_odbc_utils.c --- php8.4-8.4.24/main/php_odbc_utils.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/main/php_odbc_utils.c 2026-09-22 15:00:02.000000000 +0000 @@ -64,12 +64,17 @@ * attribute values that contain the characters []{}(),;?*=!@ not enclosed * with braces should be avoided." * + * We also add spaces too, as driver connection string parameter parsing isn't + * standardized and can be quite sloppy; it can lead to significant whitespace + * not being parsed or confusing parsing of different sections. Note that this + * lacks security impact as we already quote the ';=' characters when parsing. + * * Note that it assumes that the string is *not* already quoted. You should * check beforehand. */ PHPAPI bool php_odbc_connstr_should_quote(const char *str) { - return strpbrk(str, "[]{}(),;?*=!@") != NULL; + return strpbrk(str, "[]{}(),;?*=!@ ") != NULL; } /** diff -Nru php8.4-8.4.24/main/php_version.h php8.4-8.4.26/main/php_version.h --- php8.4-8.4.24/main/php_version.h 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/main/php_version.h 2026-09-22 15:00:02.000000000 +0000 @@ -2,7 +2,7 @@ /* edit configure.ac to change version number */ #define PHP_MAJOR_VERSION 8 #define PHP_MINOR_VERSION 4 -#define PHP_RELEASE_VERSION 24 +#define PHP_RELEASE_VERSION 26 #define PHP_EXTRA_VERSION "" -#define PHP_VERSION "8.4.24" -#define PHP_VERSION_ID 80424 +#define PHP_VERSION "8.4.26" +#define PHP_VERSION_ID 80426 diff -Nru php8.4-8.4.24/main/streams/filter.c php8.4-8.4.26/main/streams/filter.c --- php8.4-8.4.24/main/streams/filter.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/main/streams/filter.c 2026-09-22 15:00:02.000000000 +0000 @@ -459,9 +459,9 @@ /* Dump any newly flushed data to the read buffer */ if (stream->readpos > 0) { /* Back the buffer up */ - memcpy(stream->readbuf, stream->readbuf + stream->readpos, stream->writepos - stream->readpos); - stream->readpos = 0; + memmove(stream->readbuf, stream->readbuf + stream->readpos, stream->writepos - stream->readpos); stream->writepos -= stream->readpos; + stream->readpos = 0; } if (flushed_size > (stream->readbuflen - stream->writepos)) { /* Grow the buffer */ diff -Nru php8.4-8.4.24/run-tests.php php8.4-8.4.26/run-tests.php --- php8.4-8.4.24/run-tests.php 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/run-tests.php 2026-09-22 15:00:02.000000000 +0000 @@ -602,7 +602,7 @@ $show_progress = false; break; case '--version': - echo '$Id: e4a4563f93fc551e20c91d1d691fff8c457c0dfc $' . "\n"; + echo '$Id: dfb07a465bd59fa6ae2c4ecade7612ae76d6d4af $' . "\n"; exit(1); default: @@ -3386,6 +3386,7 @@ $time = $time ?? $this->getTimer($file_name); $this->record($suite, 'execution_time', $time); + $formatted_time = number_format($time, 4, '.', ''); $escaped_details = htmlspecialchars($details, ENT_QUOTES, 'UTF-8'); $escaped_details = preg_replace_callback('/[\0-\x08\x0B\x0C\x0E-\x1F]/', function ($c) { @@ -3394,7 +3395,7 @@ $escaped_message = htmlspecialchars($message, ENT_QUOTES, 'UTF-8'); $escaped_test_name = htmlspecialchars($file_name . ' (' . $test_name . ')', ENT_QUOTES); - $this->rootSuite['files'][$file_name]['xml'] = "\n"; + $this->rootSuite['files'][$file_name]['xml'] = "\n"; if (is_array($type)) { $output_type = $type[0] . 'ED'; @@ -3439,7 +3440,7 @@ } if (isset($this->rootSuite['files'][$file_name]['total'])) { - return number_format($this->rootSuite['files'][$file_name]['total'], 4); + return $this->rootSuite['files'][$file_name]['total']; } return 0; diff -Nru php8.4-8.4.24/sapi/cli/php_cli_server.c php8.4-8.4.26/sapi/cli/php_cli_server.c --- php8.4-8.4.24/sapi/cli/php_cli_server.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/sapi/cli/php_cli_server.c 2026-09-22 15:00:02.000000000 +0000 @@ -177,6 +177,7 @@ zend_string *addr_str; php_http_parser parser; bool request_read; + bool headers_written; zend_string *current_header_name; zend_string *current_header_value; enum { HEADER_NONE=0, HEADER_FIELD, HEADER_VALUE } last_header_element; @@ -555,7 +556,7 @@ sapi_header_struct *h; zend_llist_position pos; - if (client == NULL || SG(request_info).no_headers) { + if (client == NULL || SG(request_info).no_headers || client->headers_written) { return SAPI_HEADER_SENT_SUCCESSFULLY; } @@ -578,10 +579,12 @@ } smart_str_appendl(&buffer, "\r\n", 2); - php_cli_server_client_send_through(client, ZSTR_VAL(buffer.s), ZSTR_LEN(buffer.s)); + size_t buffer_len = ZSTR_LEN(buffer.s); + bool sent = php_cli_server_client_send_through(client, ZSTR_VAL(buffer.s), buffer_len) == buffer_len; + client->headers_written = true; smart_str_free(&buffer); - return SAPI_HEADER_SENT_SUCCESSFULLY; + return sent ? SAPI_HEADER_SENT_SUCCESSFULLY : SAPI_HEADER_SEND_FAILED; } /* }}} */ @@ -1920,11 +1923,11 @@ } else { /* error or timeout */ php_handle_aborted_connection(); - return nbytes_left; + return str_len - nbytes_left; } } else { php_handle_aborted_connection(); - return nbytes_left; + return str_len - nbytes_left; } } nbytes_left -= nbytes_sent; @@ -1973,6 +1976,7 @@ php_http_parser_init(&client->parser, PHP_HTTP_REQUEST); client->request_read = false; + client->headers_written = false; client->last_header_element = HEADER_NONE; client->current_header_name = NULL; diff -Nru php8.4-8.4.24/sapi/cli/tests/gh23425.phpt php8.4-8.4.26/sapi/cli/tests/gh23425.phpt --- php8.4-8.4.24/sapi/cli/tests/gh23425.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/sapi/cli/tests/gh23425.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,40 @@ +--TEST-- +GH-23425 (sapi_cli_server_send_headers() does not check the return value of php_cli_server_client_send_through()) +--EXTENSIONS-- +sockets +--SKIPIF-- + +--FILE-- + 1, 'l_linger' => 0]); +socket_close($sock); + +$result_file = $info->docRoot . '/result.txt'; +for ($i = 0; $i < 40 && !file_exists($result_file); $i++) { + usleep(50000); +} + +echo file_get_contents($result_file), "\n"; +?> +--EXPECT-- +not-sent diff -Nru php8.4-8.4.24/sapi/fpm/fpm/fpm_unix.c php8.4-8.4.26/sapi/fpm/fpm/fpm_unix.c --- php8.4-8.4.24/sapi/fpm/fpm/fpm_unix.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/sapi/fpm/fpm/fpm_unix.c 2026-09-22 15:00:02.000000000 +0000 @@ -2,6 +2,9 @@ #include "fpm_config.h" +#include +#include +#include #include #include #include @@ -53,6 +56,42 @@ return strlen(name) == strspn(name, "0123456789"); } +static bool fpm_unix_parse_uid(struct fpm_worker_pool_s *wp, const char *name, uid_t *uid) +{ + uintmax_t sentinel = (uintmax_t) ((uid_t) -1); + uintmax_t max = (uid_t) -1 > (uid_t) 0 + ? (uintmax_t) ((uid_t) -1) + : (UINTMAX_C(1) << (sizeof(uid_t) * CHAR_BIT - 1)) - 1; + + errno = 0; + uintmax_t value = strtoumax(name, NULL, 10); + if (errno == ERANGE || value > max || value == sentinel) { + zlog(ZLOG_ERROR, "[pool %s] user ID '%s' is out of range", wp->config->name, name); + return false; + } + + *uid = (uid_t) value; + return true; +} + +static bool fpm_unix_parse_gid(struct fpm_worker_pool_s *wp, const char *name, gid_t *gid) +{ + uintmax_t sentinel = (uintmax_t) ((gid_t) -1); + uintmax_t max = (gid_t) -1 > (gid_t) 0 + ? (uintmax_t) ((gid_t) -1) + : (UINTMAX_C(1) << (sizeof(gid_t) * CHAR_BIT - 1)) - 1; + + errno = 0; + uintmax_t value = strtoumax(name, NULL, 10); + if (errno == ERANGE || value > max || value == sentinel) { + zlog(ZLOG_ERROR, "[pool %s] group ID '%s' is out of range", wp->config->name, name); + return false; + } + + *gid = (gid_t) value; + return true; +} + static struct passwd *fpm_unix_get_passwd(struct fpm_worker_pool_s *wp, const char *name, int flags) { struct passwd *pwd = getpwnam(name); @@ -93,7 +132,14 @@ static inline bool fpm_unix_check_passwd(struct fpm_worker_pool_s *wp, const char *name, int flags) { - return !name || fpm_unix_is_id(name) || fpm_unix_get_passwd(wp, name, flags); + if (!name || !*name) { + return true; + } + if (fpm_unix_is_id(name)) { + uid_t uid; + return fpm_unix_parse_uid(wp, name, &uid); + } + return fpm_unix_get_passwd(wp, name, flags) != NULL; } static struct group *fpm_unix_get_group(struct fpm_worker_pool_s *wp, const char *name, int flags) @@ -109,7 +155,14 @@ static inline bool fpm_unix_check_group(struct fpm_worker_pool_s *wp, const char *name, int flags) { - return !name || fpm_unix_is_id(name) || fpm_unix_get_group(wp, name, flags); + if (!name || !*name) { + return true; + } + if (fpm_unix_is_id(name)) { + gid_t gid; + return fpm_unix_parse_gid(wp, name, &gid); + } + return fpm_unix_get_group(wp, name, flags) != NULL; } bool fpm_unix_test_config(struct fpm_worker_pool_s *wp) @@ -133,8 +186,8 @@ /* uninitialized */ wp->socket_acl = NULL; #endif - wp->socket_uid = -1; - wp->socket_gid = -1; + wp->socket_uid = (uid_t) -1; + wp->socket_gid = (gid_t) -1; wp->socket_mode = 0660; if (!c) { @@ -252,7 +305,9 @@ if (c->listen_owner && *c->listen_owner) { if (fpm_unix_is_id(c->listen_owner)) { - wp->socket_uid = strtoul(c->listen_owner, 0, 10); + if (!fpm_unix_parse_uid(wp, c->listen_owner, &wp->socket_uid)) { + return -1; + } } else { struct passwd *pwd; @@ -268,7 +323,9 @@ if (c->listen_group && *c->listen_group) { if (fpm_unix_is_id(c->listen_group)) { - wp->socket_gid = strtoul(c->listen_group, 0, 10); + if (!fpm_unix_parse_gid(wp, c->listen_group, &wp->socket_gid)) { + return -1; + } } else { struct group *grp; @@ -325,7 +382,7 @@ /* When listen.users and listen.groups not configured, continue with standard right */ #endif - if (wp->socket_uid != -1 || wp->socket_gid != -1) { + if (wp->socket_uid != (uid_t) -1 || wp->socket_gid != (gid_t) -1) { if (0 > chown(path, wp->socket_uid, wp->socket_gid)) { zlog(ZLOG_SYSERROR, "[pool %s] failed to chown() the socket '%s'", wp->config->name, wp->config->listen_address); return -1; @@ -354,7 +411,9 @@ if (is_root) { if (wp->config->user && *wp->config->user) { if (fpm_unix_is_id(wp->config->user)) { - wp->set_uid = strtoul(wp->config->user, 0, 10); + if (!fpm_unix_parse_uid(wp, wp->config->user, &wp->set_uid)) { + return -1; + } pwd = getpwuid(wp->set_uid); if (pwd) { wp->set_gid = pwd->pw_gid; @@ -378,7 +437,9 @@ if (wp->config->group && *wp->config->group) { if (fpm_unix_is_id(wp->config->group)) { - wp->set_gid = strtoul(wp->config->group, 0, 10); + if (!fpm_unix_parse_gid(wp, wp->config->group, &wp->set_gid)) { + return -1; + } } else { struct group *grp; @@ -476,17 +537,17 @@ if (wp->set_gid) { if (0 > setgid(wp->set_gid)) { - zlog(ZLOG_SYSERROR, "[pool %s] failed to setgid(%d)", wp->config->name, wp->set_gid); + zlog(ZLOG_SYSERROR, "[pool %s] failed to setgid(%" PRIuMAX ")", wp->config->name, (uintmax_t) wp->set_gid); return -1; } } if (wp->set_uid) { if (0 > initgroups(wp->set_user ? wp->set_user : wp->config->user, wp->set_gid)) { - zlog(ZLOG_SYSERROR, "[pool %s] failed to initgroups(%s, %d)", wp->config->name, wp->config->user, wp->set_gid); + zlog(ZLOG_SYSERROR, "[pool %s] failed to initgroups(%s, %" PRIuMAX ")", wp->config->name, wp->config->user, (uintmax_t) wp->set_gid); return -1; } if (0 > setuid(wp->set_uid)) { - zlog(ZLOG_SYSERROR, "[pool %s] failed to setuid(%d)", wp->config->name, wp->set_uid); + zlog(ZLOG_SYSERROR, "[pool %s] failed to setuid(%" PRIuMAX ")", wp->config->name, (uintmax_t) wp->set_uid); return -1; } } diff -Nru php8.4-8.4.24/sapi/fpm/fpm/fpm_worker_pool.h php8.4-8.4.26/sapi/fpm/fpm/fpm_worker_pool.h --- php8.4-8.4.24/sapi/fpm/fpm/fpm_worker_pool.h 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/sapi/fpm/fpm/fpm_worker_pool.h 2026-09-22 15:00:02.000000000 +0000 @@ -3,6 +3,8 @@ #ifndef FPM_WORKER_POOL_H #define FPM_WORKER_POOL_H 1 +#include + #include "fpm_conf.h" #include "fpm_shm.h" @@ -23,9 +25,12 @@ char *user, *home; /* for setting env USER and HOME */ enum fpm_address_domain listen_address_domain; int listening_socket; - int set_uid, set_gid; /* config uid and gid */ + uid_t set_uid; + gid_t set_gid; /* config uid and gid */ char *set_user; /* config user name */ - int socket_uid, socket_gid, socket_mode; + uid_t socket_uid; + gid_t socket_gid; + int socket_mode; /* runtime */ struct fpm_child_s *children; diff -Nru php8.4-8.4.24/sapi/fpm/tests/gh19320-id-overflow.phpt php8.4-8.4.26/sapi/fpm/tests/gh19320-id-overflow.phpt --- php8.4-8.4.24/sapi/fpm/tests/gh19320-id-overflow.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/sapi/fpm/tests/gh19320-id-overflow.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,54 @@ +--TEST-- +FPM: Reject out-of-range numeric user and group IDs +--SKIPIF-- + +--FILE-- +testConfig(); +} + +?> +Done +--EXPECT-- +ERROR: [pool unconfined] user ID '18446744073709551615' is out of range +ERROR: FPM initialization failed +ERROR: [pool unconfined] group ID '18446744073709551615' is out of range +ERROR: FPM initialization failed +ERROR: [pool unconfined] user ID '18446744073709551615' is out of range +ERROR: FPM initialization failed +ERROR: [pool unconfined] group ID '18446744073709551615' is out of range +ERROR: FPM initialization failed +Done +--CLEAN-- + diff -Nru php8.4-8.4.24/sapi/fpm/tests/gh23288-opcache-interned-strings-buffer-pool.phpt php8.4-8.4.26/sapi/fpm/tests/gh23288-opcache-interned-strings-buffer-pool.phpt --- php8.4-8.4.24/sapi/fpm/tests/gh23288-opcache-interned-strings-buffer-pool.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/sapi/fpm/tests/gh23288-opcache-interned-strings-buffer-pool.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,50 @@ +--TEST-- +FPM: GH-23288 - opcache.interned_strings_buffer overridden per pool must not crash on restart +--EXTENSIONS-- +opcache +--SKIPIF-- + +--FILE-- +start($extraArgs, iniEntries: ['opcache.interned_strings_buffer' => '0']); +$tester->expectLogStartNotices(); +$tester->request()->expectBody('ok'); +$tester->request()->expectBody('ok'); +$tester->request()->expectBody('ok'); +$tester->terminate(); +$tester->expectLogTerminatingNotices(); +$tester->close(); + +?> +Done +--EXPECT-- +Done +--CLEAN-- + diff -Nru php8.4-8.4.24/sapi/fpm/tests/ghsa-62xp-839h-2637-ipv6-allowed-clients.phpt php8.4-8.4.26/sapi/fpm/tests/ghsa-62xp-839h-2637-ipv6-allowed-clients.phpt --- php8.4-8.4.24/sapi/fpm/tests/ghsa-62xp-839h-2637-ipv6-allowed-clients.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/sapi/fpm/tests/ghsa-62xp-839h-2637-ipv6-allowed-clients.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,52 @@ +--TEST-- +GHSA-62xp-839h-2637: IPv6 allowed client compared on all 128 bits +--SKIPIF-- + +--FILE-- +start(); +$tester->expectLogStartNotices(); +$tester->checkRequest('{{ADDR:IPv6[exact]}}', 'exact: ok', 'exact: error'); +$tester->checkRequest('{{ADDR:IPv6[prefix]}}', 'prefix: ok', 'prefix: error'); +$tester->terminate(); +$tester->expectLogWarning( + 'child %d said into stderr: "ERROR: Connection disallowed: IP address \'::1\' has been dropped."', + 'prefix' +); +$tester->expectLogTerminatingNotices(); +$tester->close(); + +?> +Done +--EXPECT-- +exact: ok +prefix: error +Done +--CLEAN-- + diff -Nru php8.4-8.4.24/sapi/fpm/tests/ghsa-62xp-839h-2637-v4mapped-allowed-clients.phpt php8.4-8.4.26/sapi/fpm/tests/ghsa-62xp-839h-2637-v4mapped-allowed-clients.phpt --- php8.4-8.4.24/sapi/fpm/tests/ghsa-62xp-839h-2637-v4mapped-allowed-clients.phpt 1970-01-01 00:00:00.000000000 +0000 +++ php8.4-8.4.26/sapi/fpm/tests/ghsa-62xp-839h-2637-v4mapped-allowed-clients.phpt 2026-09-22 15:00:02.000000000 +0000 @@ -0,0 +1,52 @@ +--TEST-- +GHSA-62xp-839h-2637: IPv4-mapped allowed client compared on all 128 bits +--SKIPIF-- + +--FILE-- +start(); +$tester->expectLogStartNotices(); +$tester->checkRequest('{{ADDR:IPv4[exact]}}', 'exact: ok', 'exact: error'); +$tester->checkRequest('{{ADDR:IPv4[prefix]}}', 'prefix: ok', 'prefix: error'); +$tester->terminate(); +$tester->expectLogWarning( + 'child %d said into stderr: "ERROR: Connection disallowed: IP address \'127.0.0.1\' has been dropped."', + 'prefix' +); +$tester->expectLogTerminatingNotices(); +$tester->close(); + +?> +Done +--EXPECT-- +exact: ok +prefix: error +Done +--CLEAN-- + diff -Nru php8.4-8.4.24/sapi/fuzzer/Makefile.frag php8.4-8.4.26/sapi/fuzzer/Makefile.frag --- php8.4-8.4.24/sapi/fuzzer/Makefile.frag 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/sapi/fuzzer/Makefile.frag 2026-09-22 15:00:02.000000000 +0000 @@ -2,32 +2,32 @@ FUZZER_BUILD = $(LIBTOOL) --tag=CC --mode=link $(FUZZING_CC) -export-dynamic $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) $(EXTRA_LDFLAGS_PROGRAM) $(LDFLAGS) $(PHP_RPATHS) $(PHP_GLOBAL_OBJS) $(PHP_BINARY_OBJS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) $(FUZZING_LIB) -$(SAPI_FUZZER_PATH)/php-fuzz-parser: $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS) $(PHP_FUZZER_PARSER_OBJS) +$(SAPI_FUZZER_PATH)/php-fuzz-parser: $(PHP_GLOBAL_OBJS) $(PHP_BINARY_OBJS) $(PHP_FUZZER_PARSER_OBJS) $(FUZZER_BUILD) $(PHP_FUZZER_PARSER_OBJS) -o $@ -$(SAPI_FUZZER_PATH)/php-fuzz-execute: $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS) $(PHP_FUZZER_EXECUTE_OBJS) +$(SAPI_FUZZER_PATH)/php-fuzz-execute: $(PHP_GLOBAL_OBJS) $(PHP_BINARY_OBJS) $(PHP_FUZZER_EXECUTE_OBJS) $(FUZZER_BUILD) $(PHP_FUZZER_EXECUTE_OBJS) -o $@ -$(SAPI_FUZZER_PATH)/php-fuzz-function-jit: $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS) $(PHP_FUZZER_FUNCTION_JIT_OBJS) +$(SAPI_FUZZER_PATH)/php-fuzz-function-jit: $(PHP_GLOBAL_OBJS) $(PHP_BINARY_OBJS) $(PHP_FUZZER_FUNCTION_JIT_OBJS) $(FUZZER_BUILD) $(PHP_FUZZER_FUNCTION_JIT_OBJS) -o $@ -$(SAPI_FUZZER_PATH)/php-fuzz-tracing-jit: $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS) $(PHP_FUZZER_TRACING_JIT_OBJS) +$(SAPI_FUZZER_PATH)/php-fuzz-tracing-jit: $(PHP_GLOBAL_OBJS) $(PHP_BINARY_OBJS) $(PHP_FUZZER_TRACING_JIT_OBJS) $(FUZZER_BUILD) $(PHP_FUZZER_TRACING_JIT_OBJS) -o $@ -$(SAPI_FUZZER_PATH)/php-fuzz-unserialize: $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS) $(PHP_FUZZER_UNSERIALIZE_OBJS) +$(SAPI_FUZZER_PATH)/php-fuzz-unserialize: $(PHP_GLOBAL_OBJS) $(PHP_BINARY_OBJS) $(PHP_FUZZER_UNSERIALIZE_OBJS) $(FUZZER_BUILD) $(PHP_FUZZER_UNSERIALIZE_OBJS) -o $@ -$(SAPI_FUZZER_PATH)/php-fuzz-unserializehash: $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS) $(PHP_FUZZER_UNSERIALIZEHASH_OBJS) +$(SAPI_FUZZER_PATH)/php-fuzz-unserializehash: $(PHP_GLOBAL_OBJS) $(PHP_BINARY_OBJS) $(PHP_FUZZER_UNSERIALIZEHASH_OBJS) $(FUZZER_BUILD) $(PHP_FUZZER_UNSERIALIZEHASH_OBJS) -o $@ -$(SAPI_FUZZER_PATH)/php-fuzz-json: $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS) $(PHP_FUZZER_JSON_OBJS) +$(SAPI_FUZZER_PATH)/php-fuzz-json: $(PHP_GLOBAL_OBJS) $(PHP_BINARY_OBJS) $(PHP_FUZZER_JSON_OBJS) $(FUZZER_BUILD) $(PHP_FUZZER_JSON_OBJS) -o $@ -$(SAPI_FUZZER_PATH)/php-fuzz-exif: $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS) $(PHP_FUZZER_EXIF_OBJS) +$(SAPI_FUZZER_PATH)/php-fuzz-exif: $(PHP_GLOBAL_OBJS) $(PHP_BINARY_OBJS) $(PHP_FUZZER_EXIF_OBJS) $(FUZZER_BUILD) $(PHP_FUZZER_EXIF_OBJS) -o $@ -$(SAPI_FUZZER_PATH)/php-fuzz-mbstring: $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS) $(PHP_FUZZER_MBSTRING_OBJS) +$(SAPI_FUZZER_PATH)/php-fuzz-mbstring: $(PHP_GLOBAL_OBJS) $(PHP_BINARY_OBJS) $(PHP_FUZZER_MBSTRING_OBJS) $(FUZZER_BUILD) $(PHP_FUZZER_MBSTRING_OBJS) -o $@ -$(SAPI_FUZZER_PATH)/php-fuzz-mbregex: $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS) $(PHP_FUZZER_MBREGEX_OBJS) +$(SAPI_FUZZER_PATH)/php-fuzz-mbregex: $(PHP_GLOBAL_OBJS) $(PHP_BINARY_OBJS) $(PHP_FUZZER_MBREGEX_OBJS) $(FUZZER_BUILD) $(PHP_FUZZER_MBREGEX_OBJS) -o $@ diff -Nru php8.4-8.4.24/sapi/litespeed/lsapi_main.c php8.4-8.4.26/sapi/litespeed/lsapi_main.c --- php8.4-8.4.24/sapi/litespeed/lsapi_main.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/sapi/litespeed/lsapi_main.c 2026-09-22 15:00:02.000000000 +0000 @@ -1443,7 +1443,7 @@ #include int main( int argc, char * argv[] ) { - int ret; + int ret = 0; int bindFd; char * php_ini_path = NULL; diff -Nru php8.4-8.4.24/win32/ioutil.c php8.4-8.4.26/win32/ioutil.c --- php8.4-8.4.24/win32/ioutil.c 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/win32/ioutil.c 2026-09-22 15:00:02.000000000 +0000 @@ -71,6 +71,159 @@ static MyPathCchCanonicalizeEx canonicalize_path_w = NULL; +typedef ULONG (WINAPI *php_win32_ioutil_rtl_is_dos_device_name_u_t)(PCWSTR); + +static php_win32_ioutil_rtl_is_dos_device_name_u_t rtl_is_dos_device_name_u = NULL; + +static BOOL php_win32_ioutil_is_reserved_name_w(const wchar_t *name, size_t len) +{/*{{{*/ + if (len == 3) { + return _wcsnicmp(name, L"CON", 3) == 0 + || _wcsnicmp(name, L"PRN", 3) == 0 + || _wcsnicmp(name, L"AUX", 3) == 0 + || _wcsnicmp(name, L"NUL", 3) == 0; + } + + if (len == 4 && (_wcsnicmp(name, L"COM", 3) == 0 || _wcsnicmp(name, L"LPT", 3) == 0)) { + return (name[3] >= L'1' && name[3] <= L'9') + || name[3] == L'\u00B2' + || name[3] == L'\u00B3' + || name[3] == L'\u00B9'; + } + + return (len == 6 && _wcsnicmp(name, L"CONIN$", 6) == 0) + || (len == 7 && _wcsnicmp(name, L"CONOUT$", 7) == 0); +}/*}}}*/ + +/* Also catches variants like NUL.txt, NUL:stream or "NUL ", as far as the OS treats them as devices. */ +static BOOL php_win32_ioutil_is_reserved_component_w(const wchar_t *name, size_t len) +{/*{{{*/ + size_t base_len = len; + wchar_t *tmp; + BOOL ret; + ALLOCA_FLAG(use_heap) + + if (php_win32_ioutil_is_reserved_name_w(name, len)) { + return TRUE; + } + + for (size_t i = 0; i < len; i++) { + if (name[i] == L'.' || name[i] == L':') { + base_len = i; + break; + } + } + while (base_len > 0 && name[base_len - 1] == L' ') { + base_len--; + } + + if (base_len == len || !php_win32_ioutil_is_reserved_name_w(name, base_len)) { + return FALSE; + } + + if (!rtl_is_dos_device_name_u) { + return TRUE; + } + + tmp = do_alloca((len + 1) * sizeof(wchar_t), use_heap); + memcpy(tmp, name, len * sizeof(wchar_t)); + tmp[len] = L'\0'; + ret = rtl_is_dos_device_name_u(tmp) > 0; + free_alloca(tmp, use_heap); + + return ret; +}/*}}}*/ + +PW32IO php_win32_ioutil_path_kind php_win32_ioutil_path_kind_w(const wchar_t *path, size_t path_len) +{/*{{{*/ + size_t i = 0; + + while (i < path_len && !PHP_WIN32_IOUTIL_IS_SLASHW(path[i])) { + i++; + } + + if (i == path_len && !(path_len > 2 && PHP_WIN32_IOUTIL_IS_LETTERW(path[0]) && path[1] == L':')) { + if (path_len == 0) { + return PHP_WIN32_IOUTIL_PATH_OK; + } + /* Bare device names like NUL or NUL: are kept working for BC. */ + if (php_win32_ioutil_is_reserved_name_w(path, path_len - (path[path_len - 1] == L':'))) { + return PHP_WIN32_IOUTIL_PATH_DEVICE; + } + return php_win32_ioutil_is_reserved_component_w(path, path_len) + ? PHP_WIN32_IOUTIL_PATH_RESERVED : PHP_WIN32_IOUTIL_PATH_OK; + } + + /* Windows does not map device names within DOS device paths (\\.\, \\?\ and \??\). */ + if (path_len >= 4 && PHP_WIN32_IOUTIL_IS_SLASHW(path[3]) + && ((PHP_WIN32_IOUTIL_IS_SLASHW(path[0]) && PHP_WIN32_IOUTIL_IS_SLASHW(path[1]) && (path[2] == L'.' || path[2] == L'?')) + || (path[0] == L'\\' && path[1] == L'?' && path[2] == L'?'))) { + return PHP_WIN32_IOUTIL_PATH_OK; + } + + i = 0; + if (path_len >= 2 && PHP_WIN32_IOUTIL_IS_SLASHW(path[0]) && PHP_WIN32_IOUTIL_IS_SLASHW(path[1])) { + /* UNC, skip server and share. */ + for (int n = 0; n < 2; n++) { + while (i < path_len && PHP_WIN32_IOUTIL_IS_SLASHW(path[i])) { + i++; + } + while (i < path_len && !PHP_WIN32_IOUTIL_IS_SLASHW(path[i])) { + i++; + } + } + } else if (path_len >= 2 && PHP_WIN32_IOUTIL_IS_LETTERW(path[0]) && path[1] == L':') { + i = 2; + } + + while (i < path_len) { + size_t start; + + while (i < path_len && PHP_WIN32_IOUTIL_IS_SLASHW(path[i])) { + i++; + } + start = i; + while (i < path_len && !PHP_WIN32_IOUTIL_IS_SLASHW(path[i])) { + i++; + } + if (i > start && php_win32_ioutil_is_reserved_component_w(path + start, i - start)) { + return PHP_WIN32_IOUTIL_PATH_RESERVED; + } + } + + return PHP_WIN32_IOUTIL_PATH_OK; +}/*}}}*/ + +PW32IO php_win32_ioutil_path_kind php_win32_ioutil_path_kind_a(const char *path, size_t path_len) +{/*{{{*/ + wchar_t *pathw; + size_t i, pathw_len; + php_win32_ioutil_path_kind ret; + ALLOCA_FLAG(use_heap) + + for (i = 0; i < path_len && !(path[i] & 0x80); i++); + + if (i < path_len) { + pathw = php_win32_cp_conv_any_to_w(path, path_len, &pathw_len); + if (!pathw) { + return PHP_WIN32_IOUTIL_PATH_OK; + } + ret = php_win32_ioutil_path_kind_w(pathw, pathw_len); + free(pathw); + return ret; + } + + /* ASCII only, widen on the stack instead of a full conversion. */ + pathw = do_alloca((path_len + 1) * sizeof(wchar_t), use_heap); + for (i = 0; i < path_len; i++) { + pathw[i] = (wchar_t) path[i]; + } + ret = php_win32_ioutil_path_kind_w(pathw, path_len); + free_alloca(pathw, use_heap); + + return ret; +}/*}}}*/ + PW32IO BOOL php_win32_ioutil_posix_to_open_opts(int flags, mode_t mode, php_ioutil_open_opts *opts) {/*{{{*/ int current_umask; @@ -661,6 +814,11 @@ canonicalize_path_w = (MyPathCchCanonicalizeEx)MyPathCchCanonicalizeExFallback; } + hMod = GetModuleHandleW(L"ntdll.dll"); + if (hMod) { + rtl_is_dos_device_name_u = (php_win32_ioutil_rtl_is_dos_device_name_u_t)GetProcAddress(hMod, "RtlIsDosDeviceName_U"); + } + return TRUE; }/*}}}*/ @@ -668,6 +826,8 @@ {/*{{{*/ DWORD attr; + PHP_WIN32_IOUTIL_CHECK_PATH_W(path, -1, 0) + if ((mode & X_OK) == X_OK) { DWORD type; return GetBinaryTypeW(path, &type) ? 0 : -1; @@ -977,6 +1137,8 @@ int ret; ALLOCA_FLAG(use_heap_large) + PHP_WIN32_IOUTIL_CHECK_PATH_W(path, -1, 0) + hLink = CreateFileW(path, FILE_READ_ATTRIBUTES, PHP_WIN32_IOUTIL_DEFAULT_SHARE_MODE, diff -Nru php8.4-8.4.24/win32/ioutil.h php8.4-8.4.26/win32/ioutil.h --- php8.4-8.4.24/win32/ioutil.h 2026-07-29 05:29:50.000000000 +0000 +++ php8.4-8.4.26/win32/ioutil.h 2026-09-22 15:00:02.000000000 +0000 @@ -110,6 +110,15 @@ PHP_WIN32_IOUTIL_NORM_FAIL, } php_win32_ioutil_normalization_result; +typedef enum { + PHP_WIN32_IOUTIL_PATH_OK, + PHP_WIN32_IOUTIL_PATH_DEVICE, + PHP_WIN32_IOUTIL_PATH_RESERVED, +} php_win32_ioutil_path_kind; + +PW32IO php_win32_ioutil_path_kind php_win32_ioutil_path_kind_w(const wchar_t *path, size_t path_len); +PW32IO php_win32_ioutil_path_kind php_win32_ioutil_path_kind_a(const char *path, size_t path_len); + #define PHP_WIN32_IOUTIL_FW_SLASHW L'/' #define PHP_WIN32_IOUTIL_FW_SLASH '/' #define PHP_WIN32_IOUTIL_BW_SLASHW L'\\' @@ -155,7 +164,8 @@ #define PHP_WIN32_IOUTIL_PATH_IS_OK_W(pathw, len) \ (!((len) >= 1 && L' ' == pathw[(len)-1] || \ - (len) > 1 && !PHP_WIN32_IOUTIL_IS_SLASHW(pathw[(len)-2]) && L'.' != pathw[(len)-2] && L'.' == pathw[(len)-1])) + (len) > 1 && !PHP_WIN32_IOUTIL_IS_SLASHW(pathw[(len)-2]) && L'.' != pathw[(len)-2] && L'.' == pathw[(len)-1]) \ + && PHP_WIN32_IOUTIL_PATH_RESERVED != php_win32_ioutil_path_kind_w(pathw, len)) #define PHP_WIN32_IOUTIL_CHECK_PATH_W(pathw, ret, dealloc) do { \ size_t _len = wcslen(pathw); \