| line | true | false | branch | 
 
| 56 | 20454 | 0 | if ( elem != NULL ) { | 
 
| 104 | 0 | 0 | if( xmlHashSize(table) > 0 ) { | 
 
| 325 | 0 | 57059 | if ( node == NULL ) { | 
 
| 330 | 11104 | 45955 | if ( node->_private == NULL ) { | 
 
| 331 | 503 | 10601 | switch ( node->type ) { | 
 
| 336 | 503 | 0 | if (proxy != NULL) { | 
 
| 345 | 11104 | 0 | if (proxy != NULL) { | 
 
| 370 | 235 | 46 | if ( doc != NULL ) { | 
 
| 373 | 235 | 0 | if ( doc->_private != NULL ) { | 
 
| 398 | 14 | 0 | if ( node->parent == NULL ) { | 
 
| 405 | 12 | 6 | if ( node->doc != NULL ) { | 
 
| 406 | 11 | 1 | if ( node->doc->extSubset != (xmlDtdPtr)node | 
 
| 407 | 11 | 0 | && node->doc->intSubset != (xmlDtdPtr)node ) { | 
 
| 438 | 31203 | 0 | if ( node != NULL ) { | 
 
| 441 | 0 | 31203 | if ( PmmREFCNT(node) < 0 ) | 
 
| 443 | 11104 | 20099 | if ( PmmREFCNT(node) <= 0 ) { | 
 
| 447 | 11103 | 1 | if ( libnode != NULL ) { | 
 
| 448 | 0 | 11103 | if ( libnode->_private != node ) { | 
 
| 458 | 10482 | 622 | if ( PmmOWNER(node) && PmmOWNERPO(node) ) { | 
 
|  | 10482 | 0 | if ( PmmOWNER(node) && PmmOWNERPO(node) ) { | 
 
|  | 10482 | 0 | if ( PmmOWNER(node) && PmmOWNERPO(node) ) { | 
 
|  | 10482 | 0 | if ( PmmOWNER(node) && PmmOWNERPO(node) ) { | 
 
|  | 0 | 0 | if ( PmmOWNER(node) && PmmOWNERPO(node) ) { | 
 
| 460 | 10482 | 0 | owner = PmmOWNERPO(node); | 
 
|  | 10482 | 0 | owner = PmmOWNERPO(node); | 
 
| 462 | 10481 | 1 | if( libnode != NULL && libnode->parent == NULL ) { | 
 
|  | 266 | 10215 | if( libnode != NULL && libnode->parent == NULL ) { | 
 
| 472 | 622 | 0 | else if ( libnode != NULL ) { | 
 
| 510 | 20452 | 12 | if ( node != NULL ) { | 
 
| 520 | 9630 | 10822 | if ( node->_private != NULL ) { | 
 
| 527 | 10822 | 0 | if ( dfProxy != NULL ) { | 
 
| 528 | 10251 | 571 | if ( owner != NULL ) { | 
 
| 551 | 600 | 19852 | switch ( node->type ) { | 
 
| 555 | 73 | 527 | if ( ((xmlDocPtr)node)->encoding != NULL ) { | 
 
| 580 | 8 | 0 | if ( node != NULL ) { | 
 
| 590 | 3 | 4 | retval = xmlCopyNode( node, recursive ? 1 : 2 ); | 
 
| 624 | 19703 | 6 | if ( perlnode != NULL && perlnode != &PL_sv_undef ) { | 
 
|  | 19697 | 6 | if ( perlnode != NULL && perlnode != &PL_sv_undef ) { | 
 
| 630 | 19695 | 2 | if ( sv_derived_from(perlnode, "XML::LibXML::Node")  ) { | 
 
| 631 | 19695 | 0 | proxy = SvPROXYNODE(perlnode); | 
 
| 632 | 19695 | 0 | if ( proxy != NULL ) { | 
 
| 637 | 19694 | 1 | if ( retval != NULL | 
 
| 638 | 0 | 19694 | && ((ProxyNodePtr)retval->_private) != proxy ) { | 
 
| 673 | 0 | 0 | if ( perlnode != NULL | 
 
| 674 | 0 | 0 | && perlnode != &PL_sv_undef | 
 
| 675 | 0 | 0 | && SvPROXYNODE(perlnode) != NULL  ) { | 
 
|  | 0 | 0 | && SvPROXYNODE(perlnode) != NULL  ) { | 
 
| 676 | 0 | 0 | retval = PmmOWNER( SvPROXYNODE(perlnode) ); | 
 
| 688 | 0 | 0 | if ( perlnode != NULL && perlnode != &PL_sv_undef ) { | 
 
|  | 0 | 0 | if ( perlnode != NULL && perlnode != &PL_sv_undef ) { | 
 
| 689 | 0 | 0 | PmmOWNER( SvPROXYNODE(perlnode)) = PmmNODE( SvPROXYNODE(extra) ); | 
 
|  | 0 | 0 | PmmOWNER( SvPROXYNODE(perlnode)) = PmmNODE( SvPROXYNODE(extra) ); | 
 
| 690 | 0 | 0 | PmmREFCNT_inc( SvPROXYNODE(extra) ); | 
 
| 717 | 272 | 0 | if ( nodetofix != NULL ) { | 
 
| 718 | 0 | 272 | switch ( PmmNODE(nodetofix)->type ) { | 
 
| 730 | 270 | 2 | if ( PmmOWNER(nodetofix) != NULL ) { | 
 
| 731 | 270 | 0 | oldParent = PmmOWNERPO(nodetofix); | 
 
|  | 270 | 0 | oldParent = PmmOWNERPO(nodetofix); | 
 
| 739 | 263 | 9 | if( oldParent != parent ) { | 
 
| 742 | 257 | 6 | if ( parent && parent != nodetofix ){ | 
 
|  | 257 | 0 | if ( parent && parent != nodetofix ){ | 
 
| 751 | 261 | 2 | if ( oldParent != NULL && oldParent != nodetofix ) | 
 
|  | 261 | 0 | if ( oldParent != NULL && oldParent != nodetofix ) | 
 
| 754 | 249 | 14 | if ( PmmNODE(nodetofix)->type != XML_ATTRIBUTE_NODE | 
 
| 755 | 237 | 12 | && PmmNODE(nodetofix)->type != XML_DTD_NODE | 
 
| 756 | 8 | 229 | && PmmNODE(nodetofix)->properties != NULL ) { | 
 
| 761 | 257 | 6 | if ( parent == NULL || PmmNODE(nodetofix)->parent == NULL ) { | 
 
|  | 5 | 252 | if ( parent == NULL || PmmNODE(nodetofix)->parent == NULL ) { | 
 
| 779 | 82 | 292 | if ( list != NULL ) { | 
 
| 781 | 125 | 82 | while ( iterator != NULL ) { | 
 
| 782 | 27 | 98 | switch ( iterator->type ) { | 
 
| 795 | 5 | 93 | if ( iterator->_private != NULL ) { | 
 
| 799 | 79 | 14 | if ( iterator->type != XML_ATTRIBUTE_NODE | 
 
| 800 | 7 | 72 | &&  iterator->properties != NULL ){ | 
 
| 813 | 3 | 0 | if ( node != NULL && parent != NULL ) { | 
 
|  | 3 | 0 | if ( node != NULL && parent != NULL ) { | 
 
| 814 | 0 | 3 | if ( node->_private != NULL ) { | 
 
| 831 | 78 | 0 | if (proxy != NULL) { | 
 
| 847 | 78 | 0 | if ( node != NULL ) { | 
 
| 850 | 78 | 0 | if ( PmmREFCNT(node) <= 0 ) { | 
 
| 853 | 1 | 77 | if ( libnode != NULL ) { | 
 
| 854 | 0 | 1 | if (libnode->_private != NULL ) { | 
 
| 855 | 0 | 0 | if ( libnode->_private != (void*)node ) { | 
 
| 880 | 78 | 0 | if ( ctxt != NULL ) { | 
 
| 901 | 377 | 0 | if ( scalar != NULL | 
 
| 902 | 377 | 0 | && scalar != &PL_sv_undef | 
 
| 903 | 377 | 0 | && sv_isa( scalar, "XML::LibXML::ParserContext" ) | 
 
| 904 | 377 | 0 | && SvPROXYNODE(scalar) != NULL  ) { | 
 
|  | 377 | 0 | && SvPROXYNODE(scalar) != NULL  ) { | 
 
| 905 | 377 | 0 | retval = (xmlParserCtxtPtr)PmmNODE( SvPROXYNODE(scalar) ); | 
 
| 908 | 0 | 0 | if ( scalar == NULL | 
 
| 909 | 0 | 0 | && scalar == &PL_sv_undef ) { | 
 
| 912 | 0 | 0 | else if ( ! sv_isa( scalar, "XML::LibXML::ParserContext" ) ) { | 
 
| 915 | 0 | 0 | else if (SvPROXYNODE(scalar) == NULL) { | 
 
| 938 | 0 | 152 | if (len == 0) | 
 
| 940 | 1799 | 136 | for (i=0; i | 
 
| 941 | 1795 | 4 | if(!string[i] || string[i] & 0x80) { | 
 
|  | 1783 | 12 | if(!string[i] || string[i] & 0x80) { | 
 
| 945 | 136 | 16 | if (i>=len) return xmlStrdup( string ); | 
 
| 948 | 8 | 8 | if ( charset == XML_CHAR_ENCODING_ERROR){ | 
 
| 949 | 4 | 4 | if (xmlStrcmp(encoding,(const xmlChar*)"UTF-16LE")==0) { | 
 
| 951 | 4 | 0 | } else if (xmlStrcmp(encoding,(const xmlChar*) "UTF-16BE")==0) { | 
 
| 955 | 1 | 15 | if ( charset == XML_CHAR_ENCODING_UTF8 ) { | 
 
| 959 | 7 | 8 | else if ( charset == XML_CHAR_ENCODING_UTF16LE || charset == XML_CHAR_ENCODING_UTF16BE ){ | 
 
|  | 4 | 3 | else if ( charset == XML_CHAR_ENCODING_UTF16LE || charset == XML_CHAR_ENCODING_UTF16BE ){ | 
 
| 961 | 12 | 0 | if (len>=2 && (char)string[0]=='\xFE' && (char)string[1]=='\xFF') { | 
 
|  | 8 | 4 | if (len>=2 && (char)string[0]=='\xFE' && (char)string[1]=='\xFF') { | 
 
|  | 8 | 0 | if (len>=2 && (char)string[0]=='\xFE' && (char)string[1]=='\xFF') { | 
 
| 966 | 4 | 0 | } else if (len>=2 && (char)string[0]=='\xFF' && (char)string[1]=='\xFE') { | 
 
|  | 0 | 4 | } else if (len>=2 && (char)string[0]=='\xFF' && (char)string[1]=='\xFE') { | 
 
|  | 0 | 0 | } else if (len>=2 && (char)string[0]=='\xFF' && (char)string[1]=='\xFE') { | 
 
| 975 | 0 | 3 | else if ( charset == XML_CHAR_ENCODING_ERROR ){ | 
 
| 979 | 3 | 0 | else if ( charset == XML_CHAR_ENCODING_NONE ){ | 
 
| 987 | 15 | 0 | if ( coder != NULL ) { | 
 
| 991 | 15 | 0 | if ( xmlCharEncInFunc( coder, out, in ) >= 0 ) { | 
 
| 1015 | 0 | 12 | if (len==NULL) return NULL; | 
 
| 1017 | 6 | 6 | if ( charset == XML_CHAR_ENCODING_ERROR){ | 
 
| 1018 | 3 | 3 | if (xmlStrcmp(encoding,(const xmlChar*)"UTF-16LE")==0) { | 
 
| 1020 | 3 | 0 | } else if (xmlStrcmp(encoding,(const xmlChar*) "UTF-16BE")==0) { | 
 
| 1025 | 0 | 12 | if ( charset == XML_CHAR_ENCODING_UTF8 ) { | 
 
| 1029 | 0 | 12 | else if ( charset == XML_CHAR_ENCODING_ERROR ){ | 
 
| 1032 | 0 | 12 | else if ( charset == XML_CHAR_ENCODING_NONE ){ | 
 
| 1039 | 12 | 0 | if ( coder != NULL ) { | 
 
| 1043 | 12 | 0 | if ( xmlCharEncOutFunc( coder, out, in ) >= 0 ) { | 
 
| 1067 | 72 | 0 | if ( string != NULL ) { | 
 
| 1068 | 72 | 0 | if( encoding != NULL ) { | 
 
| 1088 | 1586 | 38 | if ( string != NULL ) { | 
 
| 1089 | 0 | 1586 | if ( encoding != NULL ) { | 
 
| 1095 | 1586 | 0 | if ( enc == 0 ) { | 
 
| 1102 | 1586 | 0 | if ( enc == XML_CHAR_ENCODING_UTF8 ) { | 
 
| 1121 | 2 | 1531 | SvGETMAGIC(scalar); | 
 
|  | 0 | 2 | SvGETMAGIC(scalar); | 
 
| 1122 | 1533 | 0 | if ( scalar != NULL && SvOK(scalar) ) { | 
 
|  | 34 | 1499 | if ( scalar != NULL && SvOK(scalar) ) { | 
 
|  | 34 | 0 | if ( scalar != NULL && SvOK(scalar) ) { | 
 
|  | 0 | 34 | if ( scalar != NULL && SvOK(scalar) ) { | 
 
| 1124 | 1497 | 2 | char * t_pv =SvPV(scalar, len); | 
 
| 1127 | 1421 | 78 | if ( xmlStrlen(string) > 0 ) { | 
 
| 1131 | 422 | 999 | if( !DO_UTF8(scalar) && encoding != NULL ) { | 
 
|  | 0 | 422 | if( !DO_UTF8(scalar) && encoding != NULL ) { | 
 
|  | 72 | 927 | if( !DO_UTF8(scalar) && encoding != NULL ) { | 
 
| 1138 | 72 | 0 | if ( string != NULL ) { | 
 
| 1146 | 1499 | 0 | if (string != NULL ) { | 
 
| 1164 | 12 | 0 | if ( refnode != NULL ) { | 
 
| 1166 | 12 | 0 | if ( real_doc != NULL && real_doc->encoding != NULL ) { | 
 
|  | 12 | 0 | if ( real_doc != NULL && real_doc->encoding != NULL ) { | 
 
| 1171 | 0 | 12 | if ( PmmNodeEncoding(real_doc) == XML_CHAR_ENCODING_NONE ) { | 
 
| 1184 | 0 | 12 | if ( PmmNodeEncoding( real_doc ) == XML_CHAR_ENCODING_UTF8 ) { | 
 
| 1207 | 1443 | 0 | if ( refnode != NULL ) { | 
 
| 1210 | 1315 | 128 | if (real_dom != NULL && real_dom->encoding != NULL ) { | 
 
|  | 138 | 1177 | if (real_dom != NULL && real_dom->encoding != NULL ) { | 
 
| 1214 | 138 | 0 | if ( scalar != NULL && scalar != &PL_sv_undef ) { | 
 
|  | 138 | 0 | if ( scalar != NULL && scalar != &PL_sv_undef ) { | 
 
| 1216 | 138 | 0 | char * t_pv =SvPV(scalar, len); | 
 
| 1218 | 138 | 0 | if ( t_pv && len > 0 ) { | 
 
|  | 122 | 16 | if ( t_pv && len > 0 ) { | 
 
| 1222 | 42 | 80 | if( !DO_UTF8(scalar) ) { | 
 
|  | 0 | 42 | if( !DO_UTF8(scalar) ) { | 
 
| 1227 | 0 | 80 | if ( PmmNodeEncoding(real_dom) == XML_CHAR_ENCODING_NONE ) { | 
 
| 1242 | 58 | 80 | if (string==NULL) { |