X-Git-Url: http://git.ieval.ro/?a=blobdiff_plain;f=lib%2FIO%2FUncompress%2FBrotli.pm;h=1c6671b0cd3ed77dcd5d5353a3d224065a207ea9;hb=d3453dc594af6712ea060242a018331700337755;hp=f0c6c3eb2cc7e6d1e9389a981e2962fe8a402745;hpb=b0ba4271c960b73f1e21f7e8203c039dc4150ad5;p=io-compress-brotli.git diff --git a/lib/IO/Uncompress/Brotli.pm b/lib/IO/Uncompress/Brotli.pm index f0c6c3e..1c6671b 100644 --- a/lib/IO/Uncompress/Brotli.pm +++ b/lib/IO/Uncompress/Brotli.pm @@ -8,7 +8,7 @@ use parent qw/Exporter/; our @EXPORT = qw/unbro/; our @EXPORT_OK = @EXPORT; -our $VERSION = '0.002'; +our $VERSION = '0.004001'; require XSLoader; XSLoader::load('IO::Compress::Brotli', $VERSION); @@ -26,8 +26,8 @@ IO::Uncompress::Brotli - Read Brotli buffers/streams use IO::Uncompress::Brotli; - # uncompress a buffer - my $decoded = unbro $encoded; + # uncompress a buffer (yielding at most 10MB) + my $decoded = unbro $encoded, 10_000_000; # uncompress a stream my $bro = IO::Uncompress::Brotli->create; @@ -51,13 +51,12 @@ function. =over -=item B(I<$input>) +=item B(I<$input>, I<$maximum_decoded_size>) Takes a whole compressed buffer as input and returns the decompressed -data. This function relies on the BrotliDecompressedSize function. In -other words, it only works if the buffer has a single meta block or -two meta-blocks where the first is uncompressed and the second is -empty. +data. It allocates a buffer of size I<$maximum_decoded_size> to store +the decompressed data, if this is not sufficient (or there is another +error) this function will croak. Exported by default. @@ -84,8 +83,8 @@ uncompressed data. Dies on error. =head1 SEE ALSO -Brotli Compressed Data Format Internet-Draft: -L +RFC 7392 Brotli Compressed Data Format: +L Brotli source code: L @@ -106,9 +105,13 @@ clean up of the overall project were contributed by: =item Mattia Barbon, Emattia@barbon.orgE +=back + +POD fix by Mark Zabaro, Emarkzabaro@gmail.comE. + =head1 COPYRIGHT AND LICENSE -Copyright (C) 2015-2016 by Marius Gavrilescu +Copyright (C) 2015-2018 by Marius Gavrilescu This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.20.2 or,