]> granicus.if.org Git - php/commitdiff
Merge branch 'PHP-8.0'
authorNikita Popov <nikita.ppv@gmail.com>
Tue, 16 Feb 2021 11:34:00 +0000 (12:34 +0100)
committerNikita Popov <nikita.ppv@gmail.com>
Tue, 16 Feb 2021 11:34:00 +0000 (12:34 +0100)
* PHP-8.0:
  Fixed bug #80723

1  2 
Zend/zend_object_handlers.c
Zend/zend_object_handlers.h
ext/sockets/sockets.c

Simple merge
index 1eca06f2667d0f0b6229efcc34a0b9f2c301064f,513423035488d078a76b59732fceffe55cafeb72..71c0168372f601036b49f2f7a2cbdc6603197a0c
@@@ -222,12 -210,16 +222,16 @@@ ZEND_API void zend_std_unset_dimension(
  ZEND_API zend_function *zend_std_get_method(zend_object **obj_ptr, zend_string *method_name, const zval *key);
  ZEND_API zend_string *zend_std_get_class_name(const zend_object *zobj);
  ZEND_API int zend_std_compare_objects(zval *o1, zval *o2);
 -ZEND_API int zend_std_get_closure(zend_object *obj, zend_class_entry **ce_ptr, zend_function **fptr_ptr, zend_object **obj_ptr, zend_bool check_only);
 +ZEND_API int zend_std_get_closure(zend_object *obj, zend_class_entry **ce_ptr, zend_function **fptr_ptr, zend_object **obj_ptr, bool check_only);
  ZEND_API void rebuild_object_properties(zend_object *zobj);
  
+ /* Handler for objects that cannot be meaningfully compared.
+  * Only objects with the same identity will be considered equal. */
+ ZEND_API int zend_objects_not_comparable(zval *o1, zval *o2);
  ZEND_API int zend_check_protected(zend_class_entry *ce, zend_class_entry *scope);
  
 -ZEND_API int zend_check_property_access(zend_object *zobj, zend_string *prop_info_name, zend_bool is_dynamic);
 +ZEND_API int zend_check_property_access(zend_object *zobj, zend_string *prop_info_name, bool is_dynamic);
  
  ZEND_API zend_function *zend_get_call_trampoline_func(zend_class_entry *ce, zend_string *method_name, int is_static);
  
index 204fa98a47b924a6ff4914a96907ae83f86e72da,368e61b0ed56427e88e6b6ad79c235af14ab5edc..5bc058c4b7cac659d61e33c55bef582f1182c7f9
@@@ -443,8 -446,12 +443,9 @@@ static PHP_MINIT_FUNCTION(sockets
        socket_object_handlers.get_constructor = socket_get_constructor;
        socket_object_handlers.clone_obj = NULL;
        socket_object_handlers.get_gc = socket_get_gc;
+       socket_object_handlers.compare = zend_objects_not_comparable;
  
 -      zend_class_entry ce_address_info;
 -      INIT_CLASS_ENTRY(ce_address_info, "AddressInfo", class_AddressInfo_methods);
 -      address_info_ce = zend_register_internal_class(&ce_address_info);
 -      address_info_ce->ce_flags |= ZEND_ACC_FINAL | ZEND_ACC_NO_DYNAMIC_PROPERTIES;
 +      address_info_ce = register_class_AddressInfo();
        address_info_ce->create_object = address_info_create_object;
        address_info_ce->serialize = zend_class_serialize_deny;
        address_info_ce->unserialize = zend_class_unserialize_deny;