File | /usr/local/lib/perl5/5.10.1/darwin-2level/IO/Uncompress/Adapter/Inflate.pm |
Statements Executed | 18 |
Statement Execution Time | 681µs |
Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
---|---|---|---|---|---|
1 | 1 | 1 | 21µs | 245µs | BEGIN@7 | IO::Uncompress::Adapter::Inflate::
1 | 1 | 1 | 17µs | 22µs | BEGIN@3 | IO::Uncompress::Adapter::Inflate::
1 | 1 | 1 | 15µs | 163µs | BEGIN@8 | IO::Uncompress::Adapter::Inflate::
1 | 1 | 1 | 9µs | 11µs | BEGIN@5 | IO::Uncompress::Adapter::Inflate::
1 | 1 | 1 | 9µs | 22µs | BEGIN@4 | IO::Uncompress::Adapter::Inflate::
0 | 0 | 0 | 0s | 0s | adler32 | IO::Uncompress::Adapter::Inflate::
0 | 0 | 0 | 0s | 0s | compressedBytes | IO::Uncompress::Adapter::Inflate::
0 | 0 | 0 | 0s | 0s | crc32 | IO::Uncompress::Adapter::Inflate::
0 | 0 | 0 | 0s | 0s | createDeflateStream | IO::Uncompress::Adapter::Inflate::
0 | 0 | 0 | 0s | 0s | getEndOffset | IO::Uncompress::Adapter::Inflate::
0 | 0 | 0 | 0s | 0s | getLastBlockOffset | IO::Uncompress::Adapter::Inflate::
0 | 0 | 0 | 0s | 0s | mkUncompObject | IO::Uncompress::Adapter::Inflate::
0 | 0 | 0 | 0s | 0s | reset | IO::Uncompress::Adapter::Inflate::
0 | 0 | 0 | 0s | 0s | resetLastBlockByte | IO::Uncompress::Adapter::Inflate::
0 | 0 | 0 | 0s | 0s | sync | IO::Uncompress::Adapter::Inflate::
0 | 0 | 0 | 0s | 0s | uncompr | IO::Uncompress::Adapter::Inflate::
0 | 0 | 0 | 0s | 0s | uncompressedBytes | IO::Uncompress::Adapter::Inflate::
Line | State ments |
Time on line |
Calls | Time in subs |
Code |
---|---|---|---|---|---|
1 | package IO::Uncompress::Adapter::Inflate; | ||||
2 | |||||
3 | 3 | 23µs | 2 | 26µs | # spent 22µs (17+4) within IO::Uncompress::Adapter::Inflate::BEGIN@3 which was called
# once (17µs+4µs) by IO::Uncompress::RawInflate::BEGIN@12 at line 3 # spent 22µs making 1 call to IO::Uncompress::Adapter::Inflate::BEGIN@3
# spent 4µs making 1 call to strict::import |
4 | 3 | 35µs | 2 | 34µs | # spent 22µs (9+13) within IO::Uncompress::Adapter::Inflate::BEGIN@4 which was called
# once (9µs+13µs) by IO::Uncompress::RawInflate::BEGIN@12 at line 4 # spent 22µs making 1 call to IO::Uncompress::Adapter::Inflate::BEGIN@4
# spent 13µs making 1 call to warnings::import |
5 | 3 | 30µs | 2 | 14µs | # spent 11µs (9+2) within IO::Uncompress::Adapter::Inflate::BEGIN@5 which was called
# once (9µs+2µs) by IO::Uncompress::RawInflate::BEGIN@12 at line 5 # spent 11µs making 1 call to IO::Uncompress::Adapter::Inflate::BEGIN@5
# spent 2µs making 1 call to bytes::import |
6 | |||||
7 | 3 | 67µs | 3 | 468µs | # spent 245µs (21+224) within IO::Uncompress::Adapter::Inflate::BEGIN@7 which was called
# once (21µs+224µs) by IO::Uncompress::RawInflate::BEGIN@12 at line 7 # spent 245µs making 1 call to IO::Uncompress::Adapter::Inflate::BEGIN@7
# spent 206µs making 1 call to Exporter::import
# spent 18µs making 1 call to UNIVERSAL::VERSION |
8 | 3 | 521µs | 3 | 312µs | # spent 163µs (15+148) within IO::Uncompress::Adapter::Inflate::BEGIN@8 which was called
# once (15µs+148µs) by IO::Uncompress::RawInflate::BEGIN@12 at line 8 # spent 163µs making 1 call to IO::Uncompress::Adapter::Inflate::BEGIN@8
# spent 132µs making 1 call to Exporter::import
# spent 17µs making 1 call to UNIVERSAL::VERSION |
9 | |||||
10 | 1 | 100ns | our ($VERSION); | ||
11 | 1 | 600ns | $VERSION = '2.020'; | ||
12 | |||||
13 | |||||
14 | |||||
15 | sub mkUncompObject | ||||
16 | { | ||||
17 | my $crc32 = shift || 1; | ||||
18 | my $adler32 = shift || 1; | ||||
19 | my $scan = shift || 0; | ||||
20 | |||||
21 | my $inflate ; | ||||
22 | my $status ; | ||||
23 | |||||
24 | if ($scan) | ||||
25 | { | ||||
26 | ($inflate, $status) = new Compress::Raw::Zlib::InflateScan | ||||
27 | #LimitOutput => 1, | ||||
28 | CRC32 => $crc32, | ||||
29 | ADLER32 => $adler32, | ||||
30 | WindowBits => - MAX_WBITS ; | ||||
31 | } | ||||
32 | else | ||||
33 | { | ||||
34 | ($inflate, $status) = new Compress::Raw::Zlib::Inflate | ||||
35 | AppendOutput => 1, | ||||
36 | LimitOutput => 1, | ||||
37 | CRC32 => $crc32, | ||||
38 | ADLER32 => $adler32, | ||||
39 | WindowBits => - MAX_WBITS ; | ||||
40 | } | ||||
41 | |||||
42 | return (undef, "Could not create Inflation object: $status", $status) | ||||
43 | if $status != Z_OK ; | ||||
44 | |||||
45 | return bless {'Inf' => $inflate, | ||||
46 | 'CompSize' => 0, | ||||
47 | 'UnCompSize' => 0, | ||||
48 | 'Error' => '', | ||||
49 | 'ConsumesInput' => 1, | ||||
50 | } ; | ||||
51 | |||||
52 | } | ||||
53 | |||||
54 | sub uncompr | ||||
55 | { | ||||
56 | my $self = shift ; | ||||
57 | my $from = shift ; | ||||
58 | my $to = shift ; | ||||
59 | my $eof = shift ; | ||||
60 | |||||
61 | my $inf = $self->{Inf}; | ||||
62 | |||||
63 | my $status = $inf->inflate($from, $to, $eof); | ||||
64 | $self->{ErrorNo} = $status; | ||||
65 | |||||
66 | if ($status != Z_OK && $status != Z_STREAM_END && $status != Z_BUF_ERROR) | ||||
67 | { | ||||
68 | $self->{Error} = "Inflation Error: $status"; | ||||
69 | return STATUS_ERROR; | ||||
70 | } | ||||
71 | |||||
72 | return STATUS_OK if $status == Z_BUF_ERROR ; # ??? | ||||
73 | return STATUS_OK if $status == Z_OK ; | ||||
74 | return STATUS_ENDSTREAM if $status == Z_STREAM_END ; | ||||
75 | return STATUS_ERROR ; | ||||
76 | } | ||||
77 | |||||
78 | sub reset | ||||
79 | { | ||||
80 | my $self = shift ; | ||||
81 | $self->{Inf}->inflateReset(); | ||||
82 | |||||
83 | return STATUS_OK ; | ||||
84 | } | ||||
85 | |||||
86 | #sub count | ||||
87 | #{ | ||||
88 | # my $self = shift ; | ||||
89 | # $self->{Inf}->inflateCount(); | ||||
90 | #} | ||||
91 | |||||
92 | sub crc32 | ||||
93 | { | ||||
94 | my $self = shift ; | ||||
95 | $self->{Inf}->crc32(); | ||||
96 | } | ||||
97 | |||||
98 | sub compressedBytes | ||||
99 | { | ||||
100 | my $self = shift ; | ||||
101 | $self->{Inf}->compressedBytes(); | ||||
102 | } | ||||
103 | |||||
104 | sub uncompressedBytes | ||||
105 | { | ||||
106 | my $self = shift ; | ||||
107 | $self->{Inf}->uncompressedBytes(); | ||||
108 | } | ||||
109 | |||||
110 | sub adler32 | ||||
111 | { | ||||
112 | my $self = shift ; | ||||
113 | $self->{Inf}->adler32(); | ||||
114 | } | ||||
115 | |||||
116 | sub sync | ||||
117 | { | ||||
118 | my $self = shift ; | ||||
119 | ( $self->{Inf}->inflateSync(@_) == Z_OK) | ||||
120 | ? STATUS_OK | ||||
121 | : STATUS_ERROR ; | ||||
122 | } | ||||
123 | |||||
124 | |||||
125 | sub getLastBlockOffset | ||||
126 | { | ||||
127 | my $self = shift ; | ||||
128 | $self->{Inf}->getLastBlockOffset(); | ||||
129 | } | ||||
130 | |||||
131 | sub getEndOffset | ||||
132 | { | ||||
133 | my $self = shift ; | ||||
134 | $self->{Inf}->getEndOffset(); | ||||
135 | } | ||||
136 | |||||
137 | sub resetLastBlockByte | ||||
138 | { | ||||
139 | my $self = shift ; | ||||
140 | $self->{Inf}->resetLastBlockByte(@_); | ||||
141 | } | ||||
142 | |||||
143 | sub createDeflateStream | ||||
144 | { | ||||
145 | my $self = shift ; | ||||
146 | my $deflate = $self->{Inf}->createDeflateStream(@_); | ||||
147 | return bless {'Def' => $deflate, | ||||
148 | 'CompSize' => 0, | ||||
149 | 'UnCompSize' => 0, | ||||
150 | 'Error' => '', | ||||
151 | }, 'IO::Compress::Adapter::Deflate'; | ||||
152 | } | ||||
153 | |||||
154 | 1 | 4µs | 1; | ||
155 | |||||
156 | |||||
157 | __END__ | ||||
158 |