Skip to content

Commit 1db8402

Browse files
committed
Move zend_object_iterator_funcs structures into read-only data segment
1 parent 175e461 commit 1db8402

20 files changed

+25
-25
lines changed

Zend/zend_generators.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -1165,7 +1165,7 @@ static void zend_generator_iterator_rewind(zend_object_iterator *iterator) /* {{
11651165
}
11661166
/* }}} */
11671167

1168-
static zend_object_iterator_funcs zend_generator_iterator_functions = {
1168+
static const zend_object_iterator_funcs zend_generator_iterator_functions = {
11691169
zend_generator_iterator_dtor,
11701170
zend_generator_iterator_valid,
11711171
zend_generator_iterator_get_data,

Zend/zend_interfaces.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,7 @@ ZEND_API void zend_user_it_rewind(zend_object_iterator *_iter)
224224
}
225225
/* }}} */
226226

227-
zend_object_iterator_funcs zend_interface_iterator_funcs_iterator = {
227+
static const zend_object_iterator_funcs zend_interface_iterator_funcs_iterator = {
228228
zend_user_it_dtor,
229229
zend_user_it_valid,
230230
zend_user_it_get_current_data,

Zend/zend_iterators.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -57,12 +57,12 @@ typedef struct _zend_object_iterator_funcs {
5757
struct _zend_object_iterator {
5858
zend_object std;
5959
zval data;
60-
zend_object_iterator_funcs *funcs;
60+
const zend_object_iterator_funcs *funcs;
6161
zend_ulong index; /* private to fe_reset/fe_fetch opcodes */
6262
};
6363

6464
typedef struct _zend_class_iterator_funcs {
65-
zend_object_iterator_funcs *funcs;
65+
const zend_object_iterator_funcs *funcs;
6666
union _zend_function *zf_new_iterator;
6767
union _zend_function *zf_valid;
6868
union _zend_function *zf_current;

ext/com_dotnet/com_iterator.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ static int com_iter_move_forwards(zend_object_iterator *iter)
126126
}
127127

128128

129-
static zend_object_iterator_funcs com_iter_funcs = {
129+
static const zend_object_iterator_funcs com_iter_funcs = {
130130
com_iter_dtor,
131131
com_iter_valid,
132132
com_iter_get_data,

ext/com_dotnet/com_saproxy.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -525,7 +525,7 @@ static int saproxy_iter_move_forwards(zend_object_iterator *iter)
525525
return SUCCESS;
526526
}
527527

528-
static zend_object_iterator_funcs saproxy_iter_funcs = {
528+
static const zend_object_iterator_funcs saproxy_iter_funcs = {
529529
saproxy_iter_dtor,
530530
saproxy_iter_valid,
531531
saproxy_iter_get_data,

ext/date/php_date.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -1986,7 +1986,7 @@ static void date_period_it_rewind(zend_object_iterator *iter)
19861986
/* }}} */
19871987

19881988
/* iterator handler table */
1989-
zend_object_iterator_funcs date_period_it_funcs = {
1989+
static const zend_object_iterator_funcs date_period_it_funcs = {
19901990
date_period_it_dtor,
19911991
date_period_it_has_more,
19921992
date_period_it_current_data,

ext/dom/dom_iterators.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,7 @@ static void php_dom_iterator_move_forward(zend_object_iterator *iter) /* {{{ */
243243
}
244244
/* }}} */
245245

246-
zend_object_iterator_funcs php_dom_iterator_funcs = {
246+
static const zend_object_iterator_funcs php_dom_iterator_funcs = {
247247
php_dom_iterator_dtor,
248248
php_dom_iterator_valid,
249249
php_dom_iterator_current_data,

ext/intl/breakiterator/breakiterator_iterators.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ static void _breakiterator_rewind(zend_object_iterator *iter)
8080
ZVAL_LONG(&zoi_iter->current, (zend_long)pos);
8181
}
8282

83-
static zend_object_iterator_funcs breakiterator_iterator_funcs = {
83+
static const zend_object_iterator_funcs breakiterator_iterator_funcs = {
8484
zoi_with_current_dtor,
8585
zoi_with_current_valid,
8686
zoi_with_current_get_current_data,
@@ -197,7 +197,7 @@ static void _breakiterator_parts_rewind(zend_object_iterator *iter)
197197
iter->funcs->move_forward(iter);
198198
}
199199

200-
static zend_object_iterator_funcs breakiterator_parts_it_funcs = {
200+
static const zend_object_iterator_funcs breakiterator_parts_it_funcs = {
201201
zoi_with_current_dtor,
202202
zoi_with_current_valid,
203203
zoi_with_current_get_current_data,

ext/intl/common/common_enum.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ static void string_enum_destroy_it(zend_object_iterator *iter)
127127
delete (StringEnumeration*)Z_PTR(iter->data);
128128
}
129129

130-
static zend_object_iterator_funcs string_enum_object_iterator_funcs = {
130+
static const zend_object_iterator_funcs string_enum_object_iterator_funcs = {
131131
zoi_with_current_dtor,
132132
zoi_with_current_valid,
133133
zoi_with_current_get_current_data,

ext/intl/resourcebundle/resourcebundle_iterator.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ static void resourcebundle_iterator_reset( zend_object_iterator *iter )
135135
/* }}} */
136136

137137
/* {{{ resourcebundle_iterator_funcs */
138-
static zend_object_iterator_funcs resourcebundle_iterator_funcs = {
138+
static const zend_object_iterator_funcs resourcebundle_iterator_funcs = {
139139
resourcebundle_iterator_dtor,
140140
resourcebundle_iterator_has_more,
141141
resourcebundle_iterator_current,

ext/mysqli/mysqli_result_iterator.c

+2-2
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
#include "zend_interfaces.h"
3434

3535

36-
extern zend_object_iterator_funcs php_mysqli_result_iterator_funcs;
36+
extern const zend_object_iterator_funcs php_mysqli_result_iterator_funcs;
3737

3838
typedef struct {
3939
zend_object_iterator intern;
@@ -146,7 +146,7 @@ static void php_mysqli_result_iterator_current_key(zend_object_iterator *iter, z
146146
/* }}} */
147147

148148
/* {{{ php_mysqli_result_iterator_funcs */
149-
zend_object_iterator_funcs php_mysqli_result_iterator_funcs = {
149+
const zend_object_iterator_funcs php_mysqli_result_iterator_funcs = {
150150
php_mysqli_result_iterator_dtor,
151151
php_mysqli_result_iterator_valid,
152152
php_mysqli_result_iterator_current_data,

ext/mysqli/php_mysqli_structs.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -211,7 +211,7 @@ extern void php_mysqli_dtor_p_elements(void *data);
211211

212212
extern void php_mysqli_close(MY_MYSQL * mysql, int close_type, int resource_status);
213213

214-
extern zend_object_iterator_funcs php_mysqli_result_iterator_funcs;
214+
extern const zend_object_iterator_funcs php_mysqli_result_iterator_funcs;
215215
extern zend_object_iterator *php_mysqli_result_get_iterator(zend_class_entry *ce, zval *object, int by_ref);
216216

217217
extern void php_mysqli_fetch_into_hash_aux(zval *return_value, MYSQL_RES * result, zend_long fetchtype);

ext/pdo/pdo_stmt.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -2454,7 +2454,7 @@ static void pdo_stmt_iter_move_forwards(zend_object_iterator *iter)
24542454
I->key++;
24552455
}
24562456

2457-
static zend_object_iterator_funcs pdo_stmt_iter_funcs = {
2457+
static const zend_object_iterator_funcs pdo_stmt_iter_funcs = {
24582458
pdo_stmt_iter_dtor,
24592459
pdo_stmt_iter_valid,
24602460
pdo_stmt_iter_get_data,

ext/simplexml/simplexml.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -2335,7 +2335,7 @@ SXE_METHOD(__construct)
23352335
}
23362336
/* }}} */
23372337

2338-
zend_object_iterator_funcs php_sxe_iterator_funcs = { /* {{{ */
2338+
static const zend_object_iterator_funcs php_sxe_iterator_funcs = { /* {{{ */
23392339
php_sxe_iterator_dtor,
23402340
php_sxe_iterator_valid,
23412341
php_sxe_iterator_current_data,

ext/spl/spl_array.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -1155,7 +1155,7 @@ static void spl_array_set_array(zval *object, spl_array_object *intern, zval *ar
11551155
/* }}} */
11561156

11571157
/* iterator handler table */
1158-
zend_object_iterator_funcs spl_array_it_funcs = {
1158+
static const zend_object_iterator_funcs spl_array_it_funcs = {
11591159
spl_array_it_dtor,
11601160
spl_array_it_valid,
11611161
spl_array_it_get_current_data,

ext/spl/spl_directory.c

+2-2
Original file line numberDiff line numberDiff line change
@@ -1621,7 +1621,7 @@ static void spl_filesystem_dir_it_move_forward(zend_object_iterator *iter);
16211621
static void spl_filesystem_dir_it_rewind(zend_object_iterator *iter);
16221622

16231623
/* iterator handler table */
1624-
zend_object_iterator_funcs spl_filesystem_dir_it_funcs = {
1624+
static const zend_object_iterator_funcs spl_filesystem_dir_it_funcs = {
16251625
spl_filesystem_dir_it_dtor,
16261626
spl_filesystem_dir_it_valid,
16271627
spl_filesystem_dir_it_current_data,
@@ -1820,7 +1820,7 @@ static void spl_filesystem_tree_it_rewind(zend_object_iterator *iter)
18201820
/* }}} */
18211821

18221822
/* {{{ iterator handler table */
1823-
zend_object_iterator_funcs spl_filesystem_tree_it_funcs = {
1823+
static const zend_object_iterator_funcs spl_filesystem_tree_it_funcs = {
18241824
spl_filesystem_tree_it_dtor,
18251825
spl_filesystem_dir_it_valid,
18261826
spl_filesystem_tree_it_current_data,

ext/spl/spl_dllist.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -1282,7 +1282,7 @@ SPL_METHOD(SplDoublyLinkedList, add)
12821282
} /* }}} */
12831283

12841284
/* {{{ iterator handler table */
1285-
zend_object_iterator_funcs spl_dllist_it_funcs = {
1285+
static const zend_object_iterator_funcs spl_dllist_it_funcs = {
12861286
spl_dllist_it_dtor,
12871287
spl_dllist_it_valid,
12881288
spl_dllist_it_get_current_data,

ext/spl/spl_fixedarray.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -995,7 +995,7 @@ SPL_METHOD(SplFixedArray, current)
995995
/* }}} */
996996

997997
/* iterator handler table */
998-
zend_object_iterator_funcs spl_fixedarray_it_funcs = {
998+
static const zend_object_iterator_funcs spl_fixedarray_it_funcs = {
999999
spl_fixedarray_it_dtor,
10001000
spl_fixedarray_it_valid,
10011001
spl_fixedarray_it_get_current_data,

ext/spl/spl_heap.c

+2-2
Original file line numberDiff line numberDiff line change
@@ -1060,7 +1060,7 @@ SPL_METHOD(SplPriorityQueue, current)
10601060
/* }}} */
10611061

10621062
/* iterator handler table */
1063-
zend_object_iterator_funcs spl_heap_it_funcs = {
1063+
static const zend_object_iterator_funcs spl_heap_it_funcs = {
10641064
spl_heap_it_dtor,
10651065
spl_heap_it_valid,
10661066
spl_heap_it_get_current_data,
@@ -1070,7 +1070,7 @@ zend_object_iterator_funcs spl_heap_it_funcs = {
10701070
NULL
10711071
};
10721072

1073-
zend_object_iterator_funcs spl_pqueue_it_funcs = {
1073+
static const zend_object_iterator_funcs spl_pqueue_it_funcs = {
10741074
spl_heap_it_dtor,
10751075
spl_heap_it_valid,
10761076
spl_pqueue_it_get_current_data,

ext/spl/spl_iterators.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -465,7 +465,7 @@ static zend_object_iterator *spl_recursive_it_get_iterator(zend_class_entry *ce,
465465
return (zend_object_iterator*)iterator;
466466
}
467467

468-
zend_object_iterator_funcs spl_recursive_it_iterator_funcs = {
468+
static const zend_object_iterator_funcs spl_recursive_it_iterator_funcs = {
469469
spl_recursive_it_dtor,
470470
spl_recursive_it_valid,
471471
spl_recursive_it_get_current_data,

0 commit comments

Comments
 (0)