|  line  | 
 true  | 
 false  | 
 branch  | 
 
| 
28
 | 
 0  | 
 26  | 
 if (ref $arg1) { }  | 
 
| 
43
 | 
 23  | 
 3  | 
 if ($argc <= 1) { }  | 
 
| 
 | 
 3  | 
 0  | 
 elsif ($argc <= 3) { }  | 
 
| 
61
 | 
 0  | 
 26  | 
 unless ($filename)  | 
 
| 
66
 | 
 0  | 
 0  | 
 unless ecs_is_configured()  | 
 
| 
79
 | 
 0  | 
 0  | 
 unless (defined $readlen)  | 
 
| 
85
 | 
 0  | 
 0  | 
 if $readlen == 0  | 
 
| 
87
 | 
 0  | 
 0  | 
 unless (print $fh $buffer)  | 
 
| 
94
 | 
 0  | 
 0  | 
 if ($err)  | 
 
| 
104
 | 
 0  | 
 26  | 
 unless open $file_handle, "+< $filename"  | 
 
| 
115
 | 
 26  | 
 0  | 
 if $locked  | 
 
| 
117
 | 
 0  | 
 26  | 
 unless ($locked)  | 
 
| 
128
 | 
 24  | 
 2  | 
 unless ($sender_node_id)  | 
 
| 
136
 | 
 0  | 
 5332  | 
 unless (defined $bytecount)  | 
 
| 
142
 | 
 5328  | 
 4  | 
 if ($bytecount > 0) { }  | 
 
| 
 | 
 4  | 
 0  | 
 elsif ($bytecount == 0 or $data_offset >= 1048576) { }  | 
 
| 
148
 | 
 20  | 
 5308  | 
 if $email_headers =~ /\r?\n\r?\n$/so  | 
 
| 
158
 | 
 0  | 
 24  | 
 if ($err)  | 
 
| 
165
 | 
 20  | 
 6  | 
 if ($data_offset > 0)  | 
 
| 
171
 | 
 19  | 
 1  | 
 if ($email_headers =~ /^Subject:\s*(.+?)$/imo)  | 
 
| 
180
 | 
 7  | 
 19  | 
 unless (exists $this->{'subject'})  | 
 
| 
182
 | 
 2  | 
 5  | 
 if $sender_node_id  | 
 
| 
183
 | 
 1  | 
 6  | 
 if $seq_num  | 
 
| 
186
 | 
 0  | 
 7  | 
 if $err  | 
 
| 
192
 | 
 0  | 
 19  | 
 if (ecs_is_configured()) { }  | 
 
| 
200
 | 
 10  | 
 9  | 
 if ($this->{'subject'} =~ m[$mail_mrk:(\S+?):(\d+)(:(\d+)/(\d+))?\s*$]i) { }  | 
 
| 
 | 
 4  | 
 5  | 
 elsif ($this->{'subject'} =~ /$mail_mrk:(\S+)\s*$/i) { }  | 
 
| 
207
 | 
 6  | 
 4  | 
 if defined $4  | 
 
| 
208
 | 
 6  | 
 4  | 
 if defined $5  | 
 
| 
209
 | 
 1  | 
 5  | 
 if (exists $this->{'part_num'} and exists $this->{'num_parts'} and $this->{'part_num'} > $this->{'num_parts'})  | 
 
| 
230
 | 
 0  | 
 18  | 
 if $err  | 
 
| 
232
 | 
 0  | 
 18  | 
 if $err  | 
 
| 
243
 | 
 0  | 
 26  | 
 unless ref $this  | 
 
| 
246
 | 
 26  | 
 0  | 
 if exists $this->{'file_handle'}  | 
 
| 
259
 | 
 0  | 
 4  | 
 unless ref $this  | 
 
| 
269
 | 
 0  | 
 4  | 
 unless ref $this  | 
 
| 
279
 | 
 0  | 
 1  | 
 unless ref $this  | 
 
| 
289
 | 
 0  | 
 2  | 
 unless ref $this  | 
 
| 
299
 | 
 0  | 
 2  | 
 unless ref $this  | 
 
