Handbook
Glossary
interpret-flag ( flg start data -- )
Vocabulary
compression
.
inflate
.
private
Inputs
flg
an
object
start
an
object
data
an
object
Outputs
None
Definition
USING:
accessors
bitstreams
checksums
checksums.crc32
endian
kernel
math
sequences
;
IN:
compression.inflate.private
::
interpret-flag
( flg start data -- )
flg 224
bitand
zero?
[
bad-gzip-header
]
unless
48 data
seek
flg 4
bitand
zero?
[
16 data
read
8
*
data
seek
]
unless
flg 8
bitand
zero?
[
data
read-until-terminated
drop
]
unless
flg 16
bitand
zero?
[
data
read-until-terminated
drop
]
unless
flg 2
bitand
zero?
[
start data
byte-pos>>
data
bytes>>
subseq
crc32
checksum-bytes
be>
65535
bitand
16 data
read
assert=
]
unless
;