@@ -114,93 +114,123 @@ static void fill_errors(zval *errors)
114
114
zend_update_property_string (whatwg_error_ce , Z_OBJ (error ), "context" , sizeof ("context" ) - 1 , (const char * ) lxb_error -> data );
115
115
116
116
zend_string * error_str ;
117
+ zval failure ;
117
118
switch (lxb_error -> id ) {
118
119
case LXB_URL_ERROR_TYPE_DOMAIN_TO_ASCII :
119
120
error_str = zend_string_init ("DomainToAscii" , sizeof ("DomainToAscii" ), false);
121
+ ZVAL_TRUE (& failure );
120
122
break ;
121
123
case LXB_URL_ERROR_TYPE_DOMAIN_TO_UNICODE :
122
124
error_str = zend_string_init ("DomainToUnicode" , sizeof ("DomainToUnicode" ), false);
125
+ ZVAL_FALSE (& failure );
123
126
break ;
124
127
case LXB_URL_ERROR_TYPE_DOMAIN_INVALID_CODE_POINT :
125
128
error_str = zend_string_init ("DomainInvalidCodePoint" , sizeof ("DomainInvalidCodePoint" ), false);
129
+ ZVAL_TRUE (& failure );
126
130
break ;
127
131
case LXB_URL_ERROR_TYPE_HOST_INVALID_CODE_POINT :
128
132
error_str = zend_string_init ("HostInvalidCodePoint" , sizeof ("HostInvalidCodePoint" ), false);
133
+ ZVAL_TRUE (& failure );
129
134
break ;
130
135
case LXB_URL_ERROR_TYPE_IPV4_EMPTY_PART :
131
136
error_str = zend_string_init ("Ipv4EmptyPart" , sizeof ("Ipv4EmptyPart" ), false);
137
+ ZVAL_FALSE (& failure );
132
138
break ;
133
139
case LXB_URL_ERROR_TYPE_IPV4_TOO_MANY_PARTS :
134
140
error_str = zend_string_init ("Ipv4TooManyParts" , sizeof ("Ipv4TooManyParts" ), false);
141
+ ZVAL_TRUE (& failure );
135
142
break ;
136
143
case LXB_URL_ERROR_TYPE_IPV4_NON_NUMERIC_PART :
137
144
error_str = zend_string_init ("Ipv4NonNumericPart" , sizeof ("Ipv4NonNumericPart" ), false);
145
+ ZVAL_TRUE (& failure );
138
146
break ;
139
147
case LXB_URL_ERROR_TYPE_IPV4_NON_DECIMAL_PART :
140
148
error_str = zend_string_init ("Ipv4NonDecimalPart" , sizeof ("Ipv4NonDecimalPart" ), false);
149
+ ZVAL_FALSE (& failure );
141
150
break ;
142
151
case LXB_URL_ERROR_TYPE_IPV4_OUT_OF_RANGE_PART :
143
152
error_str = zend_string_init ("Ipv4OutOfRangePart" , sizeof ("Ipv4OutOfRangePart" ), false);
153
+ ZVAL_TRUE (& failure );
144
154
break ;
145
155
case LXB_URL_ERROR_TYPE_IPV6_UNCLOSED :
146
156
error_str = zend_string_init ("Ipv6Unclosed" , sizeof ("Ipv6Unclosed" ), false);
157
+ ZVAL_TRUE (& failure );
147
158
break ;
148
159
case LXB_URL_ERROR_TYPE_IPV6_INVALID_COMPRESSION :
149
160
error_str = zend_string_init ("Ipv6InvalidCompression" , sizeof ("Ipv6InvalidCompression" ), false);
161
+ ZVAL_TRUE (& failure );
150
162
break ;
151
163
case LXB_URL_ERROR_TYPE_IPV6_TOO_MANY_PIECES :
152
164
error_str = zend_string_init ("Ipv6TooManyPieces" , sizeof ("Ipv6TooManyPieces" ), false);
165
+ ZVAL_TRUE (& failure );
153
166
break ;
154
167
case LXB_URL_ERROR_TYPE_IPV6_MULTIPLE_COMPRESSION :
155
168
error_str = zend_string_init ("Ipv6MultipleCompression" , sizeof ("Ipv6MultipleCompression" ), false);
169
+ ZVAL_TRUE (& failure );
156
170
break ;
157
171
case LXB_URL_ERROR_TYPE_IPV6_INVALID_CODE_POINT :
158
172
error_str = zend_string_init ("Ipv6InvalidCodePoint" , sizeof ("Ipv6InvalidCodePoint" ), false);
173
+ ZVAL_TRUE (& failure );
159
174
break ;
160
175
case LXB_URL_ERROR_TYPE_IPV6_TOO_FEW_PIECES :
161
176
error_str = zend_string_init ("Ipv6TooFewPieces" , sizeof ("Ipv6TooFewPieces" ), false);
177
+ ZVAL_TRUE (& failure );
162
178
break ;
163
179
case LXB_URL_ERROR_TYPE_IPV4_IN_IPV6_TOO_MANY_PIECES :
164
180
error_str = zend_string_init ("Ipv4InIpv6TooManyPieces" , sizeof ("Ipv4InIpv6TooManyPieces" ), false);
181
+ ZVAL_TRUE (& failure );
165
182
break ;
166
183
case LXB_URL_ERROR_TYPE_IPV4_IN_IPV6_INVALID_CODE_POINT :
167
184
error_str = zend_string_init ("Ipv4InIpv6InvalidCodePoint" , sizeof ("Ipv4InIpv6InvalidCodePoint" ), false);
185
+ ZVAL_TRUE (& failure );
168
186
break ;
169
187
case LXB_URL_ERROR_TYPE_IPV4_IN_IPV6_OUT_OF_RANGE_PART :
170
188
error_str = zend_string_init ("Ipv4InIpv6OutOfRangePart" , sizeof ("Ipv4InIpv6OutOfRangePart" ), false);
189
+ ZVAL_TRUE (& failure );
171
190
break ;
172
191
case LXB_URL_ERROR_TYPE_IPV4_IN_IPV6_TOO_FEW_PARTS :
173
192
error_str = zend_string_init ("Ipv4InIpv6TooFewParts" , sizeof ("Ipv4InIpv6TooFewParts" ), false);
193
+ ZVAL_TRUE (& failure );
174
194
break ;
175
195
case LXB_URL_ERROR_TYPE_INVALID_URL_UNIT :
176
196
error_str = zend_string_init ("InvalidUrlUnit" , sizeof ("InvalidUrlUnit" ), false);
197
+ ZVAL_FALSE (& failure );
177
198
break ;
178
199
case LXB_URL_ERROR_TYPE_SPECIAL_SCHEME_MISSING_FOLLOWING_SOLIDUS :
179
200
error_str = zend_string_init ("SpecialSchemeMissingFollowingSolidus" , sizeof ("SpecialSchemeMissingFollowingSolidus" ), false);
201
+ ZVAL_FALSE (& failure );
180
202
break ;
181
203
case LXB_URL_ERROR_TYPE_MISSING_SCHEME_NON_RELATIVE_URL :
182
204
error_str = zend_string_init ("MissingSchemeNonRelativeUrl" , sizeof ("MissingSchemeNonRelativeUrl" ), false);
205
+ ZVAL_TRUE (& failure );
183
206
break ;
184
207
case LXB_URL_ERROR_TYPE_INVALID_REVERSE_SOLIDUS :
185
208
error_str = zend_string_init ("InvalidReverseSoldius" , sizeof ("InvalidReverseSoldius" ), false);
209
+ ZVAL_FALSE (& failure );
186
210
break ;
187
211
case LXB_URL_ERROR_TYPE_INVALID_CREDENTIALS :
188
212
error_str = zend_string_init ("InvalidCredentials" , sizeof ("InvalidCredentials" ), false);
213
+ ZVAL_FALSE (& failure );
189
214
break ;
190
215
case LXB_URL_ERROR_TYPE_HOST_MISSING :
191
216
error_str = zend_string_init ("HostMissing" , sizeof ("HostMissing" ), false);
217
+ ZVAL_TRUE (& failure );
192
218
break ;
193
219
case LXB_URL_ERROR_TYPE_PORT_OUT_OF_RANGE :
194
220
error_str = zend_string_init ("PortOfOfRange" , sizeof ("PortOfOfRange" ), false);
221
+ ZVAL_TRUE (& failure );
195
222
break ;
196
223
case LXB_URL_ERROR_TYPE_PORT_INVALID :
197
224
error_str = zend_string_init ("PortInvalid" , sizeof ("PortInvalid" ), false);
225
+ ZVAL_TRUE (& failure );
198
226
break ;
199
227
case LXB_URL_ERROR_TYPE_FILE_INVALID_WINDOWS_DRIVE_LETTER :
200
228
error_str = zend_string_init ("FileInvalidWindowsDriveLetter" , sizeof ("FileInvalidWindowsDriveLetter" ), false);
229
+ ZVAL_FALSE (& failure );
201
230
break ;
202
231
case LXB_URL_ERROR_TYPE_FILE_INVALID_WINDOWS_DRIVE_LETTER_HOST :
203
232
error_str = zend_string_init ("FileInvalidWindowsDriveLetterHost" , sizeof ("FileInvalidWindowsDriveLetterHost" ), false);
233
+ ZVAL_FALSE (& failure );
204
234
break ;
205
235
EMPTY_SWITCH_DEFAULT_CASE ()
206
236
}
@@ -211,6 +241,9 @@ static void fill_errors(zval *errors)
211
241
zend_string_release (error_str );
212
242
zval_ptr_dtor (& error_type );
213
243
244
+ zend_update_property (whatwg_error_ce , Z_OBJ (error ), "failure" , sizeof ("failure" ) - 1 , & failure );
245
+ zval_ptr_dtor (& failure );
246
+
214
247
add_next_index_zval (errors , & error );
215
248
}
216
249
0 commit comments