| 
309
 | 
 0  | 
 20  | 
 unless ref $this  | 
 
| 
319
 | 
 0  | 
 16  | 
 unless ref $this  | 
 
| 
329
 | 
 0  | 
 3  | 
 unless ref $this  | 
 
| 
339
 | 
 0  | 
 3  | 
 unless ref $this  | 
 
| 
349
 | 
 0  | 
 14  | 
 unless ref $this  | 
 
| 
359
 | 
 0  | 
 10  | 
 unless ref $this  | 
 
| 
369
 | 
 0  | 
 8  | 
 unless ref $this  | 
 
| 
379
 | 
 0  | 
 0  | 
 unless ref $this  | 
 
| 
389
 | 
 0  | 
 50  | 
 unless ref $this  | 
 
| 
391
 | 
 26  | 
 24  | 
 unless $this->{'is_closed'}  | 
 
| 
399
 | 
 0  | 
 25  | 
 unless ref $this  | 
 
| 
402
 | 
 0  | 
 25  | 
 if $this->{'is_closed'}  | 
 
| 
408
 | 
 0  | 
 25  | 
 unless seek $this->{'file_handle'}, $this->{'data_offset'}, 0  | 
 
| 
411
 | 
 0  | 
 25  | 
 unless defined $bytecount  | 
 
| 
414
 | 
 7  | 
 18  | 
 unless (exists $this->{'is_ecs_message'})  | 
 
| 
418
 | 
 5  | 
 2  | 
 if ($fml =~ /^\s*(BLOCK_BEGIN\s+\w+\s*;\s*)?\w+\s*:/iso) { }  | 
 
| 
 | 
 1  | 
 1  | 
 elsif ($fml =~ /^\s*msg_type\s*=\s*\S+/imos) { }  | 
 
| 
441
 | 
 5  | 
 18  | 
 if ($fml =~ /HUB_RCV\s*=\s*([^,;]+)/iso)  | 
 
| 
447
 | 
 5  | 
 18  | 
 if ($fml =~ /HUB_SND\s*=\s*([^,;]+)/iso)  | 
 
| 
459
 | 
 0  | 
 0  | 
 unless ref $this  | 
 
| 
462
 | 
 0  | 
 0  | 
 if $this->{'is_closed'}  | 
 
| 
465
 | 
 0  | 
 0  | 
 if defined $this->{'num_parts'} and $this->{'num_parts'} > 1  | 
 
| 
471
 | 
 0  | 
 0  | 
 unless ecs_is_configured()  | 
 
| 
477
 | 
 0  | 
 0  | 
 unless defined $rcv_node_id and $rcv_node_id  | 
 
| 
482
 | 
 0  | 
 0  | 
 unless ($was_locked)  | 
 
| 
484
 | 
 0  | 
 0  | 
 unless $node_tbl->lock  | 
 
| 
489
 | 
 0  | 
 0  | 
 unless ($node)  | 
 
| 
491
 | 
 0  | 
 0  | 
 unless $was_locked  | 
 
| 
494
 | 
 0  | 
 0  | 
 unless ($node->{'addr'})  | 
 
| 
496
 | 
 0  | 
 0  | 
 unless $was_locked  | 
 
| 
502
 | 
 0  | 
 0  | 
 if ($is_re_send) { }  | 
 
| 
 | 
 0  | 
 0  | 
 elsif (not $this->{'is_meta_message'}) { }  | 
 
| 
505
 | 
 0  | 
 0  | 
 unless (defined $this->{'seq_num'})  | 
 
| 
507
 | 
 0  | 
 0  | 
 unless $was_locked  | 
 
| 
510
 | 
 0  | 
 0  | 
 if ($this->{'seq_num'} > $node->{'out_seq'})  | 
 
| 
512
 | 
 0  | 
 0  | 
 unless $was_locked  | 
 
| 
522
 | 
 0  | 
 0  | 
 if ($part_num)  | 
 
| 
524
 | 
 0  | 
 0  | 
 unless $was_locked  | 
 
| 
535
 | 
 0  | 
 0  | 
 if (defined $node->{'msg_part_size'} and $node->{'msg_part_size'} > 0)  | 
 
