ReflectionFunction::invoke($arg = null, ...$args)
ReflectionMethod::invoke($object, $arg = null, ...$args)
+- Socket:
+ . The deprecated AI_IDN_ALLOW_UNASSIGNED and AI_IDN_USE_STD3_ASCII_RULES
+ flags for socket_addrinfo_lookup() have been removed.
+
- SPL:
. SplFileObject::fgetss() has been removed.
. SplHeap::compare($a, $b) now specifies a method signature. Inheriting
#if HAVE_AI_IDN
REGISTER_LONG_CONSTANT("AI_IDN", AI_IDN, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("AI_CANONIDN", AI_CANONIDN, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("AI_IDN_ALLOW_UNASSIGNED", AI_IDN_ALLOW_UNASSIGNED, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("AI_IDN_USE_STD3_ASCII_RULES", AI_IDN_USE_STD3_ASCII_RULES, CONST_CS | CONST_PERSISTENT);
#endif
#ifdef AI_NUMERICSERV
REGISTER_LONG_CONSTANT("AI_NUMERICSERV", AI_NUMERICSERV, CONST_CS | CONST_PERSISTENT);
ZEND_HASH_FOREACH_STR_KEY_VAL(Z_ARRVAL_P(zhints), key, hint) {
if (key) {
if (zend_string_equals_literal(key, "ai_flags")) {
- zend_long flags = zval_get_long(hint);
-#if HAVE_AI_IDN
- if (flags & (AI_IDN_ALLOW_UNASSIGNED | AI_IDN_USE_STD3_ASCII_RULES)) {
- php_error_docref(NULL, E_DEPRECATED,
- "AI_IDN_ALLOW_UNASSIGNED and AI_IDN_USE_STD3_ASCII_RULES are deprecated");
- }
-#endif
- hints.ai_flags = flags;
+ hints.ai_flags = zval_get_long(hint);
} else if (zend_string_equals_literal(key, "ai_socktype")) {
hints.ai_socktype = zval_get_long(hint);
} else if (zend_string_equals_literal(key, "ai_protocol")) {
+++ /dev/null
---TEST--
-AI_IDN_ALLOW_UNASSIGNED and AI_IDN_USE_STD3_ASCII_RULES are deprecated
---SKIPIF--
-<?php
-if (!extension_loaded('sockets')) die('skip The sockets extension is not loaded');
-if (!defined('AI_IDN_ALLOW_UNASSIGNED')) die('skip AI_IDN_ALLOW_UNASSIGNED not defined');
-?>
---FILE--
-<?php
-$addrinfo = socket_addrinfo_lookup('127.0.0.1', 2000, array(
- 'ai_family' => AF_INET,
- 'ai_socktype' => SOCK_DGRAM,
- 'ai_flags' => AI_IDN_ALLOW_UNASSIGNED,
-));
-var_dump(socket_addrinfo_connect($addrinfo[0]));
-echo "Done";
---EXPECTF--
-Deprecated: socket_addrinfo_lookup(): AI_IDN_ALLOW_UNASSIGNED and AI_IDN_USE_STD3_ASCII_RULES are deprecated in %s on line %d
-resource(%d) of type (Socket)
-Done