From ea94b872c10d282002d37289d7479347bb370c51 Mon Sep 17 00:00:00 2001
From: Quim Rovira <quim@rovira.cat>
Date: Sat, 13 Aug 2016 13:29:06 +0200
Subject: [PATCH] Update use of deprecated brotli decoder APIs

This does not cover the use of BrotliDecompressedSize, and by looking at
the brotli code, it might even be a good idea to just use the streaming
interface right away.
---
 Brotli.xs                   | 22 +++++++++++-----------
 lib/IO/Uncompress/Brotli.pm |  6 +++---
 2 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/Brotli.xs b/Brotli.xs
index 8cb26c9..b7f33d6 100644
--- a/Brotli.xs
+++ b/Brotli.xs
@@ -27,32 +27,32 @@ SV* unbro(buffer)
     }
     Newx(decoded_buffer, decoded_size+1, uint8_t);
     decoded_buffer[decoded_size]=0;
-    if(!BrotliDecompressBuffer(encoded_size, encoded_buffer, &decoded_size, decoded_buffer)){
-        croak("Error in BrotliDecompressBuffer");
+    if(!BrotliDecoderDecompress(encoded_size, encoded_buffer, &decoded_size, decoded_buffer)){
+        croak("Error in BrotliDecoderDecompress");
     }
     RETVAL = newSV(0);
     sv_usepvn_flags(RETVAL, decoded_buffer, decoded_size, SV_HAS_TRAILING_NUL);
   OUTPUT:
     RETVAL
 
-SV* BrotliCreateState()
+SV* BrotliDecoderCreateInstance()
   CODE:
-    RETVAL = newSViv((IV)BrotliCreateState(NULL, NULL, NULL));
+    RETVAL = newSViv((IV)BrotliDecoderCreateInstance(NULL, NULL, NULL));
   OUTPUT:
     RETVAL
 
-void BrotliDestroyState(state)
+void BrotliDecoderDestroyInstance(state)
     SV* state
   CODE:
-    BrotliDestroyState((BrotliState*)SvIV(state));
+    BrotliDecoderDestroyInstance((BrotliDecoderState*)SvIV(state));
 
-SV* BrotliDecompressStream(state, in)
+SV* BrotliDecoderDecompressStream(state, in)
     SV* state
     SV* in
   PREINIT:
     uint8_t *next_in, *next_out;
     size_t available_in, available_out, total_out;
-    BrotliResult result;
+    BrotliDecoderResult result;
   CODE:
     next_in = (uint8_t*) SvPV(in, available_in);
     RETVAL = newSVpv("", 0);
@@ -60,9 +60,9 @@ SV* BrotliDecompressStream(state, in)
     while(result == BROTLI_RESULT_NEEDS_MORE_OUTPUT) {
         next_out = buffer;
         available_out=BUFFER_SIZE;
-        result = BrotliDecompressStream(&available_in, (const uint8_t**) &next_in, &available_out, &next_out, &total_out, (BrotliState*) SvIV(state));
+        result = BrotliDecoderDecompressStream((BrotliDecoderState*) SvIV(state), &available_in, (const uint8_t**) &next_in, &available_out, &next_out, &total_out);
         if(!result){
-             croak("Error in BrotliDecompressStream");
+             croak("Error in BrotliDecoderDecompressStream");
         }
         sv_catpvn(RETVAL, (const char*)buffer, BUFFER_SIZE-available_out);
     }
@@ -77,4 +77,4 @@ void BrotliSetCustomDictionary(state, dict)
     uint8_t *data;
   CODE:
     data = SvPV(dict, size);
-    BrotliSetCustomDictionary(size, data, (BrotliState*) SvIV(state));
+    BrotliDecoderSetCustomDictionary((BrotliDecoderState*) SvIV(state), size, data);
diff --git a/lib/IO/Uncompress/Brotli.pm b/lib/IO/Uncompress/Brotli.pm
index 77e8b69..2f37d8f 100644
--- a/lib/IO/Uncompress/Brotli.pm
+++ b/lib/IO/Uncompress/Brotli.pm
@@ -15,18 +15,18 @@ XSLoader::load('IO::Compress::Brotli', $VERSION);
 
 sub create {
 	my ($class) = @_;
-	my $state = BrotliCreateState();
+	my $state = BrotliDecoderCreateInstance();
 	bless \$state, $class
 }
 
 sub DESTROY {
 	my ($self) = @_;
-	BrotliDestroyState($$self)
+	BrotliDecoderDestroyInstance($$self)
 }
 
 sub decompress {
 	my ($self, $data) = @_;
-	BrotliDecompressStream($$self, $data)
+	BrotliDecoderDecompressStream($$self, $data)
 }
 
 # Untested, probably not working
-- 
2.39.5