@@ -506,10 +506,6 @@ int dom_document_config_read(dom_object *obj, zval *retval)
506
506
507
507
/* }}} */
508
508
509
- ZEND_NORETURN static void php_dom_fatal_libxml_error (void ) {
510
- zend_error_noreturn (E_ERROR , "Libxml error: Likely out of memory" );
511
- }
512
-
513
509
/* {{{ URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-2141741547
514
510
Since:
515
511
*/
@@ -537,7 +533,8 @@ PHP_METHOD(DOMDocument, createElement)
537
533
538
534
node = xmlNewDocNode (docp , NULL , (xmlChar * ) name , (xmlChar * ) value );
539
535
if (!node ) {
540
- php_dom_fatal_libxml_error ();
536
+ php_dom_throw_error (LIBXML_ERR , /* strict */ true);
537
+ RETURN_THROWS ();
541
538
}
542
539
543
540
DOM_RET_OBJ (node , & ret , intern );
@@ -564,7 +561,8 @@ PHP_METHOD(DOMDocument, createDocumentFragment)
564
561
565
562
node = xmlNewDocFragment (docp );
566
563
if (!node ) {
567
- php_dom_fatal_libxml_error ();
564
+ php_dom_throw_error (LIBXML_ERR , /* strict */ true);
565
+ RETURN_THROWS ();
568
566
}
569
567
570
568
DOM_RET_OBJ (node , & ret , intern );
@@ -593,7 +591,8 @@ PHP_METHOD(DOMDocument, createTextNode)
593
591
594
592
node = xmlNewDocText (docp , (xmlChar * ) value );
595
593
if (!node ) {
596
- php_dom_fatal_libxml_error ();
594
+ php_dom_throw_error (LIBXML_ERR , /* strict */ true);
595
+ RETURN_THROWS ();
597
596
}
598
597
599
598
DOM_RET_OBJ (node , & ret , intern );
@@ -622,7 +621,8 @@ PHP_METHOD(DOMDocument, createComment)
622
621
623
622
node = xmlNewDocComment (docp , (xmlChar * ) value );
624
623
if (!node ) {
625
- php_dom_fatal_libxml_error ();
624
+ php_dom_throw_error (LIBXML_ERR , /* strict */ true);
625
+ RETURN_THROWS ();
626
626
}
627
627
628
628
DOM_RET_OBJ (node , & ret , intern );
@@ -651,7 +651,8 @@ PHP_METHOD(DOMDocument, createCDATASection)
651
651
652
652
node = xmlNewCDataBlock (docp , (xmlChar * ) value , value_len );
653
653
if (!node ) {
654
- php_dom_fatal_libxml_error ();
654
+ php_dom_throw_error (LIBXML_ERR , /* strict */ true);
655
+ RETURN_THROWS ();
655
656
}
656
657
657
658
DOM_RET_OBJ (node , & ret , intern );
@@ -685,7 +686,8 @@ PHP_METHOD(DOMDocument, createProcessingInstruction)
685
686
686
687
node = xmlNewPI ((xmlChar * ) name , (xmlChar * ) value );
687
688
if (!node ) {
688
- php_dom_fatal_libxml_error ();
689
+ php_dom_throw_error (LIBXML_ERR , /* strict */ true);
690
+ RETURN_THROWS ();
689
691
}
690
692
691
693
node -> doc = docp ;
@@ -721,7 +723,8 @@ PHP_METHOD(DOMDocument, createAttribute)
721
723
722
724
node = xmlNewDocProp (docp , (xmlChar * ) name , NULL );
723
725
if (!node ) {
724
- php_dom_fatal_libxml_error ();
726
+ php_dom_throw_error (LIBXML_ERR , /* strict */ true);
727
+ RETURN_THROWS ();
725
728
}
726
729
727
730
DOM_RET_OBJ ((xmlNodePtr ) node , & ret , intern );
@@ -756,7 +759,8 @@ PHP_METHOD(DOMDocument, createEntityReference)
756
759
757
760
node = xmlNewReference (docp , (xmlChar * ) name );
758
761
if (!node ) {
759
- php_dom_fatal_libxml_error ();
762
+ php_dom_throw_error (LIBXML_ERR , /* strict */ true);
763
+ RETURN_THROWS ();
760
764
}
761
765
762
766
DOM_RET_OBJ ((xmlNodePtr ) node , & ret , intern );
0 commit comments