diff options
Diffstat (limited to 'main/php_variables.c')
-rw-r--r-- | main/php_variables.c | 18 |
1 files changed, 3 insertions, 15 deletions
diff --git a/main/php_variables.c b/main/php_variables.c index 89b3dbf2d6..0a1eb0b4cd 100644 --- a/main/php_variables.c +++ b/main/php_variables.c @@ -41,14 +41,8 @@ PHPAPI void php_register_variable_safe(const char *var, const char *strval, size zval new_entry; assert(strval != NULL); - /* Prepare value */ - if (str_len == 0) { - ZVAL_EMPTY_STRING(&new_entry); - } else if (str_len == 1) { - ZVAL_INTERNED_STR(&new_entry, ZSTR_CHAR((zend_uchar)*strval)); - } else { - ZVAL_NEW_STR(&new_entry, zend_string_init(strval, str_len, 0)); - } + ZVAL_STRINGL_FAST(&new_entry, strval, str_len); + php_register_variable_ex(var, &new_entry, track_vars_array); } @@ -552,13 +546,7 @@ static zend_always_inline void import_environment_variable(HashTable *ht, char * name_len = p - env; p++; len = strlen(p); - if (len == 0) { - ZVAL_EMPTY_STRING(&val); - } else if (len == 1) { - ZVAL_INTERNED_STR(&val, ZSTR_CHAR((zend_uchar)*p)); - } else { - ZVAL_NEW_STR(&val, zend_string_init(p, len, 0)); - } + ZVAL_STRINGL_FAST(&val, p, len); if (ZEND_HANDLE_NUMERIC_STR(env, name_len, idx)) { zend_hash_index_update(ht, idx, &val); } else { |