Branch Coverage

blib/lib/Jabber/Lite.pm
Criterion Covered Total %
branch 188 1204 15.6


line true false branch
104 0 4 if ($@) { }
116 26 0 if ($Jabber::Lite::WeakRefs)
131 0 0 if ($@)
132 0 0 if ($@ =~ /Not a SCALAR reference/)
137 0 0 if ($obj)
140 0 0 if ($method =~ /^(DESTROY|del_parent_link)$/)
142 0 0 if $olderror
319 0 52 unless defined $validargs{"$kkey"}
401 450 50 unless defined $$self{'_resolved'}{$host}{'srv'}
405 0 50 if (not defined $srvrec) { }
407 0 0 unless defined $$self{'_resolved'}{$host}{'address'}
408 0 0 if $$self{'_resolved'}{$host}{'address'} =~ /^\s*$/
420 0 450 unless $wghtrec =~ /^\s*(\d+)\s+(\d+)\s+(\S+)\s*$/
424 50 400 if ($wghtnum > $wghthigh)
433 0 450 unless $wghtrec =~ /^\s*(\d+)\s+(\d+)\s+(\S+)\s*$/
449 0 450 if (defined $weights{"$wghtpos"})
460 159 291 if ($wghtpos > $posmax)
469 0 450 unless defined $weights{"$weightkey"}
470 0 450 unless $weights{"$weightkey"} =~ /^\s*(\d+)\s+(\S+)\s*$/
473 0 450 unless defined $$self{'_resolved'}{$host}{'address'}
474 0 450 if $$self{'_resolved'}{$host}{'address'} =~ /^\s*$/
478 0 500 if defined $uhosts{$port . $address}
511 0 0 if (not defined $args{'Timeout'}) { }
0 0 elsif (not $args{'Timeout'} =~ /^\s*\d+\s*$/) { }
0 0 elsif ($args{'Timeout'} < 11) { }
522 0 0 if (defined $args{'Domain'} and defined $args{'Type'} and defined $args{'Protocol'} and $self->_got_Net_DNS)
539 0 0 if ($qname =~ /^_xmpp-(server|client)\._([^\.]+)\.(\S+)$/i)
567 0 0 if ($qname =~ /^_jabber\._([^\.]+)\.(\S+)$/i and $args{'Type'} =~ /^server$/i)
587 0 0 if ($retval > 0) { }
660 0 0 if (defined $bname and defined $res and defined $q1)
666 0 0 if ($$self{'_queries'}{';;end'} < time) { }
0 0 elsif (not defined $$self{'_queries'}{$q1}{'completed'} and defined $$self{'_queries'}{$q1}{'start'}) { }
0 0 elsif (defined $q2 and not defined $$self{'_queries'}{$q2}{'completed'} and defined $$self{'_queries'}{$q2}{'start'}) { }
671 0 0 if ($res->bgisready($q1sock))
683 0 0 if ($res->bgisready($q2sock))
693 0 0 if (defined $$self{'_queries'}{$q1}{'completed'} and defined $$self{'_queries'}{$q1}{'start'})
700 0 0 if ($colsrv) { }
707 0 0 if (defined $q2pkt and defined $$self{'_queries'}{$q1}{';;success'}) { }
0 0 elsif (defined $q2pkt) { }
715 0 0 if (defined $wrkpkt)
723 0 0 unless $answer->type eq 'SRV'
732 0 0 if ($ancount == 1 and $target eq '.') { }
0 0 elsif ($prio =~ /^\s*\d+\s*$/ and $wght =~ /^\s*\d+\s*$/ and $port =~ /^\s*\d+\s*$/ and $target =~ /^\S{2,}$/) { }
734 0 0 if (defined $q1pkt) { }
741 0 0 if (defined $q1pkt) { }
762 0 0 unless (defined $$self{'_queries'}{$sname})
770 0 0 unless (defined $$self{'_queries'}{$sname})
787 0 0 unless $sname =~ /\;\d+$/
788 0 0 unless defined $$self{'_queries'}{$sname}{'qtype'}
789 0 0 unless $$self{'_queries'}{$sname}{'qtype'} =~ /^(A|AAAA)$/
793 0 0 if (defined $sock)
794 0 0 if ($res->bgisready($sock))
802 0 0 if (defined $dpkt)
806 0 0 unless defined $answer
807 0 0 unless $answer->type =~ /^(a|aaaa)$/i
818 0 0 if ($foundcount == 0 and $srvcompleted == 1)
1021 0 0 if (not $args{'_redo'}) { }
0 0 elsif (defined $self->socket) { }
1023 0 0 unless ($$self{'OwnSocket'})
1024 0 0 if (defined $self->socket)
1057 0 0 if ($args{'OwnSocket'}) { }
1070 0 0 if (defined $socket)
1086 0 0 if ($cango)
1089 0 0 if ($args{'UseSSL'} || $args{'MustEncrypt'} and not $self->_check_val('_is_encrypted'))
1093 0 0 if ($gotssl)
1099 0 0 unless $kkey =~ /^SSL/
1107 0 0 if (defined $newsock) { }
1119 0 0 if (not $gotssl and $args{'MustEncrypt'})
1130 0 0 if ($args{'JustConnect'})
1137 0 0 if ($cango)
1145 0 0 unless (defined $args{'Domain'})
1154 0 0 if (defined $args{'StreamXMLLANG'})
1157 0 0 if (defined $args{'StreamId'})
1168 0 0 if ($args{'JustConnectAndStream'})
1175 0 0 if ($cango)
1204 0 0 unless ($args{'_connectbg'})
1208 0 0 if time > $endtime
1211 0 0 if ($tval >= 0) { }
1222 0 0 unless ($cango)
1273 0 0 if ($args{'RunProcess'})
1277 0 0 if ($tval == 1)
1286 0 0 if ($self->is_eof) { }
0 0 elsif ($self->is_connected > 0) { }
1293 0 0 if ($$self{'_connectargs'}{'MustEncrypt'} and not $self->is_encrypted) { }
0 0 elsif ($self->_check_val('_ask_encrypted') and not $self->is_encrypted) { }
1304 0 0 if ($retval == 1 and $self->_check_val('confirmedns')) { }
1305 0 0 unless ($$self{'_connectargs'}{'AllowRedirect'})
1306 0 0 if (lc $$self{'confirmedns'} ne lc $$self{'_connectargs'}{'Domain'})
1318 0 0 if ($retval == 1 and not $self->_check_val('streamid'))
1324 0 0 if ($retval == 1 and $self->_check_val('streamversion'))
1325 0 0 if ($$self{'streamversion'} >= 1 and not $self->_check_val('stream:features'))
1334 0 0 if ($retval == -1)
1335 0 0 if (not defined $$self{'_connecting_prod'}) { }
0 0 elsif ($$self{'_connecting_prod'} < time - 5) { }
1467 0 0 unless (defined $args{'Resource'})
1474 0 0 if (defined $args{'Method'})
1475 0 0 if ($args{'Method'} eq 'jabber:iq:auth')
1501 0 0 if (defined $args{'Method'})
1502 0 0 if ($args{'Method'} eq 'sasl')
1509 0 0 if (defined $args{'ComponentSecret'} and $self->_check_val('streamxmlns'))
1511 0 0 if ($$self{'streamxmlns'} eq $self->ConstXMLNS('component'))
1519 0 0 if ($doask)
1524 0 0 if ($self->_check_val('_ask_iq_auth'))
1533 0 0 if ($$self{'_authbg'})
1542 0 0 if time > $endtime
1547 0 0 if ($tval == 0) { }
0 0 elsif ($tval == 1) { }
1605 0 0 if ($args{'RunProcess'})
1609 0 0 if ($tval == 1) { }
0 0 elsif ($tval < 0) { }
1620 0 0 if ($self->_check_val('_ask_iq_auth'))
1621 0 0 unless ($self->_check_val('_got_iq_auth'))
1627 0 0 if ($retval and $self->_check_val('_ask_handshake'))
1629 0 0 unless ($self->_check_val('_started_auth'))
1635 0 0 if ($gotdsha1)
1642 0 0 if ($self->_check_val('_got_handshake')) { }
0 0 elsif ($self->_check_val('stream:error')) { }
1657 0 0 if ($retval == 1 and not $self->_check_val('_started_auth')) { }
0 0 elsif ($retval == 1 and $self->_check_val('_started_auth') and $self->_check_val('_sent_iq_auth') and $authas eq 'client') { }
0 0 elsif ($retval == 1 and $self->_check_val('_started_auth') and $authas eq 'client' and not $self->_check_val('_auth_failed')) { }
0 0 elsif ($retval == 1 and $self->_check_val('_started_auth') and $authas eq 'client' and $self->_check_val('_auth_failed')) { }
1672 0 0 if (defined $$self{'_authenticateargs'}{'Method'})
1674 0 0 unless $kkey =~ /^$mtest\-/
1676 0 0 if $kkey eq 'jabber:iq:auth'
1679 0 0 if (defined $$self{'_authenticateargs'}{'Mechanism'})
1690 0 0 unless $kkey =~ /^[^\-\]\-$mtest$/
1695 0 0 if $tkey =~ /^jabber:iq:auth\-sequence$/i
1702 0 0 if ($tkey =~ /^sasl\-/)
1739 0 0 if ($somesasl and $gotasasl and $gotmba64) { }
0 0 elsif (defined $rauths{'jabber:iq:auth-token'} and $gotdsha1 and !1) { }
0 0 elsif (defined $rauths{'jabber:iq:auth-digest'} and $gotdsha1) { }
0 0 elsif (defined $rauths{'jabber:iq:auth-password'}) { }
1742 0 0 unless $kkey =~ /^sasl\-(\S+)$/i
1794 0 0 if ($sendsasl) { }
0 0 elsif ($sendiq) { }
1795 0 0 if $self->_check_val('_debug')
1804 0 0 if $self->_check_val('_debug')
1824 0 0 if ($retval == 1 and $self->_check_val('_auth_finished'))
1833 0 0 if ($self->_check_val('_need_auth_stream'))
1834 0 0 if ($self->bgconnected != 1)
1842 0 0 if ($retval == 1 and not $self->_check_val('_need_auth_bind')) { }
0 0 elsif ($retval == 1 and $self->_check_val('_need_auth_bind') and not $self->_check_val('_done_auth_bind')) { }
1844 0 0 if ($$self{'_authenticateargs'}{'DoBind'}) { }
1855 0 0 if ($self->bgbinded == 1)
1863 0 0 if ($retval == 1 and not $self->_check_val('_need_auth_session')) { }
0 0 elsif ($retval == 1 and $self->_check_val('_need_auth_session')) { }
1866 0 0 if ($$self{'_authenticateargs'}{'DoSession'}) { }
1878 0 0 if ($self->bgsessioned == 1)
1883 0 0 if ($retval == 1 and $self->_check_val('_auth_finished')) { }
0 0 elsif (not $self->_check_val('_auth_finished')) { }
1887 0 0 if ($retval > 0)
1901 0 0 if ($retval >= 0)
1905 0 0 if ($retval > 0 and not defined $$self{'_connect_jid'})
1908 0 0 if (defined $$self{'_authenticateargs'}{'Resource'})
1931 0 0 if (defined $node and defined $sendtype)
1934 0 0 if ($node->name eq 'handshake') { }
0 0 elsif ($sendtype eq 'iq-auth' and $node->name eq 'iq') { }
0 0 elsif ($sendtype eq 'sasl') { }
1936 0 0 if ($self->_check_val('_ask_handshake'))
1940 0 0 if $self->_check_val('_debug')
1945 0 0 if (defined $idval)
1946 0 0 if ($node->attr('id') eq $idval)
1948 0 0 if ($node->attr('type') eq 'result') { }
1953 0 0 if (defined $$self{'_authenticateargs'}{'Resource'})
1968 0 0 if ($node->name eq 'failure' || $node->name eq 'abort' and $node->xmlns eq $saslxmlns) { }
0 0 elsif ($node->name eq 'success' and $node->xmlns eq $saslxmlns) { }
0 0 elsif ($node->name eq 'challenge' and $node->xmlns eq $saslxmlns) { }
2012 0 0 unless ($ctext =~ /rspauth\=/)
2043 0 0 if (not defined $password) { }
2083 0 0 if ($tval == 1) { }
0 0 elsif ($tval == 0) { }
2175 0 0 if ($thisauth eq 'jabber:iq:auth') { }
2176 0 0 if ($args{'Ask'} || $args{'JustAsk'} and not $havesent) { }
0 0 elsif ($args{'Ask'} and $havesent and not $gotans) { }
2183 0 0 if (defined $args{'Username'})
2190 0 0 unless $$self{'JustAsk'}
2206 0 0 if ($tval == 1)
2214 0 0 if (defined $tobj)
2216 0 0 if (defined $tval)
2217 0 0 if ($tval eq -522201)
2234 0 0 if ($deliqauth)
2239 0 0 if ($args{'Want'} eq 'array') { }
0 0 elsif ($args{'Want'} eq 'hash') { }
2262 0 0 if (defined $node and defined $idval)
2264 0 0 if ($node->name eq 'iq' and $node->attr('id') eq $idval)
2265 0 0 if ($node->attr('type') eq 'result') { }
0 0 elsif ($node->attr('type') eq 'error') { }
2278 0 0 if (defined $querytag)
2282 0 0 if lc($cnode->name) =~ /^(username|resource)$/i
2285 0 0 if (lc($cnode->name) =~ /^(token|sequence)$/i)
2327 0 0 if ($args{'Process'} eq 'if-required') { }
0 0 elsif ($args{'Process'} eq 'always') { }
2329 0 0 if (defined $stag)
2331 0 0 if (defined $btag)
2343 0 0 if ($doso)
2360 0 0 if ($doso and $stillgoing)
2361 0 0 if (not $args{'_sessionbg'}) { }
2365 0 0 if time > $endtime
2367 0 0 if ($tval >= 0)
2396 0 0 if ($args{'RunProcess'})
2400 0 0 if ($tval == 1)
2406 0 0 if ($self->_check_val('_done_auth_session'))
2421 0 0 if (defined $node and defined $idval)
2422 0 0 if ($node->name eq 'iq')
2423 0 0 if ($node->attr('id') eq $idval)
2428 0 0 if ($node->attr('type') eq 'result') { }
0 0 elsif ($node->attr('type') eq 'error') { }
2431 0 0 if (defined $btag)
2437 0 0 if (defined $etag)
2441 0 0 if ($etag->type eq 'modify' and defined $badreq or $etag->type eq 'cancel' and defined $conflict) { }
0 0 elsif ($etag->type eq 'cancel') { }
2452 0 0 if ($retval == 1)
2502 0 0 if ($args{'Process'} eq 'if-required') { }
0 0 elsif ($args{'Process'} eq 'always') { }
2504 0 0 if (defined $stag) { }
2507 0 0 if (defined $btag) { }
2523 0 0 if ($doso) { }
2534 0 0 if (defined $args{'Resource'})
2548 0 0 if ($doso and $stillgoing)
2549 0 0 if (not $args{'_bindbg'}) { }
2553 0 0 if time > $endtime
2555 0 0 if ($tval >= 0)
2596 0 0 if ($args{'RunProcess'})
2600 0 0 if ($tval == 1)
2606 0 0 if ($self->_check_val('_done_auth_bind'))
2626 0 0 if (defined $node and defined $idval)
2627 0 0 if ($node->name eq 'iq')
2628 0 0 if ($node->attr('id') eq $idval)
2630 0 0 if ($node->attr('type') eq 'result') { }
0 0 elsif ($node->attr('type') eq 'error') { }
2634 0 0 if (defined $btag)
2636 0 0 if (defined $jtag)
2643 0 0 if (defined $etag)
2647 0 0 if ($etag->type eq 'modify' and defined $badreq or $etag->type eq 'cancel' and defined $conflict) { }
0 0 elsif ($etag->type eq 'cancel') { }
2662 0 0 if ($$self{'_bindargs'}{'AllowRandom'})
2678 0 0 if (defined $retval)
2679 0 0 if ($retval == -522201)
2722 0 0 if (defined $args{'Class'} and defined $args{'Type'}) { }
0 0 elsif (defined $args{'Type'} and not defined $args{'Class'}) { }
0 0 elsif (defined $args{'Class'} and not defined $args{'Type'}) { }
2723 0 0 if (defined $$self{'handlers'}{$args{'Type'}}{$args{'Class'}})
2736 0 0 unless defined $type
2737 0 0 if $type =~ /^\s*$/
2738 0 0 unless defined $$self{'handlers'}{$type}{$args{'Class'}}
2778 0 0 unless (defined $class)
2783 0 0 if (defined $ptype and defined $process)
2850 0 0 if ($args{'Interval'} != -1 and defined $args{'Sub'})
2866 0 0 if ($args{'Now'})
2931 0 0 if ($dval)
2934 0 0 if (not defined $arg) { }
2937 0 0 if $dval
2943 0 0 if ($self->can_read($arg)) { }
0 0 elsif (defined $$self{'_pending'}) { }
0 0 elsif ($self->is_eof) { }
2944 0 0 if $dval
2946 0 0 if ($retval == -1)
2951 0 0 if $dval
2953 0 0 if ($retval == -1)
2957 0 0 if $dval
2961 0 0 if $dval
2963 0 0 if (defined $$self{'_curobj'})
2964 0 0 if ($$self{'_curobj'}->is_complete)
2971 0 0 if $dval
2974 0 0 if ($retval == 1 and defined $$self{'handlers'})
2978 0 0 if $dval
2981 0 0 if (defined $$self{'handlers'}{$curname})
2989 0 0 unless $stillgoing
2990 0 0 unless defined $thisclass
2991 0 0 if $thisclass =~ /^\s*$/
2992 0 0 if defined $uclass{"$thisclass"}
2993 0 0 if $dval
2995 0 0 unless exists $$self{'handlers'}{$curname}{$thisclass}
2996 0 0 if $dval
3002 0 0 defined $persisdata ? :
0 0 if $dval
3006 0 0 if (defined $persisdata)
3007 0 0 if ($persisdata eq -522201)
3012 0 0 if $dval
3020 0 0 if ($stillgoing) { }
3027 0 0 if $dval
3032 0 0 if (defined $$self{'heartbeats'})
3033 0 0 if (defined ${$$self{'heartbeats'};}[0])
3036 0 0 if (time > ${$$self{'heartbeats'};}[0])
3037 0 0 if $dval
3045 0 0 if (defined $$self{'timebeats'}{"$tlook"})
3050 0 0 if $dval
3052 0 0 if $dval
3059 0 0 if $dval
3060 0 0 if ($retval == -1)
3085 0 0 if (defined $self->socket)
3094 0 0 if (defined $self->socket->connected)
3102 0 0 if (not defined $$self{'_checked_send_ability'}) { }
3105 0 0 if ($tref =~ /SSL/)
3107 0 0 if ($amconnected and $nwritable)
3111 0 0 if ($@)
3125 0 0 if ($tref eq 'Jabber::Lite' || $tref eq 'Jabber::Lite::Impl' and $nwritable and $amconnected) { }
0 0 elsif ($nwritable and $amconnected) { }
3128 0 0 if ($usesend) { }
3138 0 0 if ($usesend) { }
3171 0 0 if (defined $self->socket)
3196 0 0 if (defined $self->socket)
3197 0 0 if (defined $$self{'_select'})
3202 0 0 if ($tref) { }
3203 0 0 if ($tref =~ /SSL/) { }
3252 0 0 if (defined $arg)
3264 0 0 if (defined $$self{'_socket'}) { }
3281 0 0 unless (defined $arg)
3285 0 0 if (defined $$self{'_select'})
3288 0 0 if (scalar @readhans > 0)
3306 0 0 unless (defined $arg)
3310 0 0 if (defined $$self{'_select'})
3313 0 0 if (scalar @readhans > 0)
3367 0 0 if (defined $socket and not $self->is_eof and not $args{'PendingOnly'})
3374 0 0 if (not defined $tval) { }
0 0 elsif ($tval == 0) { }
0 0 elsif ($tval > 0) { }
3411 0 0 if (defined $$self{'_maxobjectsize'})
3412 0 0 if ($$self{'_curobjbytes'} > $$self{'_maxobjectsize'})
3415 0 0 if ($$self{'_disconnectonmax'}) { }
3431 0 0 if (defined $$self{'_pending'})
3435 0 0 if (not defined $$self{'_curobj'}) { }
0 0 elsif (not defined $$self{'_is_complete'}) { }
3440 0 0 if (defined $tobj) { }
3446 0 0 if (length $rtext > 0) { }
3453 0 0 if ($$self{'_curobj'}->is_complete)
3466 0 0 if ($$self{'_pending'} =~ /^(\s*)(<)?$/ms) { }
3474 0 0 if ($tval == -2)
3482 0 0 if ($tval == -2)
3492 0 0 if (length $rtext > 0) { }
3504 0 0 if ($$self{'_curobj'}->is_complete)
3514 0 0 if ($tval == -2)
3589 0 66 if (defined $$self{"$arg"}) { }
3609 0 0 if (defined $args{'Key'} and defined $args{'Interval'})
3611 0 0 if (not $args{'Once'} or $args{'Once'} and $args{'FirstOnce'})
3620 0 0 if ($nexttime < ${$$self{'heartbeats'};}[$loopinsert]) { }
3672 0 0 if (defined $node)
3673 0 0 if ($node->name eq 'proceed' and $node->xmlns eq $tlsxmlns) { }
0 0 elsif ($node->name eq 'failure' and $node->xmlns eq $tlsxmlns) { }
3678 0 0 unless $kkey =~ /^(SSL|Version|Domain)/
3714 0 0 if (defined $node)
3716 0 0 defined $persisdata ? :
3718 0 0 if ($nodename eq '?xml') { }
0 0 elsif ($nodename eq 'stream:stream') { }
0 0 elsif ($nodename eq 'stream:error') { }
0 0 elsif ($nodename eq 'stream:features') { }
3729 0 0 if (defined $node->attr('from'))
3733 0 0 unless ($$self{'_connectargs'}{'AllowRedirect'})
3734 0 0 if (lc $$self{'confirmedns'} ne lc $$self{'_connectargs'}{'Domain'})
3739 0 0 if (defined $node->attr('id'))
3744 0 0 if (defined $node->attr('version')) { }
3750 0 0 if (defined $node->xmlns)
3753 0 0 if (defined $node->attr('stream:xmlns'))
3756 0 0 if (defined $node->attr('xml:lang'))
3775 0 0 if (defined $ssltag and $$self{'_connectargs'}{'UseTLS'} and not $self->is_encrypted) { }
3797 0 0 if (lc $snode->name eq 'auth') { }
0 0 elsif ($snode->name eq 'mechanisms') { }
3798 0 0 if (lc $snode->xmlns eq $self->ConstXMLNS('iq-auth'))
3803 0 0 unless $cnode->name eq 'mechanism'
3825 0 0 if (exists $args{'value'})
3840 0 0 if (exists $args{'value'})
3869 0 0 if (defined $$self{'_curobj'}) { }
0 0 elsif (defined $$self{'_is_complete'}) { }
3870 0 0 if ($$self{'_curobj'}->is_complete) { }
3904 0 0 if (defined $arg)
3908 0 0 if (defined $$self{'_curobj'})
3943 14 0 if (defined $arg)
3948 0 14 if ($tref) { }
3957 0 14 if (defined $xmlns)
3991 0 0 if ($success == 1) { }
4011 0 0 if (defined $retobj)
4013 0 0 if (defined $$self{'_curobjs'})
4016 0 0 if (not defined $nextnum) { }
0 0 elsif ($nextnum =~ /\D/) { }
4050 14 22 if (defined $arg)
4066 0 6 if (defined $$self{'_is_complete'}) { }
4101 0 0 if (defined $$self{'_curobjs'} and defined $wantname)
4105 0 0 if (defined ${$$self{'_curobjs'};}[$loop])
4106 0 0 if (${$$self{'_curobjs'};}[$loop]->name eq $wantname)
4108 0 0 if (defined $wantxmlns) { }
4109 0 0 if (${$$self{'_curobjs'};}[$loop]->xmlns eq $wantxmlns)
4138 0 0 unless defined $attribname
4139 0 0 if $attribname =~ /^\s*$/s
4160 0 0 if (defined $attribvalue and defined $attribname) { }
0 0 elsif (defined $attribname) { }
4164 0 0 if (defined $$self{'_attribs'}{"$attribname"}) { }
4200 0 0 if (defined $dstr)
4223 0 0 if (defined $dstr)
4239 4 29 if (@_) { }
4240 4 0 if ($Jabber::Lite::WeakRefs) { }
4272 0 26 if (defined $self->parent)
4276 4 22 if (defined $$self{'_curobjs'})
4278 4 0 if (defined $numchild)
4311 0 0 if (defined $match and defined $$self{'_curobjs'})
4315 0 0 if (defined ${$$self{'_curobjs'};}[$loop]) { }
4316 0 0 if (${$$self{'_curobjs'};}[$loop] == $match)
4329 0 0 unless defined $offset
4330 0 0 if $offset =~ /\D/
4337 0 0 if (defined $$self{'_curobj'} and defined $match)
4338 0 0 if ($$self{'_curobj'} == $match)
4371 4 26 if (defined $$self{'_curobjs'})
4375 4 0 if (defined ${$$self{'_curobjs'};}[$loop])
4416 0 0 if ($dval)
4420 0 0 unless ($args{'GenClose'})
4428 0 0 if (defined $fh)
4433 0 0 if (not $usefh) { }
4440 0 0 if ($self->name =~ /^\[CDATA\[/) { }
0 0 elsif ($self->name =~ /^\!/) { }
0 0 elsif ($self->name =~ /^\?/) { }
4441 0 0 if (not $usefh) { }
4458 0 0 if (defined $$self{'_doctype'})
4468 0 0 if ($thischar eq '[') { }
0 0 elsif ($foundopen >= 0 and not $thischar =~ /^(\s*|\])$/) { }
0 0 elsif ($foundopen >= 0 and $thischar eq ']') { }
0 0 elsif ($foundopen < 0) { }
4472 0 0 if (defined $$self{'_curobjs'})
4473 0 0 if (defined ${$$self{'_curobjs'};}[$nexttag])
4490 0 0 if (not $usefh) { }
4497 0 0 if (defined $$self{'_processinginstructions'})
4498 0 0 if (not $usefh) { }
4508 0 0 if (defined $$self{'_attribs'})
4509 0 0 if (not $usefh) { }
4525 0 0 if $dval
4528 0 0 if (defined $$self{'_data'}) { }
0 0 elsif (defined $$self{'_curobjs'}) { }
4529 0 0 if $dval
4532 0 0 if $dval
4533 0 0 if (scalar @{$$self{'_curobjs'};} > 0)
4537 0 0 if $dval
4540 0 0 if (not $gotmore or $mustend) { }
4542 0 0 if ($self->name =~ /^\?/)
4543 0 0 if (not $usefh) { }
4549 0 0 if ($doend) { }
4550 0 0 if (not $usefh) { }
4556 0 0 if (not $usefh) { }
4564 0 0 if (not $usefh) { }
4571 0 0 if (defined $$self{'_curobjs'})
4575 0 0 if (not $usefh) { }
4589 0 0 if (defined $$self{'_data'})
4590 0 0 if (not $usefh) { }
4598 0 0 if ($doend) { }
4599 0 0 if (not $usefh) { }
4605 0 0 if (not $usefh) { }
4613 0 0 if $dval
4666 14 0 if (defined $str)
4674 14 0 if ($str =~ /^(\s*<(\S+.*))$/s)
4681 14 0 if ($gotlength > 0) { }
0 0 elsif ($str =~ /^\s*$/ms) { }
4699 0 14 if (defined $$self{'_expect-incomplete'})
4714 6 8 if (length $rtext > 0) { }
4769 0 18 if ($dval)
4772 18 0 if (defined $self->name) { }
4773 0 18 if $dval
4775 0 0 if $dval
4782 0 18 if (not defined $str) { }
0 18 elsif ($str =~ /^$/) { }
4790 18 0 if (defined $$self{'_cur_status'})
4800 0 36 if $dval
4804 16 20 if ($curstatus eq 'name')
4805 15 1 if ($str =~ /^(\S+)(\s+.*)?$/s) { }
1 0 elsif ($str =~ /^\s+(\S+.*)$/s) { }
4811 1 14 if ($namefurther =~ m[^([^/]*/>)(.*)$]s) { }
11 3 elsif ($namefurther =~ /^([^>]*>)(.*)$/s) { }
4818 1 0 if (defined $r2)
4821 1 0 if (defined $ostr)
4831 11 0 if (defined $r2)
4834 8 3 if (defined $ostr)
4847 0 15 if ($$self{'_name'} =~ /^\!\-\-(.*)$/s) { }
0 15 elsif ($$self{'_name'} =~ /^(\!\[CDATA\[)(.*)$/) { }
0 15 elsif ($$self{'_name'} =~ m[/$]s) { }
2 13 elsif ($$self{'_name'} =~ m[/>$]s) { }
0 13 elsif ($$self{'_name'} =~ /\?>$/s and $$self{'_name'} =~ /^\?/) { }
10 3 elsif ($$self{'_name'} =~ />$/s) { }
3 0 elsif (defined $str) { }
0 0 elsif (not defined $str) { }
4891 0 10 if ($$self{'_name'} =~ /^\!/)
4898 0 10 if (defined $$self{'_expect-incomplete'})
4899 0 0 if (defined $$self{'_expect-incomplete'}{$$self{'_name'}})
4910 0 3 if ($$self{'_name'} =~ /^\!/) { }
1 2 elsif ($$self{'_name'} =~ /^\?/s) { }
0 2 elsif ($$self{'_name'} =~ /^(\!\[CDATA\[)(.*)$/) { }
4924 0 15 if $dval
4936 3 13 if ($curstatus eq 'attribs')
4937 0 3 if ($$self{'_name'} =~ /^\!\-\-(.*)$/s) { }
0 3 elsif ($$self{'_name'} =~ /^\!/) { }
0 3 elsif ($$self{'_name'} =~ /^\?/s) { }
0 3 elsif ($$self{'_name'} =~ /^(\!\[CDATA\[)(.*)$/) { }
4953 16 0 if ($curstatus ne 'name')
4954 6 10 unless ($$self{'_name'} =~ /^[A-Za-z][A-Za-z0-9\-\_\:\.]*$/)
4955 5 1 unless ($$self{'_name'} =~ /^(\?|\!)(\S+)/)
4967 1 30 if ($curstatus =~ /^(doctype|processinginstructions|cdata)/)
4977 0 17 if ($curstatus eq 'doctype') { }
17 0 elsif ($curstatus eq 'processinginstructions') { }
0 0 elsif ($curstatus eq 'cdata') { }
4978 0 0 if ($thischar eq '[') { }
0 0 elsif ($thischar eq '>') { }
4992 2 15 if ($thischar eq '>') { }
0 15 elsif ($thischar eq '?') { }
4995 0 2 if ($$self{'_processinginstructions'} =~ /\?>$/s)
4998 0 0 if $dval
5011 0 0 if ($thischar eq '>') { }
5014 0 0 if ($$self{'_cdata'} =~ /\]\]>$/s)
5028 0 1 if ($loop < $strlength) { }
5040 4 27 if ($curstatus =~ /^attrib/)
5082 10 8 if ($curstatus eq 'attribs') { }
4 4 elsif ($curstatus eq 'attrib-n') { }
1 3 elsif ($curstatus =~ /^attrib-s-(\S+)$/) { }
3 0 elsif ($curstatus =~ /^attrib-v-(\S+)$/s) { }
5084 4 6 if ($thischar =~ /^\s*$/s) { }
1 5 elsif ($thischar eq '/') { }
0 5 elsif ($thischar eq '?' and $$self{'_name'} =~ /^\?/) { }
1 4 elsif ($thischar eq '>') { }
2 2 elsif ($thischar =~ /^[A-Za-z\_\:]$/s) { }
5086 3 1 if ($whitestart < 0)
5114 0 1 if ($prevforslash == $loop - 1) { }
0 1 elsif ($prevquery == $loop - 1 and $$self{'_name'} =~ /^\?(.*)$/s) { }
0 1 elsif ($prevquery != $loop - 1 and $$self{'_name'} =~ /^\?(.*)$/s) { }
0 1 elsif ($$self{'_name'} =~ /^\!(\S+)$/s) { }
5161 1 3 if ($thischar eq '=') { }
0 3 elsif ($thischar =~ /^\s+$/s) { }
5182 1 0 if ($thischar =~ /^(\"|\')$/s) { }
0 0 elsif ($thischar =~ /^\s+$/s) { }
5197 1 2 if ($thischar eq $$self{'_cur_attrib_end'}) { }
0 2 elsif ($thischar eq '\\') { }
0 2 elsif ($thischar eq '<') { }
5234 0 4 if $dval
5235 3 1 if ($loop < $strlength) { }
0 1 elsif ($prevforslash == $loop) { }
5246 0 4 if $dval
5247 1 3 if ($curstatus eq 'subtag')
5251 0 1 if (defined $$self{'_expect-incomplete'}) { }
5252 0 0 if $dval
5253 0 0 if $dval
5254 0 0 if (defined $$self{'_expect-incomplete'}{$$self{'_name'}})
5255 0 0 if $dval
5259 0 1 if $dval
5277 1 10 if (length $str < 1)
5284 8 2 if ($curstatus eq 'subtag')
5300 3 23 if ($thischar eq '&') { }
15 8 elsif ($thischar ne '<') { }
5305 3 0 if ($rstr =~ /^\&(\#[0-9]+|\#x[A-Fa-f0-9]+|[A-Fa-z][A-Fa-f0-9\-\_\:\.]*|[a-z]+);(.*)$/s) { }
0 0 elsif ($rstr =~ /^\&[^;]*\s+/) { }
5309 0 3 if (not defined $rtext) { }
5328 0 0 if $dval
5343 8 0 if ($loop <= $strlength and $stillgoing == 0) { }
5351 0 8 if ($strlength < 2) { }
5359 4 4 if ($str =~ m[^
5371 4 6 if ($curstatus eq 'subtag' and $istag)
5375 4 0 if (defined $tobj)
5382 0 4 if (defined $$self{'_curobjs'})
5395 0 4 if $dval
5401 0 4 if ($tobj->is_complete)
5404 0 0 if (not defined $$self{'_name'}) { }
0 0 elsif ($$self{'_name'} =~ /^\?/) { }
0 0 elsif ($$self{'_name'} =~ /^\!/) { }
5406 0 0 if $dval
5412 0 0 if $dval
5417 3 1 if ($tval == -2)
5426 6 4 if ($curstatus =~ /^subtag\-(\d+)$/s)
5430 2 1 if ($retval != -2 and defined ${$$self{'_curobjs'};}[$offnum] and $strlength > 0)
5433 2 0 if ($tval == -2)
5439 0 2 if (${$$self{'_curobjs'};}[$offnum]->is_complete) { }
0 2 elsif (length $str < 2) { }
5444 0 0 if $dval
5446 0 0 if ($$self{'_name'} =~ /^\?/) { }
0 0 elsif ($$self{'_name'} =~ /^\!/) { }
5459 4 27 if ($curstatus eq 'endname')
5469 4 12 if ($thischar eq '>') { }
0 12 elsif ($thischar =~ /^\s+$/s) { }
5471 4 0 if ($$self{'_cur_endname'} eq $self->name) { }
5494 0 31 if ($curstatus eq 'comment')
5495 0 0 if $dval
5498 0 0 if ($str =~ /(\-\-)([^>]+.*)$/s) { }
0 0 elsif ($str =~ /^([^>]+)>(.*)$/s) { }
0 0 elsif ($str =~ /^(.*)(\-{1,2})$/s) { }
5499 0 0 if $dval
5507 0 0 if $dval
5510 0 0 if ($doq =~ /\-\-$/)
5522 1 30 if ($curstatus eq 'processinginstructions')
5525 0 1 if ($str =~ /^([^>]+)>(.*)$/s) { }
0 1 elsif ($str =~ /^(.*)(\?)$/s) { }
5528 0 0 if ($doq =~ /\?$/)
5539 5 26 if ($curstatus eq 'complete') { }
5547 0 5 if ($$self{'_name'} =~ /^!ENTITY$/)
5548 0 0 if ($$self{'_doctype'} =~ /^\s*(\S+)\s+(\S+.*)\s*$/)
5551 0 0 if ($evalue =~ /^\"/) { }
0 0 elsif ($evalue =~ /^\'/) { }
5570 5 8 if ($curstatus eq 'complete' and $retval >= 0)
5575 0 13 if $dval
5593 0 0 if (defined $$self{'_cur_status'}) { }
0 0 elsif (defined $$self{'_curobj'}) { }
5670 0 3 if (defined $self->parent) { }
5683 3 0 if (defined $predefents{"$arg"}) { }
0 0 elsif ($arg =~ /^#(\d+)$/) { }
0 0 elsif ($arg =~ /^#x([A-Fa-f0-9])+$/) { }
0 0 elsif (defined $$self{'_entities'}{"$arg"}) { }
5874 0 48 if ($dval) { }
5878 0 0 if ($dval eq '0')
5890 0 0 if ($selfref eq $callingpkg) { }
5897 0 0 if ($dval eq '1') { }
0 0 elsif ($dval =~ /(^|,)$callingname(,|$)/) { }
5902 0 0 if $cango