From 56ad566af1e595dacfcc5a213d906e8070bb263c Mon Sep 17 00:00:00 2001 From: Jakub Hrozek Date: Thu, 16 Aug 2012 04:56:47 -0400 Subject: Fix compilation error in Python murmurhash bindings The compilation produced an error due to missing declaration of uint32_t and a couple of warnings caused by different prototypes of argument parsing functions in older Python releases. --- src/python/pysss_murmur.c | 12 ++++++++---- src/util/murmurhash3.h | 2 ++ 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/python/pysss_murmur.c b/src/python/pysss_murmur.c index 1e89681c8..a193c56da 100644 --- a/src/python/pysss_murmur.c +++ b/src/python/pysss_murmur.c @@ -19,6 +19,7 @@ */ #include +#include "util/sss_python.h" #include "util/murmurhash3.h" @@ -36,7 +37,8 @@ static PyObject * py_murmurhash3(PyObject *module, PyObject *args) long long seed; uint32_t hash; - if (!PyArg_ParseTuple(args, "slL", &key, &key_len, &seed)) { + if (!PyArg_ParseTuple(args, sss_py_const_p(char, "slL"), + &key, &key_len, &seed)) { PyErr_Format(PyExc_ValueError, "Invalid argument\n"); return NULL; } @@ -53,13 +55,15 @@ static PyObject * py_murmurhash3(PyObject *module, PyObject *args) } static PyMethodDef methods[] = { - {"murmurhash3", (PyCFunction) py_murmurhash3, METH_VARARGS, murmurhash3_doc}, - {NULL,NULL, 0, NULL} + { sss_py_const_p(char, "murmurhash3"), (PyCFunction) py_murmurhash3, + METH_VARARGS, murmurhash3_doc }, + { NULL,NULL, 0, NULL } }; PyMODINIT_FUNC initpysss_murmur(void) { - Py_InitModule3("pysss_murmur", methods, "murmur hash functions"); + Py_InitModule3(sss_py_const_p(char, "pysss_murmur"), + methods, sss_py_const_p(char, "murmur hash functions")); } diff --git a/src/util/murmurhash3.h b/src/util/murmurhash3.h index 9174554b9..db7d8a48c 100644 --- a/src/util/murmurhash3.h +++ b/src/util/murmurhash3.h @@ -6,5 +6,7 @@ * clients can be both 64 or 32 bit at the same time. */ +#include + uint32_t murmurhash3(const char *key, int len, uint32_t seed); -- cgit