Commit eb8f0976 by Victor M. Alvarez

Rename warning_callback to warnings_callback for coherency with modules_callback.

parent 5c0aec3f
...@@ -267,9 +267,9 @@ RE_TESTS = [ ...@@ -267,9 +267,9 @@ RE_TESTS = [
] ]
def warning_callback(warning_type, message): def warnings_callback(warning_type, message):
global warning_callback_called global warnings_callback_called
warning_callback_called = warning_type warnings_callback_called = warning_type
class TestYara(unittest.TestCase): class TestYara(unittest.TestCase):
...@@ -1099,14 +1099,14 @@ class TestYara(unittest.TestCase): ...@@ -1099,14 +1099,14 @@ class TestYara(unittest.TestCase):
self.assertTrue(r.match(data=data)) self.assertTrue(r.match(data=data))
def testWarningCallback(self): def testWarningCallback(self):
global warning_callback_called global warnings_callback_called
warning_callback_called = False warnings_callback_called = False
r = yara.compile(source='rule x { strings: $x = "X" condition: $x }') r = yara.compile(source='rule x { strings: $x = "X" condition: $x }')
data = memoryview(b"X" * 1000099) data = memoryview(b"X" * 1000099)
r.match(data=data, warning_callback=warning_callback) r.match(data=data, warnings_callback=warnings_callback)
self.assertTrue(warning_callback_called, yara.CALLBACK_TOO_MANY_MATCHES) self.assertTrue(warnings_callback_called, yara.CALLBACK_TOO_MANY_MATCHES)
if __name__ == "__main__": if __name__ == "__main__":
unittest.main() unittest.main()
...@@ -416,7 +416,7 @@ typedef struct _CALLBACK_DATA ...@@ -416,7 +416,7 @@ typedef struct _CALLBACK_DATA
PyObject* callback; PyObject* callback;
PyObject* modules_data; PyObject* modules_data;
PyObject* modules_callback; PyObject* modules_callback;
PyObject* warning_callback; PyObject* warnings_callback;
int which; int which;
} CALLBACK_DATA; } CALLBACK_DATA;
...@@ -687,7 +687,7 @@ static int handle_too_many_matches( ...@@ -687,7 +687,7 @@ static int handle_too_many_matches(
int result = CALLBACK_CONTINUE; int result = CALLBACK_CONTINUE;
if (data->warning_callback == NULL) if (data->warnings_callback == NULL)
{ {
char message[200]; char message[200];
...@@ -703,7 +703,7 @@ static int handle_too_many_matches( ...@@ -703,7 +703,7 @@ static int handle_too_many_matches(
} }
else else
{ {
Py_INCREF(data->warning_callback); Py_INCREF(data->warnings_callback);
identifier = PyBytes_FromString(string->identifier); identifier = PyBytes_FromString(string->identifier);
...@@ -722,7 +722,7 @@ static int handle_too_many_matches( ...@@ -722,7 +722,7 @@ static int handle_too_many_matches(
} }
PyObject* callback_result = PyObject_CallFunctionObjArgs( PyObject* callback_result = PyObject_CallFunctionObjArgs(
data->warning_callback, data->warnings_callback,
warning_type, warning_type,
identifier, identifier,
NULL); NULL);
...@@ -750,7 +750,7 @@ _exit: ...@@ -750,7 +750,7 @@ _exit:
Py_XDECREF(identifier); Py_XDECREF(identifier);
Py_XDECREF(warning_type); Py_XDECREF(warning_type);
Py_XDECREF(data->warning_callback); Py_XDECREF(data->warnings_callback);
PyGILState_Release(gil_state); PyGILState_Release(gil_state);
...@@ -1493,7 +1493,7 @@ static PyObject* Rules_match( ...@@ -1493,7 +1493,7 @@ static PyObject* Rules_match(
static char* kwlist[] = { static char* kwlist[] = {
"filepath", "pid", "data", "externals", "filepath", "pid", "data", "externals",
"callback", "fast", "timeout", "modules_data", "callback", "fast", "timeout", "modules_data",
"modules_callback", "which_callbacks", "warning_callback", NULL "modules_callback", "which_callbacks", "warnings_callback", NULL
}; };
char* filepath = NULL; char* filepath = NULL;
...@@ -1515,7 +1515,7 @@ static PyObject* Rules_match( ...@@ -1515,7 +1515,7 @@ static PyObject* Rules_match(
callback_data.callback = NULL; callback_data.callback = NULL;
callback_data.modules_data = NULL; callback_data.modules_data = NULL;
callback_data.modules_callback = NULL; callback_data.modules_callback = NULL;
callback_data.warning_callback = NULL; callback_data.warnings_callback = NULL;
callback_data.which = CALLBACK_ALL; callback_data.which = CALLBACK_ALL;
if (PyArg_ParseTupleAndKeywords( if (PyArg_ParseTupleAndKeywords(
...@@ -1533,7 +1533,7 @@ static PyObject* Rules_match( ...@@ -1533,7 +1533,7 @@ static PyObject* Rules_match(
&callback_data.modules_data, &callback_data.modules_data,
&callback_data.modules_callback, &callback_data.modules_callback,
&callback_data.which, &callback_data.which,
&callback_data.warning_callback)) &callback_data.warnings_callback))
{ {
if (filepath == NULL && data.buf == NULL && pid == 0) if (filepath == NULL && data.buf == NULL && pid == 0)
{ {
...@@ -1564,14 +1564,14 @@ static PyObject* Rules_match( ...@@ -1564,14 +1564,14 @@ static PyObject* Rules_match(
} }
} }
if (callback_data.warning_callback != NULL) if (callback_data.warnings_callback != NULL)
{ {
if (!PyCallable_Check(callback_data.warning_callback)) if (!PyCallable_Check(callback_data.warnings_callback))
{ {
PyBuffer_Release(&data); PyBuffer_Release(&data);
return PyErr_Format( return PyErr_Format(
PyExc_TypeError, PyExc_TypeError,
"'warning_callback' must be callable"); "'warnings_callback' must be callable");
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment