Skip to content

Commit 29e5ead

Browse files
committed
Address review comments
1 parent a53db09 commit 29e5ead

File tree

5 files changed

+15
-22
lines changed

5 files changed

+15
-22
lines changed

Zend/zend_builtin_functions.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -511,7 +511,7 @@ ZEND_FUNCTION(define)
511511
register_constant:
512512
/* non persistent */
513513
ZEND_CONSTANT_SET_FLAGS(&c, 0, PHP_USER_CONSTANT);
514-
if (zend_register_constant(zend_string_copy(name), &c) == SUCCESS) {
514+
if (zend_register_constant(name, &c) == SUCCESS) {
515515
RETURN_TRUE;
516516
} else {
517517
RETURN_FALSE;

Zend/zend_constants.c

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -119,58 +119,48 @@ void zend_shutdown_constants(void)
119119
ZEND_API void zend_register_null_constant(const char *name, size_t name_len, int flags, int module_number)
120120
{
121121
zend_constant c;
122-
zend_string *name_str;
123122

124123
ZVAL_NULL(&c.value);
125124
ZEND_CONSTANT_SET_FLAGS(&c, flags, module_number);
126-
name_str = zend_string_init_interned(name, name_len, flags & CONST_PERSISTENT);
127-
zend_register_constant(name_str, &c);
125+
zend_register_internal_constant(name, name_len, &c);
128126
}
129127

130128
ZEND_API void zend_register_bool_constant(const char *name, size_t name_len, bool bval, int flags, int module_number)
131129
{
132130
zend_constant c;
133-
zend_string *name_str;
134131

135132
ZVAL_BOOL(&c.value, bval);
136133
ZEND_CONSTANT_SET_FLAGS(&c, flags, module_number);
137-
name_str = zend_string_init_interned(name, name_len, flags & CONST_PERSISTENT);
138-
zend_register_constant(name_str, &c);
134+
zend_register_internal_constant(name, name_len, &c);
139135
}
140136

141137
ZEND_API void zend_register_long_constant(const char *name, size_t name_len, zend_long lval, int flags, int module_number)
142138
{
143139
zend_constant c;
144-
zend_string *name_str;
145140

146141
ZVAL_LONG(&c.value, lval);
147142
ZEND_CONSTANT_SET_FLAGS(&c, flags, module_number);
148-
name_str = zend_string_init_interned(name, name_len, flags & CONST_PERSISTENT);
149-
zend_register_constant(name_str, &c);
143+
zend_register_internal_constant(name, name_len, &c);
150144
}
151145

152146

153147
ZEND_API void zend_register_double_constant(const char *name, size_t name_len, double dval, int flags, int module_number)
154148
{
155149
zend_constant c;
156-
zend_string *name_str;
157150

158151
ZVAL_DOUBLE(&c.value, dval);
159152
ZEND_CONSTANT_SET_FLAGS(&c, flags, module_number);
160-
name_str = zend_string_init_interned(name, name_len, flags & CONST_PERSISTENT);
161-
zend_register_constant(name_str, &c);
153+
zend_register_internal_constant(name, name_len, &c);
162154
}
163155

164156

165157
ZEND_API void zend_register_stringl_constant(const char *name, size_t name_len, const char *strval, size_t strlen, int flags, int module_number)
166158
{
167159
zend_constant c;
168-
zend_string *name_str;
169160

170161
ZVAL_STR(&c.value, zend_string_init_interned(strval, strlen, flags & CONST_PERSISTENT));
171162
ZEND_CONSTANT_SET_FLAGS(&c, flags, module_number);
172-
name_str = zend_string_init_interned(name, name_len, flags & CONST_PERSISTENT);
173-
zend_register_constant(name_str, &c);
163+
zend_register_internal_constant(name, name_len, &c);
174164
}
175165

176166

@@ -577,3 +567,9 @@ ZEND_API zend_result zend_register_constant(zend_string *name, zend_constant *c)
577567
}
578568
return ret;
579569
}
570+
571+
ZEND_API zend_result zend_register_internal_constant(const char *name, size_t name_len, zend_constant *c) {
572+
zend_string *name_str = zend_string_init_interned(name, name_len, ZEND_CONSTANT_FLAGS(c) & CONST_PERSISTENT);
573+
574+
return zend_register_constant(name_str, c);
575+
}

Zend/zend_constants.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ ZEND_API void zend_register_long_constant(const char *name, size_t name_len, zen
8383
ZEND_API void zend_register_double_constant(const char *name, size_t name_len, double dval, int flags, int module_number);
8484
ZEND_API void zend_register_string_constant(const char *name, size_t name_len, const char *strval, int flags, int module_number);
8585
ZEND_API void zend_register_stringl_constant(const char *name, size_t name_len, const char *strval, size_t strlen, int flags, int module_number);
86+
ZEND_API zend_result zend_register_internal_constant(const char *name, size_t name_len, zend_constant *c);
8687
ZEND_API zend_result zend_register_constant(zend_string *name, zend_constant *c);
8788
#ifdef ZTS
8889
void zend_copy_constants(HashTable *target, HashTable *source);

Zend/zend_vm_def.h

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8078,7 +8078,6 @@ ZEND_VM_HANDLER(143, ZEND_DECLARE_CONST, CONST, CONST)
80788078
{
80798079
USE_OPLINE
80808080
zval *name;
8081-
zend_string *name_str;
80828081
zval *val;
80838082
zend_constant c;
80848083

@@ -8097,9 +8096,8 @@ ZEND_VM_HANDLER(143, ZEND_DECLARE_CONST, CONST, CONST)
80978096
}
80988097
/* non persistent, case sensitive */
80998098
ZEND_CONSTANT_SET_FLAGS(&c, 0, PHP_USER_CONSTANT);
8100-
name_str = zend_string_copy(Z_STR_P(name));
81018099

8102-
if (zend_register_constant(name_str, &c) == FAILURE) {
8100+
if (zend_register_constant(Z_STR_P(name), &c) == FAILURE) {
81038101
}
81048102

81058103
FREE_OP1();

Zend/zend_vm_execute.h

Lines changed: 1 addition & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)