]> granicus.if.org Git - php/commitdiff
Merge branch 'PHP-5.6'
authorStanislav Malyshev <stas@php.net>
Mon, 1 Sep 2014 19:22:41 +0000 (12:22 -0700)
committerStanislav Malyshev <stas@php.net>
Mon, 1 Sep 2014 19:22:41 +0000 (12:22 -0700)
* PHP-5.6:
  update NEWS
  Only destruct if EG(active) in zend_shutdown(). (bug #65463, #66036)
  Fix typo from commit 32314f6b6
  Fix destruction order in zend_shutdown (bug #65463, #66036)

Conflicts:
Zend/zend_compile.h
Zend/zend_execute_API.c

1  2 
Zend/zend.c
Zend/zend_compile.h
Zend/zend_execute_API.c

diff --cc Zend/zend.c
Simple merge
index 71a622f4173ecb2d1be851e563b02f14f68e0bf7,876e8ec5f2ad079dd4d98463e3bbbc5a82b42162..8888b6ea1ff1aed02decb7b98871cb5f0ae90729
@@@ -487,17 -680,21 +487,21 @@@ ZEND_API int open_file_for_scanning(zen
  ZEND_API void init_op_array(zend_op_array *op_array, zend_uchar type, int initial_ops_size TSRMLS_DC);
  ZEND_API void destroy_op_array(zend_op_array *op_array TSRMLS_DC);
  ZEND_API void zend_destroy_file_handle(zend_file_handle *file_handle TSRMLS_DC);
 -ZEND_API int zend_cleanup_class_data(zend_class_entry **pce TSRMLS_DC);
 -ZEND_API int zend_cleanup_user_class_data(zend_class_entry **pce TSRMLS_DC);
 +ZEND_API void zend_cleanup_user_class_data(zend_class_entry *ce TSRMLS_DC);
  ZEND_API void zend_cleanup_internal_class_data(zend_class_entry *ce TSRMLS_DC);
  ZEND_API void zend_cleanup_internal_classes(TSRMLS_D);
 +ZEND_API void zend_cleanup_op_array_data(zend_op_array *op_array);
+ ZEND_API int zend_cleanup_function_data(zend_function *function TSRMLS_DC);
+ ZEND_API int zend_cleanup_function_data_full(zend_function *function TSRMLS_DC);
+ ZEND_API int clean_non_persistent_function_full(zend_function *function TSRMLS_DC);
+ ZEND_API int clean_non_persistent_class_full(zend_class_entry **ce TSRMLS_DC);
  
  ZEND_API void destroy_zend_function(zend_function *function TSRMLS_DC);
 -ZEND_API void zend_function_dtor(zend_function *function);
 -ZEND_API void destroy_zend_class(zend_class_entry **pce);
 -void zend_class_add_ref(zend_class_entry **ce);
 +ZEND_API void zend_function_dtor(zval *zv);
 +ZEND_API void destroy_zend_class(zval *zv);
 +void zend_class_add_ref(zval *zv);
  
 -ZEND_API void zend_mangle_property_name(char **dest, int *dest_length, const char *src1, int src1_length, const char *src2, int src2_length, int internal);
 +ZEND_API zend_string *zend_mangle_property_name(const char *src1, int src1_length, const char *src2, int src2_length, int internal);
  #define zend_unmangle_property_name(mangled_property, mangled_property_len, class_name, prop_name) \
          zend_unmangle_property_name_ex(mangled_property, mangled_property_len, class_name, prop_name, NULL)
  ZEND_API int zend_unmangle_property_name_ex(const char *mangled_property, int mangled_property_len, const char **class_name, const char **prop_name, int *prop_len);
index 5984e2dc829b69ab72309545f3460d8735d2ecd9,243da3fde1700b385a3bd6b4bf3ab90a6fa64b0b..7842ecfb9189fdd286b36c5df347ccf6d57a621b
@@@ -110,9 -109,8 +110,9 @@@ static int clean_non_persistent_functio
  }
  /* }}} */
  
- static int clean_non_persistent_function_full(zval *zv TSRMLS_DC) /* {{{ */
 -ZEND_API int clean_non_persistent_function_full(zend_function *function TSRMLS_DC) /* {{{ */
++ZEND_API int clean_non_persistent_function_full(zval *zv TSRMLS_DC) /* {{{ */
  {
 +      zend_function *function = Z_PTR_P(zv);
        return (function->type == ZEND_INTERNAL_FUNCTION) ? ZEND_HASH_APPLY_KEEP : ZEND_HASH_APPLY_REMOVE;
  }
  /* }}} */
@@@ -124,10 -121,9 +124,10 @@@ static int clean_non_persistent_class(z
  }
  /* }}} */
  
- static int clean_non_persistent_class_full(zval *zv TSRMLS_DC) /* {{{ */
 -ZEND_API int clean_non_persistent_class_full(zend_class_entry **ce TSRMLS_DC) /* {{{ */
++ZEND_API int clean_non_persistent_class_full(zval *zv TSRMLS_DC) /* {{{ */
  {
 -      return ((*ce)->type == ZEND_INTERNAL_CLASS) ? ZEND_HASH_APPLY_KEEP : ZEND_HASH_APPLY_REMOVE;
 +      zend_class_entry *ce = Z_PTR_P(zv);
 +      return (ce->type == ZEND_INTERNAL_CLASS) ? ZEND_HASH_APPLY_KEEP : ZEND_HASH_APPLY_REMOVE;
  }
  /* }}} */