Skip to content

Commit 545bc9b

Browse files
committed
Fix incompatible pointer error for Zend object handlers.
1 parent 43324ce commit 545bc9b

File tree

6 files changed

+19
-19
lines changed

6 files changed

+19
-19
lines changed

Zend/zend_compile.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -751,8 +751,8 @@ const char *zend_get_zendtext(void);
751751
int zend_get_zendleng(void);
752752
#endif
753753

754-
typedef int (ZEND_FASTCALL *unary_op_type)(zval *, zval *);
755-
typedef int (ZEND_FASTCALL *binary_op_type)(zval *, zval *, zval *);
754+
typedef ZEND_RESULT_CODE (ZEND_FASTCALL *unary_op_type)(zval *, zval *);
755+
typedef ZEND_RESULT_CODE (ZEND_FASTCALL *binary_op_type)(zval *, zval *, zval *);
756756

757757
ZEND_API unary_op_type get_unary_op(int opcode);
758758
ZEND_API binary_op_type get_binary_op(int opcode);

Zend/zend_exceptions.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/*
1+
/*
22
+----------------------------------------------------------------------+
33
| Zend Engine |
44
+----------------------------------------------------------------------+
@@ -50,7 +50,7 @@ ZEND_API void (*zend_throw_exception_hook)(zend_object *ex);
5050
static zend_object_handlers default_exception_handlers;
5151

5252
/* {{{ zend_implement_throwable */
53-
static ZEND_RESULT_CODE zend_implement_throwable(zend_class_entry *interface, zend_class_entry *class_type)
53+
static int zend_implement_throwable(zend_class_entry *interface, zend_class_entry *class_type)
5454
{
5555
if (instanceof_function(class_type, zend_ce_exception) || instanceof_function(class_type, zend_ce_error)) {
5656
return SUCCESS;

Zend/zend_generators.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1027,7 +1027,7 @@ static void zend_generator_iterator_dtor(zend_object_iterator *iterator) /* {{{
10271027
}
10281028
/* }}} */
10291029

1030-
static ZEND_RESULT_CODE zend_generator_iterator_valid(zend_object_iterator *iterator) /* {{{ */
1030+
static int zend_generator_iterator_valid(zend_object_iterator *iterator) /* {{{ */
10311031
{
10321032
zend_generator *generator = (zend_generator*)Z_OBJ(iterator->data);
10331033

Zend/zend_interfaces.c

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ static void zend_user_it_dtor(zend_object_iterator *_iter)
118118
/* }}} */
119119

120120
/* {{{ zend_user_it_valid */
121-
ZEND_API ZEND_RESULT_CODE zend_user_it_valid(zend_object_iterator *_iter)
121+
ZEND_API int zend_user_it_valid(zend_object_iterator *_iter)
122122
{
123123
if (_iter) {
124124
zend_user_iterator *iter = (zend_user_iterator*)_iter;
@@ -251,7 +251,7 @@ ZEND_API zend_object_iterator *zend_user_it_get_new_iterator(zend_class_entry *c
251251
/* }}} */
252252

253253
/* {{{ zend_implement_traversable */
254-
static ZEND_RESULT_CODE zend_implement_traversable(zend_class_entry *interface, zend_class_entry *class_type)
254+
static int zend_implement_traversable(zend_class_entry *interface, zend_class_entry *class_type)
255255
{
256256
/* Abstract class can implement Traversable only, in which case the extending class must
257257
* implement Iterator or IteratorAggregate. */
@@ -278,7 +278,7 @@ static ZEND_RESULT_CODE zend_implement_traversable(zend_class_entry *interface,
278278
/* }}} */
279279

280280
/* {{{ zend_implement_aggregate */
281-
static ZEND_RESULT_CODE zend_implement_aggregate(zend_class_entry *interface, zend_class_entry *class_type)
281+
static int zend_implement_aggregate(zend_class_entry *interface, zend_class_entry *class_type)
282282
{
283283
if (zend_class_implements_interface(class_type, zend_ce_iterator)) {
284284
zend_error_noreturn(E_ERROR,
@@ -318,7 +318,7 @@ static ZEND_RESULT_CODE zend_implement_aggregate(zend_class_entry *interface, ze
318318
/* }}} */
319319

320320
/* {{{ zend_implement_iterator */
321-
static ZEND_RESULT_CODE zend_implement_iterator(zend_class_entry *interface, zend_class_entry *class_type)
321+
static int zend_implement_iterator(zend_class_entry *interface, zend_class_entry *class_type)
322322
{
323323
if (zend_class_implements_interface(class_type, zend_ce_aggregate)) {
324324
zend_error_noreturn(E_ERROR,
@@ -354,7 +354,7 @@ static ZEND_RESULT_CODE zend_implement_iterator(zend_class_entry *interface, zen
354354
/* }}} */
355355

356356
/* {{{ zend_user_serialize */
357-
ZEND_API ZEND_RESULT_CODE zend_user_serialize(zval *object, unsigned char **buffer, size_t *buf_len, zend_serialize_data *data)
357+
ZEND_API int zend_user_serialize(zval *object, unsigned char **buffer, size_t *buf_len, zend_serialize_data *data)
358358
{
359359
zend_class_entry * ce = Z_OBJCE_P(object);
360360
zval retval;
@@ -391,7 +391,7 @@ ZEND_API ZEND_RESULT_CODE zend_user_serialize(zval *object, unsigned char **buff
391391
/* }}} */
392392

393393
/* {{{ zend_user_unserialize */
394-
ZEND_API ZEND_RESULT_CODE zend_user_unserialize(zval *object, zend_class_entry *ce, const unsigned char *buf, size_t buf_len, zend_unserialize_data *data)
394+
ZEND_API int zend_user_unserialize(zval *object, zend_class_entry *ce, const unsigned char *buf, size_t buf_len, zend_unserialize_data *data)
395395
{
396396
zval zdata;
397397

@@ -412,23 +412,23 @@ ZEND_API ZEND_RESULT_CODE zend_user_unserialize(zval *object, zend_class_entry *
412412
}
413413
/* }}} */
414414

415-
ZEND_API ZEND_RESULT_CODE zend_class_serialize_deny(zval *object, unsigned char **buffer, size_t *buf_len, zend_serialize_data *data) /* {{{ */
415+
ZEND_API int zend_class_serialize_deny(zval *object, unsigned char **buffer, size_t *buf_len, zend_serialize_data *data) /* {{{ */
416416
{
417417
zend_class_entry *ce = Z_OBJCE_P(object);
418418
zend_throw_exception_ex(NULL, 0, "Serialization of '%s' is not allowed", ZSTR_VAL(ce->name));
419419
return FAILURE;
420420
}
421421
/* }}} */
422422

423-
ZEND_API ZEND_RESULT_CODE zend_class_unserialize_deny(zval *object, zend_class_entry *ce, const unsigned char *buf, size_t buf_len, zend_unserialize_data *data) /* {{{ */
423+
ZEND_API int zend_class_unserialize_deny(zval *object, zend_class_entry *ce, const unsigned char *buf, size_t buf_len, zend_unserialize_data *data) /* {{{ */
424424
{
425425
zend_throw_exception_ex(NULL, 0, "Unserialization of '%s' is not allowed", ZSTR_VAL(ce->name));
426426
return FAILURE;
427427
}
428428
/* }}} */
429429

430430
/* {{{ zend_implement_serializable */
431-
static ZEND_RESULT_CODE zend_implement_serializable(zend_class_entry *interface, zend_class_entry *class_type)
431+
static int zend_implement_serializable(zend_class_entry *interface, zend_class_entry *class_type)
432432
{
433433
if (class_type->parent
434434
&& (class_type->parent->serialize || class_type->parent->unserialize)

Zend/zend_interfaces.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -72,11 +72,11 @@ ZEND_API zend_object_iterator *zend_user_it_get_new_iterator(zend_class_entry *c
7272

7373
ZEND_API void zend_register_interfaces(void);
7474

75-
ZEND_API ZEND_RESULT_CODE zend_user_serialize(zval *object, unsigned char **buffer, size_t *buf_len, zend_serialize_data *data);
76-
ZEND_API ZEND_RESULT_CODE zend_user_unserialize(zval *object, zend_class_entry *ce, const unsigned char *buf, size_t buf_len, zend_unserialize_data *data);
75+
ZEND_API int zend_user_serialize(zval *object, unsigned char **buffer, size_t *buf_len, zend_serialize_data *data);
76+
ZEND_API int zend_user_unserialize(zval *object, zend_class_entry *ce, const unsigned char *buf, size_t buf_len, zend_unserialize_data *data);
7777

78-
ZEND_API ZEND_RESULT_CODE zend_class_serialize_deny(zval *object, unsigned char **buffer, size_t *buf_len, zend_serialize_data *data);
79-
ZEND_API ZEND_RESULT_CODE zend_class_unserialize_deny(zval *object, zend_class_entry *ce, const unsigned char *buf, size_t buf_len, zend_unserialize_data *data);
78+
ZEND_API int zend_class_serialize_deny(zval *object, unsigned char **buffer, size_t *buf_len, zend_serialize_data *data);
79+
ZEND_API int zend_class_unserialize_deny(zval *object, zend_class_entry *ce, const unsigned char *buf, size_t buf_len, zend_unserialize_data *data);
8080

8181
ZEND_API ZEND_RESULT_CODE zend_create_internal_iterator_zval(zval *return_value, zval *obj);
8282

Zend/zend_weakrefs.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -372,7 +372,7 @@ static void zend_weakmap_unset_dimension(zend_object *object, zval *offset)
372372
zend_weakref_unregister(obj_key, ZEND_WEAKREF_ENCODE(wm, ZEND_WEAKREF_TAG_MAP));
373373
}
374374

375-
static ZEND_RESULT_CODE zend_weakmap_count_elements(zend_object *object, zend_long *count)
375+
static int zend_weakmap_count_elements(zend_object *object, zend_long *count)
376376
{
377377
zend_weakmap *wm = zend_weakmap_from(object);
378378
*count = zend_hash_num_elements(&wm->ht);

0 commit comments

Comments
 (0)