Filename | /usr/lib/perl/5.10/IO/Uncompress/Adapter/Inflate.pm |
Statements | Executed 18 statements in 963µs |
Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
---|---|---|---|---|---|
1 | 1 | 1 | 28µs | 321µs | BEGIN@7 | IO::Uncompress::Adapter::Inflate::
1 | 1 | 1 | 22µs | 29µs | BEGIN@3 | IO::Uncompress::Adapter::Inflate::
1 | 1 | 1 | 18µs | 102µs | BEGIN@8 | IO::Uncompress::Adapter::Inflate::
1 | 1 | 1 | 13µs | 37µs | BEGIN@4 | IO::Uncompress::Adapter::Inflate::
1 | 1 | 1 | 11µs | 16µs | BEGIN@5 | 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 | 44µs | 2 | 37µs | # spent 29µs (22+8) within IO::Uncompress::Adapter::Inflate::BEGIN@3 which was called:
# once (22µs+8µs) by IO::Uncompress::RawInflate::BEGIN@12 at line 3 # spent 29µs making 1 call to IO::Uncompress::Adapter::Inflate::BEGIN@3
# spent 8µs making 1 call to strict::import |
4 | 3 | 30µs | 2 | 61µs | # spent 37µs (13+24) within IO::Uncompress::Adapter::Inflate::BEGIN@4 which was called:
# once (13µs+24µs) by IO::Uncompress::RawInflate::BEGIN@12 at line 4 # spent 37µs making 1 call to IO::Uncompress::Adapter::Inflate::BEGIN@4
# spent 24µs making 1 call to warnings::import |
5 | 3 | 52µs | 2 | 21µs | # spent 16µs (11+5) within IO::Uncompress::Adapter::Inflate::BEGIN@5 which was called:
# once (11µs+5µs) by IO::Uncompress::RawInflate::BEGIN@12 at line 5 # spent 16µs making 1 call to IO::Uncompress::Adapter::Inflate::BEGIN@5
# spent 5µs making 1 call to bytes::import |
6 | |||||
7 | 3 | 87µs | 3 | 614µs | # spent 321µs (28+293) within IO::Uncompress::Adapter::Inflate::BEGIN@7 which was called:
# once (28µs+293µs) by IO::Uncompress::RawInflate::BEGIN@12 at line 7 # spent 321µs making 1 call to IO::Uncompress::Adapter::Inflate::BEGIN@7
# spent 266µs making 1 call to Exporter::import
# spent 27µs making 1 call to UNIVERSAL::VERSION |
8 | 3 | 744µs | 3 | 187µs | # spent 102µs (18+84) within IO::Uncompress::Adapter::Inflate::BEGIN@8 which was called:
# once (18µs+84µs) by IO::Uncompress::RawInflate::BEGIN@12 at line 8 # spent 102µs making 1 call to IO::Uncompress::Adapter::Inflate::BEGIN@8
# spent 67µs making 1 call to Exporter::import
# spent 18µs making 1 call to UNIVERSAL::VERSION |
9 | |||||
10 | 1 | 400ns | our ($VERSION); | ||
11 | 1 | 2µs | $VERSION = '2.020'; | ||
12 | |||||
- - | |||||
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 | 5µs | 1; | ||
155 | |||||
156 | |||||
157 | __END__ |