Control: tags -1 patch

On Mon, 26 Mar 2018 22:34:45 +0300 Adrian Bunk <[email protected]> wrote:
> Source: openvdb
> Version: 5.0.0-1
> ...
> unittest/TestFile.cc:2555:54: error: invalid conversion from 'char**' to 
> 'const char**' [-fpermissive]
>          if (0 > blosc_compcode_to_compname(compcode, &compname)) continue;
>                                                       ^~~~~~~~~
> In file included from unittest/TestFile.cc:62:0:
> /usr/include/blosc.h:348:18: note:   initializing argument 2 of 'int 
> blosc_compcode_to_compname(int, const char**)'
>  BLOSC_EXPORT int blosc_compcode_to_compname(int compcode, const char 
> **compname);

Dear maintainer,

Apparently the API of c-blosc was changed a little.
https://github.com/Blosc/c-blosc/commit/910d93b#diff-ef50c2e1ff36cb90b51cbba3ebb3ad04L336

By adding a "const", building openvdb succeeds again. The patch is attached.


Regards,
Juhani
Description: blosc 1.14 requires const
 In blosc 1.14, the API for blosc_compcode_to_compname was changed so that
 one is not allowed to write to the string that compname points to.
 .
 https://github.com/Blosc/c-blosc/commit/910d93b#diff-ef50c2e1ff36cb90b51cbba3ebb3ad04L336
Author: Juhani Numminen <[email protected]>
Bug: <URL to the upstream bug report if any, implies patch has been forwarded, optional>
Bug-Debian: https://bugs.debian.org/894151
Last-Update: 2018-03-28

--- a/unittest/TestFile.cc
+++ b/unittest/TestFile.cc
@@ -2551,7 +2551,13 @@
         outdata(new char[decompbufbytes]);
 
     for (int compcode = 0; compcode <= BLOSC_ZLIB; ++compcode) {
+
+#if BLOSC_VERSION_MAJOR > 1 || (BLOSC_VERSION_MAJOR == 1 && BLOSC_VERSION_MINOR >= 14)
+        const char* compname = nullptr;
+#else
         char* compname = nullptr;
+#endif
+
         if (0 > blosc_compcode_to_compname(compcode, &compname)) continue;
         /// @todo This changes the compressor setting globally.
         if (blosc_set_compressor(compname) < 0) continue;

Reply via email to