unbro should not require maximum buffer size (RT #129480)
[io-compress-brotli.git] / lib / IO / Uncompress / Brotli.pm
index 1c6671b0cd3ed77dcd5d5353a3d224065a207ea9..0cc22e2643e49fed2148760c3885b9484af8df6b 100644 (file)
@@ -13,6 +13,21 @@ our $VERSION = '0.004001';
 require XSLoader;
 XSLoader::load('IO::Compress::Brotli', $VERSION);
 
 require XSLoader;
 XSLoader::load('IO::Compress::Brotli', $VERSION);
 
+# 0.004 has unbro with prototype $$
+# 0.004_001 renames it to unbro_given_size, and provides unbro with
+#           prototype $;$ which calls:
+#           * unbro_given_size when called with two arguments
+#           * the OO interface when called with one argument
+sub unbro ($;$) {
+       my ($buffer, $decoded_size) = @_;
+       if (defined $decoded_size) {
+               return unbro_given_size($buffer, $decoded_size)
+       } else {
+               my $bro = IO::Uncompress::Brotli->create;
+               return $bro->decompress($buffer);
+       }
+}
+
 1;
 __END__
 
 1;
 __END__
 
@@ -58,6 +73,11 @@ 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.
 
 the decompressed data, if this is not sufficient (or there is another
 error) this function will croak.
 
+As of version 0.004_001, the I<$maximum_decoded_size> argument is
+optional. If not provided, B<unbro> uses the streaming interface
+described in the next section to decompress the buffer in blocks of
+one megabyte. The decompressed blocks are concatenated and returned.
+
 Exported by default.
 
 =back
 Exported by default.
 
 =back
This page took 0.009696 seconds and 4 git commands to generate.