]> granicus.if.org Git - postgresql/commitdiff
Make our perfect hash functions be valid C++.
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 31 May 2019 14:40:00 +0000 (10:40 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 31 May 2019 14:40:00 +0000 (10:40 -0400)
While C is happy to cast "const void *" to "const unsigned char *"
silently, C++ insists on an explicit cast.  Since we put these
functions into header files, cpluspluscheck whines about that.
Add the cast to pacify it.

Discussion: https://postgr.es/m/b517ec3918d645eb950505eac8dd434e@gaz-is.ru

src/tools/PerfectHash.pm

index bd339e38a22db6975491652e3b638d50d12da301..54f5d4e9940434f250b1274acc580f06e71f4094 100644 (file)
@@ -131,7 +131,7 @@ sub generate_hash_function
        }
        $f .= sprintf "\n" if ($nhash % 8 != 0);
        $f .= sprintf "\t};\n\n";
-       $f .= sprintf "\tconst unsigned char *k = key;\n";
+       $f .= sprintf "\tconst unsigned char *k = (const unsigned char *) key;\n";
        $f .= sprintf "\tsize_t\t\tkeylen = %d;\n", $options{fixed_key_length}
          if (defined $options{fixed_key_length});
        $f .= sprintf "\tuint32\t\ta = %d;\n",   $hash_seed1;