@@ -114,93 +114,123 @@ static void fill_errors(zval *errors)
114114 zend_update_property_string (whatwg_error_ce , Z_OBJ (error ), "context" , sizeof ("context" ) - 1 , (const char * ) lxb_error -> data );
115115
116116 zend_string * error_str ;
117+ zval failure ;
117118 switch (lxb_error -> id ) {
118119 case LXB_URL_ERROR_TYPE_DOMAIN_TO_ASCII :
119120 error_str = zend_string_init ("DomainToAscii" , sizeof ("DomainToAscii" ), false);
121+ ZVAL_TRUE (& failure );
120122 break ;
121123 case LXB_URL_ERROR_TYPE_DOMAIN_TO_UNICODE :
122124 error_str = zend_string_init ("DomainToUnicode" , sizeof ("DomainToUnicode" ), false);
125+ ZVAL_FALSE (& failure );
123126 break ;
124127 case LXB_URL_ERROR_TYPE_DOMAIN_INVALID_CODE_POINT :
125128 error_str = zend_string_init ("DomainInvalidCodePoint" , sizeof ("DomainInvalidCodePoint" ), false);
129+ ZVAL_TRUE (& failure );
126130 break ;
127131 case LXB_URL_ERROR_TYPE_HOST_INVALID_CODE_POINT :
128132 error_str = zend_string_init ("HostInvalidCodePoint" , sizeof ("HostInvalidCodePoint" ), false);
133+ ZVAL_TRUE (& failure );
129134 break ;
130135 case LXB_URL_ERROR_TYPE_IPV4_EMPTY_PART :
131136 error_str = zend_string_init ("Ipv4EmptyPart" , sizeof ("Ipv4EmptyPart" ), false);
137+ ZVAL_FALSE (& failure );
132138 break ;
133139 case LXB_URL_ERROR_TYPE_IPV4_TOO_MANY_PARTS :
134140 error_str = zend_string_init ("Ipv4TooManyParts" , sizeof ("Ipv4TooManyParts" ), false);
141+ ZVAL_TRUE (& failure );
135142 break ;
136143 case LXB_URL_ERROR_TYPE_IPV4_NON_NUMERIC_PART :
137144 error_str = zend_string_init ("Ipv4NonNumericPart" , sizeof ("Ipv4NonNumericPart" ), false);
145+ ZVAL_TRUE (& failure );
138146 break ;
139147 case LXB_URL_ERROR_TYPE_IPV4_NON_DECIMAL_PART :
140148 error_str = zend_string_init ("Ipv4NonDecimalPart" , sizeof ("Ipv4NonDecimalPart" ), false);
149+ ZVAL_FALSE (& failure );
141150 break ;
142151 case LXB_URL_ERROR_TYPE_IPV4_OUT_OF_RANGE_PART :
143152 error_str = zend_string_init ("Ipv4OutOfRangePart" , sizeof ("Ipv4OutOfRangePart" ), false);
153+ ZVAL_TRUE (& failure );
144154 break ;
145155 case LXB_URL_ERROR_TYPE_IPV6_UNCLOSED :
146156 error_str = zend_string_init ("Ipv6Unclosed" , sizeof ("Ipv6Unclosed" ), false);
157+ ZVAL_TRUE (& failure );
147158 break ;
148159 case LXB_URL_ERROR_TYPE_IPV6_INVALID_COMPRESSION :
149160 error_str = zend_string_init ("Ipv6InvalidCompression" , sizeof ("Ipv6InvalidCompression" ), false);
161+ ZVAL_TRUE (& failure );
150162 break ;
151163 case LXB_URL_ERROR_TYPE_IPV6_TOO_MANY_PIECES :
152164 error_str = zend_string_init ("Ipv6TooManyPieces" , sizeof ("Ipv6TooManyPieces" ), false);
165+ ZVAL_TRUE (& failure );
153166 break ;
154167 case LXB_URL_ERROR_TYPE_IPV6_MULTIPLE_COMPRESSION :
155168 error_str = zend_string_init ("Ipv6MultipleCompression" , sizeof ("Ipv6MultipleCompression" ), false);
169+ ZVAL_TRUE (& failure );
156170 break ;
157171 case LXB_URL_ERROR_TYPE_IPV6_INVALID_CODE_POINT :
158172 error_str = zend_string_init ("Ipv6InvalidCodePoint" , sizeof ("Ipv6InvalidCodePoint" ), false);
173+ ZVAL_TRUE (& failure );
159174 break ;
160175 case LXB_URL_ERROR_TYPE_IPV6_TOO_FEW_PIECES :
161176 error_str = zend_string_init ("Ipv6TooFewPieces" , sizeof ("Ipv6TooFewPieces" ), false);
177+ ZVAL_TRUE (& failure );
162178 break ;
163179 case LXB_URL_ERROR_TYPE_IPV4_IN_IPV6_TOO_MANY_PIECES :
164180 error_str = zend_string_init ("Ipv4InIpv6TooManyPieces" , sizeof ("Ipv4InIpv6TooManyPieces" ), false);
181+ ZVAL_TRUE (& failure );
165182 break ;
166183 case LXB_URL_ERROR_TYPE_IPV4_IN_IPV6_INVALID_CODE_POINT :
167184 error_str = zend_string_init ("Ipv4InIpv6InvalidCodePoint" , sizeof ("Ipv4InIpv6InvalidCodePoint" ), false);
185+ ZVAL_TRUE (& failure );
168186 break ;
169187 case LXB_URL_ERROR_TYPE_IPV4_IN_IPV6_OUT_OF_RANGE_PART :
170188 error_str = zend_string_init ("Ipv4InIpv6OutOfRangePart" , sizeof ("Ipv4InIpv6OutOfRangePart" ), false);
189+ ZVAL_TRUE (& failure );
171190 break ;
172191 case LXB_URL_ERROR_TYPE_IPV4_IN_IPV6_TOO_FEW_PARTS :
173192 error_str = zend_string_init ("Ipv4InIpv6TooFewParts" , sizeof ("Ipv4InIpv6TooFewParts" ), false);
193+ ZVAL_TRUE (& failure );
174194 break ;
175195 case LXB_URL_ERROR_TYPE_INVALID_URL_UNIT :
176196 error_str = zend_string_init ("InvalidUrlUnit" , sizeof ("InvalidUrlUnit" ), false);
197+ ZVAL_FALSE (& failure );
177198 break ;
178199 case LXB_URL_ERROR_TYPE_SPECIAL_SCHEME_MISSING_FOLLOWING_SOLIDUS :
179200 error_str = zend_string_init ("SpecialSchemeMissingFollowingSolidus" , sizeof ("SpecialSchemeMissingFollowingSolidus" ), false);
201+ ZVAL_FALSE (& failure );
180202 break ;
181203 case LXB_URL_ERROR_TYPE_MISSING_SCHEME_NON_RELATIVE_URL :
182204 error_str = zend_string_init ("MissingSchemeNonRelativeUrl" , sizeof ("MissingSchemeNonRelativeUrl" ), false);
205+ ZVAL_TRUE (& failure );
183206 break ;
184207 case LXB_URL_ERROR_TYPE_INVALID_REVERSE_SOLIDUS :
185208 error_str = zend_string_init ("InvalidReverseSoldius" , sizeof ("InvalidReverseSoldius" ), false);
209+ ZVAL_FALSE (& failure );
186210 break ;
187211 case LXB_URL_ERROR_TYPE_INVALID_CREDENTIALS :
188212 error_str = zend_string_init ("InvalidCredentials" , sizeof ("InvalidCredentials" ), false);
213+ ZVAL_FALSE (& failure );
189214 break ;
190215 case LXB_URL_ERROR_TYPE_HOST_MISSING :
191216 error_str = zend_string_init ("HostMissing" , sizeof ("HostMissing" ), false);
217+ ZVAL_TRUE (& failure );
192218 break ;
193219 case LXB_URL_ERROR_TYPE_PORT_OUT_OF_RANGE :
194220 error_str = zend_string_init ("PortOfOfRange" , sizeof ("PortOfOfRange" ), false);
221+ ZVAL_TRUE (& failure );
195222 break ;
196223 case LXB_URL_ERROR_TYPE_PORT_INVALID :
197224 error_str = zend_string_init ("PortInvalid" , sizeof ("PortInvalid" ), false);
225+ ZVAL_TRUE (& failure );
198226 break ;
199227 case LXB_URL_ERROR_TYPE_FILE_INVALID_WINDOWS_DRIVE_LETTER :
200228 error_str = zend_string_init ("FileInvalidWindowsDriveLetter" , sizeof ("FileInvalidWindowsDriveLetter" ), false);
229+ ZVAL_FALSE (& failure );
201230 break ;
202231 case LXB_URL_ERROR_TYPE_FILE_INVALID_WINDOWS_DRIVE_LETTER_HOST :
203232 error_str = zend_string_init ("FileInvalidWindowsDriveLetterHost" , sizeof ("FileInvalidWindowsDriveLetterHost" ), false);
233+ ZVAL_FALSE (& failure );
204234 break ;
205235 EMPTY_SWITCH_DEFAULT_CASE ()
206236 }
@@ -211,6 +241,9 @@ static void fill_errors(zval *errors)
211241 zend_string_release (error_str );
212242 zval_ptr_dtor (& error_type );
213243
244+ zend_update_property (whatwg_error_ce , Z_OBJ (error ), "failure" , sizeof ("failure" ) - 1 , & failure );
245+ zval_ptr_dtor (& failure );
246+
214247 add_next_index_zval (errors , & error );
215248 }
216249
0 commit comments