Skip to content

Commit 18432ad

Browse files
committed
Inline compatibility macros for zend_engine 2
1 parent d3592be commit 18432ad

File tree

1 file changed

+11
-17
lines changed

1 file changed

+11
-17
lines changed

src/contrib/php_array_api.h

Lines changed: 11 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,6 @@
2525
#include "zend_hash.h"
2626
#include "zend_list.h"
2727

28-
# define PAA_LENGTH_ADJ(l) (l)
29-
# define PAA_SYM_EXISTS zend_symtable_str_exists
30-
# define PAA_SYM_DEL zend_symtable_str_del
31-
# define PAA_LONG zend_long
32-
# define PAA_ULONG zend_ulong
33-
3428
/**
3529
* All APIs in this file follow a general format:
3630
*
@@ -73,12 +67,12 @@
7367
*/
7468
static inline
7569
zend_bool php_array_exists(zval *zarr, const char *key) {
76-
return PAA_SYM_EXISTS(Z_ARRVAL_P(zarr), key, PAA_LENGTH_ADJ(strlen(key)));
70+
return zend_symtable_str_exists(Z_ARRVAL_P(zarr), key, strlen(key));
7771
}
7872
#define php_array_existsc(zarr, litstr) \
79-
PAA_SYM_EXISTS(Z_ARRVAL_P(zarr), litstr, PAA_LENGTH_ADJ(sizeof(litstr) - 1))
73+
zend_symtable_str_exists(Z_ARRVAL_P(zarr), litstr, sizeof(litstr) - 1)
8074
#define php_array_existsl(zarr, key, len) \
81-
PAA_SYM_EXISTS(Z_ARRVAL_P(zarr), key, PAA_LENGTH_ADJ(len))
75+
zend_symtable_str_exists(Z_ARRVAL_P(zarr), key, len)
8276
static inline
8377
zend_bool php_array_existsl_safe(zval *zarr, const char *key, int key_len) {
8478
zend_string *keystr = zend_string_init(key, key_len, 0);
@@ -171,7 +165,7 @@ zval *php_array_fetchl_safe(zval *zarr, const char *key, int key_len) {
171165
return ret;
172166
}
173167
static inline
174-
zval *php_array_fetchn(zval *zarr, PAA_ULONG idx) {
168+
zval *php_array_fetchn(zval *zarr, zend_ulong idx) {
175169
return zend_hash_index_find(Z_ARRVAL_P(zarr), idx);
176170
}
177171
static inline
@@ -201,7 +195,7 @@ static inline ctype php_array_fetchl_##ztype(zval *zarr, const char *key, int ke
201195
{ return php_array_zval_to_##ztype(php_array_fetchl(zarr, key, key_len)); } \
202196
static inline ctype php_array_fetchl_safe_##ztype(zval *zarr, const char *key, int key_len) \
203197
{ return php_array_zval_to_##ztype(php_array_fetchl_safe(zarr, key, key_len)); } \
204-
static inline ctype php_array_fetchn_##ztype(zval *zarr, PAA_ULONG idx) \
198+
static inline ctype php_array_fetchn_##ztype(zval *zarr, zend_ulong idx) \
205199
{ return php_array_zval_to_##ztype(php_array_fetchn(zarr, idx)); } \
206200
static inline ctype php_array_fetchz_##ztype(zval *zarr, zval *key) \
207201
{ return php_array_zval_to_##ztype(php_array_fetchz(zarr, key)); }
@@ -233,7 +227,7 @@ PHP_ARRAY_FETCH_TYPE_MAP(zend_bool, bool)
233227
* long php_array_fetchz_long(zval *zarr, zval *key)
234228
*/
235229
static inline
236-
PAA_LONG php_array_zval_to_long(zval *z) {
230+
zend_long php_array_zval_to_long(zval *z) {
237231
try_again:
238232
if (!z) { return 0; }
239233
switch(Z_TYPE_P(z)) {
@@ -253,7 +247,7 @@ PAA_LONG php_array_zval_to_long(zval *z) {
253247
}
254248
}
255249
}
256-
PHP_ARRAY_FETCH_TYPE_MAP(PAA_LONG, long)
250+
PHP_ARRAY_FETCH_TYPE_MAP(zend_long, long)
257251
#define php_array_fetchc_long(zarr, litstr) \
258252
php_array_zval_to_long(php_array_fetchc(zarr, litstr))
259253

@@ -454,20 +448,20 @@ zval *php_array_zval_to_object(zval *z, zend_class_entry *ce) {
454448
*/
455449
static inline
456450
void php_array_unset(zval *zarr, const char *key) {
457-
PAA_SYM_DEL(Z_ARRVAL_P(zarr), key, PAA_LENGTH_ADJ(strlen(key)));
451+
zend_symtable_str_del(Z_ARRVAL_P(zarr), key, strlen(key));
458452
}
459453
#define php_array_unsetl(zarr, key, len) \
460-
PAA_SYM_DEL(Z_ARRVAL_P(zarr), key, PAA_LENGTH_ADJ(len))
454+
zend_symtable_str_del(Z_ARRVAL_P(zarr), key, len)
461455
static inline
462456
void php_array_unsetl_safe(zval *zarr, const char *key, int key_len) {
463457
char *k = estrndup(key, key_len);
464-
PAA_SYM_DEL(Z_ARRVAL_P(zarr), k, PAA_LENGTH_ADJ(key_len));
458+
zend_symtable_str_del(Z_ARRVAL_P(zarr), k, key_len);
465459
efree(k);
466460
}
467461
#define php_array_unsetn(zarr, idx) \
468462
zend_symtable_index_del(Z_ARRVAL_P(zarr), idx)
469463
#define php_array_unsetc(zarr, litstr) \
470-
PAA_SYM_DEL(Z_ARRVAL_P(zarr), litstr, PAA_LENGTH_ADJ(sizeof(litstr) - 1))
464+
zend_symtable_str_del(Z_ARRVAL_P(zarr), litstr, sizeof(litstr) - 1)
471465
static inline void php_array_unsetz(zval *zarr, zval *key) {
472466
switch (Z_TYPE_P(key)) {
473467
case IS_NULL:

0 commit comments

Comments
 (0)