Skip to content

Commit ab12d1e

Browse files
committed
Fix arginfo, test suite xml
1 parent f4fee1a commit ab12d1e

File tree

4 files changed

+16
-12
lines changed

4 files changed

+16
-12
lines changed

phpunit.xml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
<phpunit
2-
cacheTokens = "false"
32
backupGlobals = "false"
43
backupStaticAttributes = "false"
54
>
65
<testsuites>
7-
<testsuite>
6+
<testsuite name="all">
87
<directory>vendor/php-ds/tests/tests</directory>
98
</testsuite>
109
</testsuites>

src/php/arginfo.h

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,19 +7,19 @@ ZEND_END_ARG_INFO()
77

88
#define ARGINFO_OPTIONAL_ZVAL(name, z) \
99
ZEND_BEGIN_ARG_INFO_EX(arginfo_##name, 0, 0, 0) \
10-
ZEND_ARG_TYPE_INFO(0, z, 0, 1) \
10+
ZEND_ARG_INFO(0, z) \
1111
ZEND_END_ARG_INFO()
1212

1313
#define ARGINFO_OPTIONAL_ZVAL_OPTIONAL_ZVAL(name, z1, z2) \
1414
ZEND_BEGIN_ARG_INFO_EX(arginfo_##name, 0, 0, 0) \
15-
ZEND_ARG_TYPE_INFO(0, z1, 0, 1) \
16-
ZEND_ARG_TYPE_INFO(0, z2, 0, 1) \
15+
ZEND_ARG_INFO(0, z1) \
16+
ZEND_ARG_INFO(0, z2) \
1717
ZEND_END_ARG_INFO()
1818

1919
#define ARGINFO_CALLABLE_OPTIONAL_ZVAL(name, c, z) \
2020
ZEND_BEGIN_ARG_INFO_EX(arginfo_##name, 0, 0, 1) \
2121
ZEND_ARG_TYPE_INFO(0, c, IS_CALLABLE, 0) \
22-
ZEND_ARG_TYPE_INFO(0, z, 0, 1) \
22+
ZEND_ARG_INFO(0, z) \
2323
ZEND_END_ARG_INFO()
2424

2525
#define ARGINFO_OPTIONAL_STRING(name, s) \
@@ -73,7 +73,7 @@ ZEND_END_ARG_INFO()
7373
#define ARGINFO_ZVAL_OPTIONAL_ZVAL(name, z1, z2) \
7474
ZEND_BEGIN_ARG_INFO_EX(arginfo_##name, 0, 0, 1) \
7575
ZEND_ARG_INFO(0, z1) \
76-
ZEND_ARG_TYPE_INFO(0, z2, 0, 1) \
76+
ZEND_ARG_INFO(0, z2) \
7777
ZEND_END_ARG_INFO()
7878

7979
#define ARGINFO_LONG_VARIADIC_ZVAL(name, i, v) \
@@ -122,7 +122,7 @@ ZEND_END_ARG_INFO()
122122

123123
#define ARGINFO_OPTIONAL_ZVAL_RETURN_DS(name, z, col) \
124124
DS_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(name, 0, 0, col, 0) \
125-
ZEND_ARG_TYPE_INFO(0, z, 0, 1) \
125+
ZEND_ARG_INFO(0, z) \
126126
ZEND_END_ARG_INFO()
127127

128128
#define ARGINFO_OPTIONAL_STRING_RETURN_STRING(name, s) \
@@ -132,7 +132,7 @@ ZEND_END_ARG_INFO()
132132

133133
#define ARGINFO_ZVAL_RETURN_DS(name, z, col) \
134134
DS_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(name, 0, 1, col, 0) \
135-
ZEND_ARG_TYPE_INFO(0, z, 0, 0) \
135+
ZEND_ARG_INFO(0, z) \
136136
ZEND_END_ARG_INFO()
137137

138138
#define ARGINFO_OPTIONAL_CALLABLE_RETURN_DS(name, c, col) \

src/php/iterators/php_priority_queue_iterator.c

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,10 @@
66

77
static void php_ds_priority_queue_iterator_dtor(zend_object_iterator *iter)
88
{
9+
php_ds_priority_queue_iterator *iterator = (php_ds_priority_queue_iterator *) iter;
910

11+
DTOR_AND_UNDEF(&iterator->intern.data);
12+
OBJ_RELEASE(iterator->object);
1013
}
1114

1215
static int php_ds_priority_queue_iterator_valid(zend_object_iterator *iter)
@@ -72,14 +75,15 @@ zend_object_iterator *php_ds_priority_queue_get_iterator(zend_class_entry *ce, z
7275

7376
iterator->intern.funcs = &iterator_funcs;
7477
iterator->queue = Z_DS_PRIORITY_QUEUE_P(object);
78+
iterator->object = Z_OBJ_P(object);
7579
iterator->position = 0;
7680

7781
// Add a reference to the object so that it doesn't get collected when
7882
// the iterated object is implict, eg. foreach ($obj->getInstance() as $value){ ... }
7983
#if PHP_VERSION_ID >= 70300
80-
GC_ADDREF(Z_OBJ_P(object));
84+
GC_ADDREF(iterator->object);
8185
#else
82-
++GC_REFCOUNT(Z_OBJ_P(object));
86+
++GC_REFCOUNT(iterator->object);
8387
#endif
8488

8589
return (zend_object_iterator *) iterator;

src/php/iterators/php_priority_queue_iterator.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,9 @@
66

77
typedef struct _php_ds_priority_queue_iterator {
88
zend_object_iterator intern;
9-
zend_long position;
9+
zend_object *object;
1010
ds_priority_queue_t *queue;
11+
zend_long position;
1112
} php_ds_priority_queue_iterator;
1213

1314
zend_object_iterator *php_ds_priority_queue_get_iterator(zend_class_entry *ce, zval *object, int by_ref);

0 commit comments

Comments
 (0)