check-crc ( bytes metadata key -- )


Vocabulary
yenc.private

Inputs
bytesan object
metadataan object
keyan object


Outputs
None

Definition


:: check-crc ( bytes metadata key -- )
key metadata at [
dup length 8 = over
[ "0123456789abcdefABCDEF" member? ] all? and
[ hex> ] [ "Invalid CRC32" invalid-yenc ] if
bytes crc32 checksum-bytes be> =
[ "CRC32 mismatch" invalid-yenc ] unless
] when* ;