Provide access to scratch in queues

This largely reverts commit f8ecf33236b0695d9539e8e34cf0bb0467614cdf.
This commit is contained in:
Alex Coyte 2016-05-31 14:46:09 +10:00 committed by Matthew Barr
parent cb7067f59d
commit a8aa2d022f
4 changed files with 9 additions and 0 deletions

View File

@ -91,6 +91,7 @@ struct mq {
* history buffer; (logically) immediately before the
* main buffer */
size_t hlength; /**< length of the history buffer */
struct hs_scratch *scratch; /**< global scratch space */
char report_current; /**<
* report_current matches at starting offset through
* callback. If true, the queue must be located at a

View File

@ -227,6 +227,11 @@ hs_error_t alloc_scratch(const hs_scratch_t *proto, hs_scratch_t **scratch) {
// Don't get too big for your boots
assert((size_t)(current - (char *)s) <= alloc_size);
// Init q->scratch ptr for every queue.
for (struct mq *qi = s->queues; qi != s->queues + queueCount; ++qi) {
qi->scratch = s;
}
return HS_SUCCESS;
}

View File

@ -122,6 +122,7 @@ protected:
q.length = 0; // filled in by test
q.history = nullptr;
q.hlength = 0;
q.scratch = nullptr; // not needed by LBR
q.report_current = 0;
q.cb = onMatch;
q.som_cb = nullptr; // only used by Haig

View File

@ -102,6 +102,7 @@ protected:
q.length = SCAN_DATA.size();
q.history = nullptr;
q.hlength = 0;
q.scratch = nullptr; /* limex does not use scratch */
q.report_current = 0;
q.cb = onMatch;
q.som_cb = nullptr; // only used by Haig
@ -396,6 +397,7 @@ protected:
q.length = ZOMBIE_SCAN_DATA.length();
q.history = nullptr;
q.hlength = 0;
q.scratch = nullptr; /* limex does not use scratch */
q.report_current = 0;
q.cb = onMatch;
q.som_cb = nullptr; // only used by Haig