@@ -86,8 +86,6 @@ static zend_always_inline void zend_init_interned_strings_ht(HashTable *interned
8686ZEND_API void zend_interned_strings_init (void )
8787{
8888 char s [2 ];
89- unsigned int i ;
90- zend_string * str ;
9189
9290 interned_string_request_handler = zend_new_interned_string_request ;
9391 interned_string_init_request_handler = zend_string_init_interned_request ;
@@ -103,25 +101,22 @@ ZEND_API void zend_interned_strings_init(void)
103101 zend_string_init_existing_interned = zend_string_init_existing_interned_permanent ;
104102
105103 /* interned empty string */
106- str = zend_string_alloc (sizeof ("" )- 1 , 1 );
107- ZSTR_VAL (str )[0 ] = '\000' ;
108- zend_empty_string = zend_new_interned_string_permanent (str );
104+ zend_empty_string = zend_string_init_interned_permanent ("" , 0 , true);
109105 GC_ADD_FLAGS (zend_empty_string , IS_STR_VALID_UTF8 );
110106
111107 s [1 ] = 0 ;
112- for (i = 0 ; i < 256 ; i ++ ) {
108+ for (size_t i = 0 ; i < 256 ; i ++ ) {
113109 s [0 ] = i ;
114- zend_one_char_string [i ] = zend_new_interned_string_permanent ( zend_string_init ( s , 1 , 1 ) );
110+ zend_one_char_string [i ] = zend_string_init_interned_permanent ( s , 1 , true );
115111 if (i < 0x80 ) {
116112 GC_ADD_FLAGS (zend_one_char_string [i ], IS_STR_VALID_UTF8 );
117113 }
118114 }
119115
120116 /* known strings */
121117 zend_known_strings = pemalloc (sizeof (zend_string * ) * ((sizeof (known_strings ) / sizeof (known_strings [0 ]) - 1 )), 1 );
122- for (i = 0 ; i < (sizeof (known_strings ) / sizeof (known_strings [0 ])) - 1 ; i ++ ) {
123- str = zend_string_init (known_strings [i ], strlen (known_strings [i ]), 1 );
124- zend_known_strings [i ] = zend_new_interned_string_permanent (str );
118+ for (size_t i = 0 ; i < (sizeof (known_strings ) / sizeof (known_strings [0 ])) - 1 ; i ++ ) {
119+ zend_known_strings [i ] = zend_string_init_interned_permanent (known_strings [i ], strlen (known_strings [i ]), true);
125120 GC_ADD_FLAGS (zend_known_strings [i ], IS_STR_VALID_UTF8 );
126121 }
127122}
0 commit comments