From: Nikita Popov Date: Tue, 16 Feb 2021 13:22:03 +0000 (+0100) Subject: Merge branch 'PHP-8.0' X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ce0bc58c2296c83da2d8c039e7fb2bb7d5ee2462;p=php Merge branch 'PHP-8.0' * PHP-8.0: Mark resource-like objects as non-comparable --- ce0bc58c2296c83da2d8c039e7fb2bb7d5ee2462 diff --cc ext/curl/interface.c index 0827bdfd8b,808785c445..d8ce11df37 --- a/ext/curl/interface.c +++ b/ext/curl/interface.c @@@ -1189,12 -1200,10 +1189,13 @@@ PHP_MINIT_FUNCTION(curl curl_object_handlers.get_constructor = curl_get_constructor; curl_object_handlers.clone_obj = curl_clone_obj; curl_object_handlers.cast_object = curl_cast_object; + curl_object_handlers.compare = zend_objects_not_comparable; - curl_multi_register_class(class_CurlMultiHandle_methods); - curl_share_register_class(class_CurlShareHandle_methods); + curl_multi_ce = register_class_CurlMultiHandle(); + curl_multi_register_handlers(); + + curl_share_ce = register_class_CurlShareHandle(); + curl_share_register_handlers(); curlfile_register_class(); return SUCCESS; diff --cc ext/enchant/enchant.c index 1b22ad48fb,b602620c2a..b99dd24ac5 --- a/ext/enchant/enchant.c +++ b/ext/enchant/enchant.c @@@ -195,8 -199,11 +195,9 @@@ PHP_MINIT_FUNCTION(enchant enchant_broker_handlers.offset = XtOffsetOf(enchant_broker, std); enchant_broker_handlers.free_obj = php_enchant_broker_free; enchant_broker_handlers.clone_obj = NULL; + enchant_broker_handlers.compare = zend_objects_not_comparable; - INIT_CLASS_ENTRY(dce, "EnchantDictionary", class_EnchantDictionary_methods); - enchant_dict_ce = zend_register_internal_class(&dce); - enchant_dict_ce->ce_flags |= ZEND_ACC_FINAL | ZEND_ACC_NO_DYNAMIC_PROPERTIES; + enchant_dict_ce = register_class_EnchantDictionary(); enchant_dict_ce->create_object = enchant_dict_create_object; enchant_dict_ce->serialize = zend_class_serialize_deny; enchant_dict_ce->unserialize = zend_class_unserialize_deny; diff --cc ext/openssl/openssl.c index d4eac3efe8,340e40a001..749751c07a --- a/ext/openssl/openssl.c +++ b/ext/openssl/openssl.c @@@ -1113,8 -1116,12 +1113,9 @@@ PHP_MINIT_FUNCTION(openssl php_openssl_certificate_object_handlers.free_obj = php_openssl_certificate_free_obj; php_openssl_certificate_object_handlers.get_constructor = php_openssl_certificate_get_constructor; php_openssl_certificate_object_handlers.clone_obj = NULL; + php_openssl_certificate_object_handlers.compare = zend_objects_not_comparable; - zend_class_entry csr_ce; - INIT_CLASS_ENTRY(csr_ce, "OpenSSLCertificateSigningRequest", class_OpenSSLCertificateSigningRequest_methods); - php_openssl_request_ce = zend_register_internal_class(&csr_ce); - php_openssl_request_ce->ce_flags |= ZEND_ACC_FINAL | ZEND_ACC_NO_DYNAMIC_PROPERTIES; + php_openssl_request_ce = register_class_OpenSSLCertificateSigningRequest(); php_openssl_request_ce->create_object = php_openssl_request_create_object; php_openssl_request_ce->serialize = zend_class_serialize_deny; php_openssl_request_ce->unserialize = zend_class_unserialize_deny; @@@ -1124,8 -1131,12 +1125,9 @@@ php_openssl_request_object_handlers.free_obj = php_openssl_request_free_obj; php_openssl_request_object_handlers.get_constructor = php_openssl_request_get_constructor; php_openssl_request_object_handlers.clone_obj = NULL; + php_openssl_request_object_handlers.compare = zend_objects_not_comparable; - zend_class_entry key_ce; - INIT_CLASS_ENTRY(key_ce, "OpenSSLAsymmetricKey", class_OpenSSLAsymmetricKey_methods); - php_openssl_pkey_ce = zend_register_internal_class(&key_ce); - php_openssl_pkey_ce->ce_flags |= ZEND_ACC_FINAL | ZEND_ACC_NO_DYNAMIC_PROPERTIES; + php_openssl_pkey_ce = register_class_OpenSSLAsymmetricKey(); php_openssl_pkey_ce->create_object = php_openssl_pkey_create_object; php_openssl_pkey_ce->serialize = zend_class_serialize_deny; php_openssl_pkey_ce->unserialize = zend_class_unserialize_deny;