* 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
// 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;
}
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
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
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