Skip to content

Commit 4a2e40b

Browse files
committed
Use ZSTR_ API to access zend_string elements (this is just renaming without semantick changes).
1 parent 8cce5b2 commit 4a2e40b

File tree

169 files changed

+3288
-3178
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

169 files changed

+3288
-3178
lines changed

Diff for: Zend/zend_API.h

+3-3
Original file line numberDiff line numberDiff line change
@@ -552,9 +552,9 @@ END_EXTERN_C()
552552

553553
#if ZEND_DEBUG
554554
#define CHECK_ZVAL_STRING(str) \
555-
if ((str)->val[(str)->len] != '\0') { zend_error(E_WARNING, "String is not zero-terminated (%s)", (str)->val); }
555+
if (ZSTR_VAL(str)[ZSTR_LEN(str)] != '\0') { zend_error(E_WARNING, "String is not zero-terminated (%s)", ZSTR_VAL(str)); }
556556
#define CHECK_ZVAL_STRING_REL(str) \
557-
if ((str)->val[(str)->len] != '\0') { zend_error(E_WARNING, "String is not zero-terminated (%s) (source: %s:%d)", (str)->val ZEND_FILE_LINE_RELAY_CC); }
557+
if (ZSTR_VAL(str)[ZSTR_LEN(str)] != '\0') { zend_error(E_WARNING, "String is not zero-terminated (%s) (source: %s:%d)", ZSTR_VAL(str) ZEND_FILE_LINE_RELAY_CC); }
558558
#else
559559
#define CHECK_ZVAL_STRING(z)
560560
#define CHECK_ZVAL_STRING_REL(z)
@@ -918,7 +918,7 @@ ZEND_API void ZEND_FASTCALL zend_wrong_callback_error(int severity, int num, cha
918918
Z_PARAM_PROLOGUE(separate); \
919919
if (UNEXPECTED(!zend_parse_arg_object(_arg, &dest, _ce, check_null))) { \
920920
if (_ce) { \
921-
_error = (_ce)->name->val; \
921+
_error = ZSTR_VAL((_ce)->name); \
922922
error_code = ZPP_ERROR_WRONG_CLASS; \
923923
break; \
924924
} else { \

Diff for: Zend/zend_hash.h

+4-4
Original file line numberDiff line numberDiff line change
@@ -264,7 +264,7 @@ static zend_always_inline int _zend_handle_numeric_str(const char *key, size_t l
264264
_zend_handle_numeric_str(key, length, &idx)
265265

266266
#define ZEND_HANDLE_NUMERIC(key, idx) \
267-
ZEND_HANDLE_NUMERIC_STR((key)->val, (key)->len, idx)
267+
ZEND_HANDLE_NUMERIC_STR(ZSTR_VAL(key), ZSTR_LEN(key), idx)
268268

269269

270270
static zend_always_inline zval *zend_hash_find_ind(const HashTable *ht, zend_string *key)
@@ -900,7 +900,7 @@ static zend_always_inline zval *_zend_hash_append(HashTable *ht, zend_string *ke
900900
zend_string_hash_val(key);
901901
}
902902
p->key = key;
903-
p->h = key->h;
903+
p->h = ZSTR_H(key);
904904
nIndex = (uint32_t)p->h | ht->nTableMask;
905905
Z_NEXT(p->val) = HT_HASH(ht, nIndex);
906906
HT_HASH(ht, nIndex) = HT_IDX_TO_HASH(idx);
@@ -922,7 +922,7 @@ static zend_always_inline zval *_zend_hash_append_ptr(HashTable *ht, zend_string
922922
zend_string_hash_val(key);
923923
}
924924
p->key = key;
925-
p->h = key->h;
925+
p->h = ZSTR_H(key);
926926
nIndex = (uint32_t)p->h | ht->nTableMask;
927927
Z_NEXT(p->val) = HT_HASH(ht, nIndex);
928928
HT_HASH(ht, nIndex) = HT_IDX_TO_HASH(idx);
@@ -944,7 +944,7 @@ static zend_always_inline void _zend_hash_append_ind(HashTable *ht, zend_string
944944
zend_string_hash_val(key);
945945
}
946946
p->key = key;
947-
p->h = key->h;
947+
p->h = ZSTR_H(key);
948948
nIndex = (uint32_t)p->h | ht->nTableMask;
949949
Z_NEXT(p->val) = HT_HASH(ht, nIndex);
950950
HT_HASH(ht, nIndex) = HT_IDX_TO_HASH(idx);

Diff for: Zend/zend_smart_str.h

+8-8
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ static zend_always_inline size_t smart_str_alloc(smart_str *str, size_t len, zen
5252
if (UNEXPECTED(!str->s)) {
5353
goto do_smart_str_realloc;
5454
} else {
55-
len += str->s->len;
55+
len += ZSTR_LEN(str->s);
5656
if (UNEXPECTED(len >= str->a)) {
5757
do_smart_str_realloc:
5858
if (persistent) {
@@ -75,28 +75,28 @@ static zend_always_inline void smart_str_free(smart_str *str) {
7575

7676
static zend_always_inline void smart_str_0(smart_str *str) {
7777
if (str->s) {
78-
str->s->val[str->s->len] = '\0';
78+
ZSTR_VAL(str->s)[ZSTR_LEN(str->s)] = '\0';
7979
}
8080
}
8181

8282
static zend_always_inline void smart_str_appendc_ex(smart_str *dest, char ch, zend_bool persistent) {
8383
size_t new_len = smart_str_alloc(dest, 1, persistent);
84-
dest->s->val[new_len - 1] = ch;
85-
dest->s->len = new_len;
84+
ZSTR_VAL(dest->s)[new_len - 1] = ch;
85+
ZSTR_LEN(dest->s) = new_len;
8686
}
8787

8888
static zend_always_inline void smart_str_appendl_ex(smart_str *dest, const char *str, size_t len, zend_bool persistent) {
8989
size_t new_len = smart_str_alloc(dest, len, persistent);
90-
memcpy(dest->s->val + dest->s->len, str, len);
91-
dest->s->len = new_len;
90+
memcpy(ZSTR_VAL(dest->s) + ZSTR_LEN(dest->s), str, len);
91+
ZSTR_LEN(dest->s) = new_len;
9292
}
9393

9494
static zend_always_inline void smart_str_append_ex(smart_str *dest, const zend_string *src, zend_bool persistent) {
95-
smart_str_appendl_ex(dest, src->val, src->len, persistent);
95+
smart_str_appendl_ex(dest, ZSTR_VAL(src), ZSTR_LEN(src), persistent);
9696
}
9797

9898
static zend_always_inline void smart_str_append_smart_str_ex(smart_str *dest, const smart_str *src, zend_bool persistent) {
99-
if (src->s && src->s->len) {
99+
if (src->s && ZSTR_LEN(src->s)) {
100100
smart_str_append_ex(dest, src->s, persistent);
101101
}
102102
}

Diff for: Zend/zend_string.h

+13-22
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,9 @@ END_EXTERN_C()
3737

3838
/* Shortcuts */
3939

40-
#define ZSTR_VAL(zstr) zend_string_get_val(zstr)
40+
#define ZSTR_VAL(zstr) (zstr)->val
4141
#define ZSTR_LEN(zstr) (zstr)->len
42+
#define ZSTR_H(zstr) (zstr)->h
4243
#define ZSTR_HASH(zstr) zend_string_hash_val(zstr)
4344

4445
/* Compatibility macros */
@@ -65,7 +66,7 @@ END_EXTERN_C()
6566
GC_REFCOUNT(str) = 1; \
6667
GC_TYPE_INFO(str) = IS_STRING; \
6768
zend_string_forget_hash_val(str); \
68-
zend_string_set_len(str, _len); \
69+
ZSTR_LEN(str) = _len; \
6970
} while (0)
7071

7172
#define ZSTR_ALLOCA_INIT(str, s, len, use_heap) do { \
@@ -78,27 +79,17 @@ END_EXTERN_C()
7879

7980
/*---*/
8081

81-
static zend_always_inline char * zend_string_get_val(zend_string *s)
82-
{
83-
return s->val;
84-
}
85-
86-
static zend_always_inline void zend_string_set_len(zend_string *s, size_t len)
87-
{
88-
s->len = len;
89-
}
90-
9182
static zend_always_inline zend_ulong zend_string_hash_val(zend_string *s)
9283
{
93-
if (!s->h) {
94-
s->h = zend_hash_func(ZSTR_VAL(s), ZSTR_LEN(s));
84+
if (!ZSTR_H(s)) {
85+
ZSTR_H(s) = zend_hash_func(ZSTR_VAL(s), ZSTR_LEN(s));
9586
}
96-
return s->h;
87+
return ZSTR_H(s);
9788
}
9889

9990
static zend_always_inline void zend_string_forget_hash_val(zend_string *s)
10091
{
101-
s->h = 0;
92+
ZSTR_H(s) = 0;
10293
}
10394

10495
static zend_always_inline uint32_t zend_string_refcount(const zend_string *s)
@@ -139,7 +130,7 @@ static zend_always_inline zend_string *zend_string_alloc(size_t len, int persist
139130
GC_INFO(ret) = 0;
140131
#endif
141132
zend_string_forget_hash_val(ret);
142-
zend_string_set_len(ret, len);
133+
ZSTR_LEN(ret) = len;
143134
return ret;
144135
}
145136

@@ -157,7 +148,7 @@ static zend_always_inline zend_string *zend_string_safe_alloc(size_t n, size_t m
157148
GC_INFO(ret) = 0;
158149
#endif
159150
zend_string_forget_hash_val(ret);
160-
zend_string_set_len(ret, (n * m) + l);
151+
ZSTR_LEN(ret) = (n * m) + l;
161152
return ret;
162153
}
163154

@@ -194,7 +185,7 @@ static zend_always_inline zend_string *zend_string_realloc(zend_string *s, size_
194185
if (!ZSTR_IS_INTERNED(s)) {
195186
if (EXPECTED(GC_REFCOUNT(s) == 1)) {
196187
ret = (zend_string *)perealloc(s, ZEND_MM_ALIGNED_SIZE(_ZSTR_STRUCT_SIZE(len)), persistent);
197-
zend_string_set_len(ret, len);
188+
ZSTR_LEN(ret) = len;
198189
zend_string_forget_hash_val(ret);
199190
return ret;
200191
} else {
@@ -214,7 +205,7 @@ static zend_always_inline zend_string *zend_string_extend(zend_string *s, size_t
214205
if (!ZSTR_IS_INTERNED(s)) {
215206
if (EXPECTED(GC_REFCOUNT(s) == 1)) {
216207
ret = (zend_string *)perealloc(s, ZEND_MM_ALIGNED_SIZE(_ZSTR_STRUCT_SIZE(len)), persistent);
217-
zend_string_set_len(ret, len);
208+
ZSTR_LEN(ret) = len;
218209
zend_string_forget_hash_val(ret);
219210
return ret;
220211
} else {
@@ -234,7 +225,7 @@ static zend_always_inline zend_string *zend_string_truncate(zend_string *s, size
234225
if (!ZSTR_IS_INTERNED(s)) {
235226
if (EXPECTED(GC_REFCOUNT(s) == 1)) {
236227
ret = (zend_string *)perealloc(s, ZEND_MM_ALIGNED_SIZE(_ZSTR_STRUCT_SIZE(len)), persistent);
237-
zend_string_set_len(ret, len);
228+
ZSTR_LEN(ret) = len;
238229
zend_string_forget_hash_val(ret);
239230
return ret;
240231
} else {
@@ -253,7 +244,7 @@ static zend_always_inline zend_string *zend_string_safe_realloc(zend_string *s,
253244
if (!ZSTR_IS_INTERNED(s)) {
254245
if (GC_REFCOUNT(s) == 1) {
255246
ret = (zend_string *)safe_perealloc(s, n, m, ZEND_MM_ALIGNED_SIZE(_ZSTR_STRUCT_SIZE(l)), persistent);
256-
zend_string_set_len(ret, (n * m) + l);
247+
ZSTR_LEN(ret) = (n * m) + l;
257248
zend_string_forget_hash_val(ret);
258249
return ret;
259250
} else {

Diff for: Zend/zend_vm_def.h

+3-3
Original file line numberDiff line numberDiff line change
@@ -2863,14 +2863,14 @@ ZEND_VM_HANDLER(56, ZEND_ROPE_END, TMP, CONST|TMPVAR|CV)
28632863
}
28642864
}
28652865
for (i = 0; i <= opline->extended_value; i++) {
2866-
len += rope[i]->len;
2866+
len += ZSTR_LEN(rope[i]);
28672867
}
28682868
ret = EX_VAR(opline->result.var);
28692869
ZVAL_STR(ret, zend_string_alloc(len, 0));
28702870
target = Z_STRVAL_P(ret);
28712871
for (i = 0; i <= opline->extended_value; i++) {
2872-
memcpy(target, rope[i]->val, rope[i]->len);
2873-
target += rope[i]->len;
2872+
memcpy(target, ZSTR_VAL(rope[i]), ZSTR_LEN(rope[i]));
2873+
target += ZSTR_LEN(rope[i]);
28742874
zend_string_release(rope[i]);
28752875
}
28762876
*target = '\0';

Diff for: Zend/zend_vm_execute.h

+9-9
Original file line numberDiff line numberDiff line change
@@ -12999,14 +12999,14 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ROPE_END_SPEC_TMP_CONST_HANDLE
1299912999
}
1300013000
}
1300113001
for (i = 0; i <= opline->extended_value; i++) {
13002-
len += rope[i]->len;
13002+
len += ZSTR_LEN(rope[i]);
1300313003
}
1300413004
ret = EX_VAR(opline->result.var);
1300513005
ZVAL_STR(ret, zend_string_alloc(len, 0));
1300613006
target = Z_STRVAL_P(ret);
1300713007
for (i = 0; i <= opline->extended_value; i++) {
13008-
memcpy(target, rope[i]->val, rope[i]->len);
13009-
target += rope[i]->len;
13008+
memcpy(target, ZSTR_VAL(rope[i]), ZSTR_LEN(rope[i]));
13009+
target += ZSTR_LEN(rope[i]);
1301013010
zend_string_release(rope[i]);
1301113011
}
1301213012
*target = '\0';
@@ -14283,14 +14283,14 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ROPE_END_SPEC_TMP_CV_HANDLER(Z
1428314283
}
1428414284
}
1428514285
for (i = 0; i <= opline->extended_value; i++) {
14286-
len += rope[i]->len;
14286+
len += ZSTR_LEN(rope[i]);
1428714287
}
1428814288
ret = EX_VAR(opline->result.var);
1428914289
ZVAL_STR(ret, zend_string_alloc(len, 0));
1429014290
target = Z_STRVAL_P(ret);
1429114291
for (i = 0; i <= opline->extended_value; i++) {
14292-
memcpy(target, rope[i]->val, rope[i]->len);
14293-
target += rope[i]->len;
14292+
memcpy(target, ZSTR_VAL(rope[i]), ZSTR_LEN(rope[i]));
14293+
target += ZSTR_LEN(rope[i]);
1429414294
zend_string_release(rope[i]);
1429514295
}
1429614296
*target = '\0';
@@ -14796,14 +14796,14 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ROPE_END_SPEC_TMP_TMPVAR_HANDL
1479614796
}
1479714797
}
1479814798
for (i = 0; i <= opline->extended_value; i++) {
14799-
len += rope[i]->len;
14799+
len += ZSTR_LEN(rope[i]);
1480014800
}
1480114801
ret = EX_VAR(opline->result.var);
1480214802
ZVAL_STR(ret, zend_string_alloc(len, 0));
1480314803
target = Z_STRVAL_P(ret);
1480414804
for (i = 0; i <= opline->extended_value; i++) {
14805-
memcpy(target, rope[i]->val, rope[i]->len);
14806-
target += rope[i]->len;
14805+
memcpy(target, ZSTR_VAL(rope[i]), ZSTR_LEN(rope[i]));
14806+
target += ZSTR_LEN(rope[i]);
1480714807
zend_string_release(rope[i]);
1480814808
}
1480914809
*target = '\0';

Diff for: ext/bcmath/libbcmath/src/num2str.c

+2-2
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ zend_string
5858
if (str == NULL) bc_out_of_memory();
5959

6060
/* The negative sign if needed. */
61-
sptr = str->val;
61+
sptr = ZSTR_VAL(str);
6262
if (signch) *sptr++ = '-';
6363

6464
/* Load the whole number. */
@@ -76,6 +76,6 @@ zend_string
7676

7777
/* Terminate the string and return it! */
7878
*sptr = '\0';
79-
str->len = sptr - (char *)str->val;
79+
ZSTR_LEN(str) = sptr - (char *)ZSTR_VAL(str);
8080
return str;
8181
}

Diff for: ext/bz2/bz2.c

+6-6
Original file line numberDiff line numberDiff line change
@@ -291,7 +291,7 @@ PHP_BZ2_API php_stream *_php_stream_bz2open(php_stream_wrapper *wrapper,
291291
* failed.
292292
*/
293293
if (opened_path && !bz_file && mode[0] == 'w') {
294-
VCWD_UNLINK((*opened_path)->val);
294+
VCWD_UNLINK(ZSTR_VAL(*opened_path));
295295
}
296296
}
297297

@@ -379,8 +379,8 @@ static PHP_FUNCTION(bzread)
379379
RETURN_FALSE;
380380
}
381381
data = zend_string_alloc(len, 0);
382-
data->len = php_stream_read(stream, data->val, data->len);
383-
data->val[data->len] = '\0';
382+
ZSTR_LEN(data) = php_stream_read(stream, ZSTR_VAL(data), ZSTR_LEN(data));
383+
ZSTR_VAL(data)[ZSTR_LEN(data)] = '\0';
384384

385385
RETURN_NEW_STR(data);
386386
}
@@ -539,15 +539,15 @@ static PHP_FUNCTION(bzcompress)
539539
work_factor = zwork_factor;
540540
}
541541

542-
error = BZ2_bzBuffToBuffCompress(dest->val, &dest_len, source, source_len, block_size, 0, work_factor);
542+
error = BZ2_bzBuffToBuffCompress(ZSTR_VAL(dest), &dest_len, source, source_len, block_size, 0, work_factor);
543543
if (error != BZ_OK) {
544544
zend_string_free(dest);
545545
RETURN_LONG(error);
546546
} else {
547547
/* Copy the buffer, we have perhaps allocate a lot more than we need,
548548
so we erealloc() the buffer to the proper size */
549-
dest->len = dest_len;
550-
dest->val[dest->len] = '\0';
549+
ZSTR_LEN(dest) = dest_len;
550+
ZSTR_VAL(dest)[ZSTR_LEN(dest)] = '\0';
551551
RETURN_NEW_STR(dest);
552552
}
553553
}

0 commit comments

Comments
 (0)