@@ -137,7 +137,8 @@ PHP_METHOD(DOMCharacterData, substringData)
137
137
138
138
cur = node -> content ;
139
139
if (cur == NULL ) {
140
- RETURN_FALSE ;
140
+ /* TODO: is this even possible? */
141
+ cur = BAD_CAST "" ;
141
142
}
142
143
143
144
length = xmlUTF8Strlen (cur );
@@ -174,7 +175,7 @@ PHP_METHOD(DOMCharacterData, substringData)
174
175
Modern spec URL: https://dom.spec.whatwg.org/#dom-characterdata-appenddata
175
176
Since:
176
177
*/
177
- PHP_METHOD ( DOMCharacterData , appendData )
178
+ static void dom_character_data_append_data ( INTERNAL_FUNCTION_PARAMETERS , bool return_true )
178
179
{
179
180
zval * id ;
180
181
xmlNode * nodep ;
@@ -189,15 +190,27 @@ PHP_METHOD(DOMCharacterData, appendData)
189
190
190
191
DOM_GET_OBJ (nodep , id , xmlNodePtr , intern );
191
192
xmlTextConcat (nodep , (xmlChar * ) arg , arg_len );
192
- RETURN_TRUE ;
193
+ if (return_true ) {
194
+ RETURN_TRUE ;
195
+ }
196
+ }
197
+
198
+ PHP_METHOD (DOMCharacterData , appendData )
199
+ {
200
+ dom_character_data_append_data (INTERNAL_FUNCTION_PARAM_PASSTHRU , true);
201
+ }
202
+
203
+ PHP_METHOD (DOM_CharacterData , appendData )
204
+ {
205
+ dom_character_data_append_data (INTERNAL_FUNCTION_PARAM_PASSTHRU , false);
193
206
}
194
207
/* }}} end dom_characterdata_append_data */
195
208
196
209
/* {{{ URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-3EDB695F
197
210
Modern spec URL: https://dom.spec.whatwg.org/#dom-characterdata-insertdata
198
211
Since:
199
212
*/
200
- PHP_METHOD ( DOMCharacterData , insertData )
213
+ static void dom_character_data_insert_data ( INTERNAL_FUNCTION_PARAMETERS , bool return_true )
201
214
{
202
215
zval * id ;
203
216
xmlChar * cur , * first , * second ;
@@ -218,7 +231,8 @@ PHP_METHOD(DOMCharacterData, insertData)
218
231
219
232
cur = node -> content ;
220
233
if (cur == NULL ) {
221
- RETURN_FALSE ;
234
+ /* TODO: is this even possible? */
235
+ cur = BAD_CAST "" ;
222
236
}
223
237
224
238
length = xmlUTF8Strlen (cur );
@@ -247,15 +261,27 @@ PHP_METHOD(DOMCharacterData, insertData)
247
261
xmlFree (first );
248
262
xmlFree (second );
249
263
250
- RETURN_TRUE ;
264
+ if (return_true ) {
265
+ RETURN_TRUE ;
266
+ }
267
+ }
268
+
269
+ PHP_METHOD (DOMCharacterData , insertData )
270
+ {
271
+ dom_character_data_insert_data (INTERNAL_FUNCTION_PARAM_PASSTHRU , true);
272
+ }
273
+
274
+ PHP_METHOD (DOM_CharacterData , insertData )
275
+ {
276
+ dom_character_data_insert_data (INTERNAL_FUNCTION_PARAM_PASSTHRU , false);
251
277
}
252
278
/* }}} end dom_characterdata_insert_data */
253
279
254
280
/* {{{ URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-7C603781
255
281
Modern spec URL: https://dom.spec.whatwg.org/#dom-characterdata-deletedata
256
282
Since:
257
283
*/
258
- PHP_METHOD ( DOMCharacterData , deleteData )
284
+ static void dom_character_data_delete_data ( INTERNAL_FUNCTION_PARAMETERS , bool return_true )
259
285
{
260
286
zval * id ;
261
287
xmlChar * cur , * substring , * second ;
@@ -274,7 +300,8 @@ PHP_METHOD(DOMCharacterData, deleteData)
274
300
275
301
cur = node -> content ;
276
302
if (cur == NULL ) {
277
- RETURN_FALSE ;
303
+ /* TODO: is this even possible? */
304
+ cur = BAD_CAST "" ;
278
305
}
279
306
280
307
length = xmlUTF8Strlen (cur );
@@ -306,15 +333,27 @@ PHP_METHOD(DOMCharacterData, deleteData)
306
333
xmlFree (second );
307
334
xmlFree (substring );
308
335
309
- RETURN_TRUE ;
336
+ if (return_true ) {
337
+ RETURN_TRUE ;
338
+ }
339
+ }
340
+
341
+ PHP_METHOD (DOMCharacterData , deleteData )
342
+ {
343
+ dom_character_data_delete_data (INTERNAL_FUNCTION_PARAM_PASSTHRU , true);
344
+ }
345
+
346
+ PHP_METHOD (DOM_CharacterData , deleteData )
347
+ {
348
+ dom_character_data_delete_data (INTERNAL_FUNCTION_PARAM_PASSTHRU , false);
310
349
}
311
350
/* }}} end dom_characterdata_delete_data */
312
351
313
352
/* {{{ URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-E5CBA7FB
314
353
Modern spec URL: https://dom.spec.whatwg.org/#dom-characterdata-replacedata
315
354
Since:
316
355
*/
317
- PHP_METHOD ( DOMCharacterData , replaceData )
356
+ static void dom_character_data_replace_data ( INTERNAL_FUNCTION_PARAMETERS , bool return_true )
318
357
{
319
358
zval * id ;
320
359
xmlChar * cur , * substring , * second = NULL ;
@@ -335,7 +374,8 @@ PHP_METHOD(DOMCharacterData, replaceData)
335
374
336
375
cur = node -> content ;
337
376
if (cur == NULL ) {
338
- RETURN_FALSE ;
377
+ /* TODO: is this even possible? */
378
+ cur = BAD_CAST "" ;
339
379
}
340
380
341
381
length = xmlUTF8Strlen (cur );
@@ -373,7 +413,19 @@ PHP_METHOD(DOMCharacterData, replaceData)
373
413
}
374
414
xmlFree (substring );
375
415
376
- RETURN_TRUE ;
416
+ if (return_true ) {
417
+ RETURN_TRUE ;
418
+ }
419
+ }
420
+
421
+ PHP_METHOD (DOMCharacterData , replaceData )
422
+ {
423
+ dom_character_data_replace_data (INTERNAL_FUNCTION_PARAM_PASSTHRU , true);
424
+ }
425
+
426
+ PHP_METHOD (DOM_CharacterData , replaceData )
427
+ {
428
+ dom_character_data_replace_data (INTERNAL_FUNCTION_PARAM_PASSTHRU , false);
377
429
}
378
430
/* }}} end dom_characterdata_replace_data */
379
431
0 commit comments