| 
543
 | 
 0  | 
 0  | 
 if ($data_size <= 0)  | 
 
| 
545
 | 
 0  | 
 0  | 
 unless $was_locked  | 
 
| 
551
 | 
 0  | 
 0  | 
 if $data_size % $msg_part_size > 0  | 
 
| 
554
 | 
 0  | 
 0  | 
 if ($this->{'is_meta_message'} and $num_parts > 1)  | 
 
| 
556
 | 
 0  | 
 0  | 
 unless $was_locked  | 
 
| 
560
 | 
 0  | 
 0  | 
 if (defined $part_num and $part_num and $part_num > $num_parts)  | 
 
| 
562
 | 
 0  | 
 0  | 
 unless $was_locked  | 
 
| 
569
 | 
 0  | 
 0  | 
 if $seq_num  | 
 
| 
571
 | 
 0  | 
 0  | 
 if ($is_re_send) { }  | 
 
| 
574
 | 
 0  | 
 0  | 
 $part_num ? :  | 
 
| 
583
 | 
 0  | 
 0  | 
 if ($this->{'is_meta_message'}) { }  | 
 
| 
590
 | 
 0  | 
 0  | 
 unless -e $dirname  | 
 
| 
599
 | 
 0  | 
 0  | 
 unless -e $dirname  | 
 
| 
604
 | 
 0  | 
 0  | 
 if (-e $filename) { }  | 
 
| 
608
 | 
 0  | 
 0  | 
 unless $fh  | 
 
| 
615
 | 
 0  | 
 0  | 
 unless $fh->open("> $filename")  | 
 
| 
626
 | 
 0  | 
 0  | 
 unless seek $this->{'file_handle'}, $this->{'data_offset'}, 0  | 
 
| 
630
 | 
 0  | 
 0  | 
 if ($err)  | 
 
| 
632
 | 
 0  | 
 0  | 
 unless $was_locked  | 
 
| 
639
 | 
 0  | 
 0  | 
 if (not defined $bytecount) { }  | 
 
| 
 | 
 0  | 
 0  | 
 elsif ($bytecount == 0) { }  | 
 
| 
650
 | 
 0  | 
 0  | 
 unless print $fh $buffer  | 
 
| 
659
 | 
 0  | 
 0  | 
 if ($num_parts == 1) { }  | 
 
| 
664
 | 
 0  | 
 0  | 
 unless seek $this->{'file_handle'}, $this->{'data_offset'}, 0  | 
 
| 
666
 | 
 0  | 
 0  | 
 unless ($err)  | 
 
| 
671
 | 
 0  | 
 0  | 
 if (not defined $bytecount) { }  | 
 
| 
 | 
 0  | 
 0  | 
 elsif ($bytecount != $data_size) { }  | 
 
| 
 | 
 0  | 
 0  | 
 elsif ($this->{'is_meta_message'} and not $node->{'encr_meta'} =~ /true/io) { }  | 
 
| 
708
 | 
 0  | 
 0  | 
 if ($part_num)  | 
 
| 
723
 | 
 0  | 
 0  | 
 unless seek $this->{'file_handle'}, $part_offset, 0  | 
 
| 
725
 | 
 0  | 
 0  | 
 unless ($err)  | 
 
| 
731
 | 
 0  | 
 0  | 
 if (not defined $bytecount) { }  | 
 
| 
 | 
 0  | 
 0  | 
 elsif ($part_num < $num_parts and $bytecount != $msg_part_size) { }  | 
 
| 
 | 
 0  | 
 0  | 
 elsif ($bytecount <= 0) { }  | 
 
| 
763
 | 
 0  | 
 0  | 
 if ($err) { }  | 
 
| 
765
 | 
 0  | 
 0  | 
 if ($parts_sent == 0) { }  | 
 
| 
784
 | 
 0  | 
 0  | 
 unless ($err)  | 
 
| 
788
 | 
 0  | 
 0  | 
 unless $node_tbl->write($rcv_node_id, $node)  | 
 
| 
792
 | 
 0  | 
 0  | 
 unless $was_locked  |