MpmPatternIndex pindex = patterns[k] & 0x0FFFFFFF;
if (mpm_bitarray[pindex / 8] & (1 << (pindex % 8))) {
/* Pattern already seen by this MPM. */
- /* NOTE: This is faster then rechecking if it is a case-sensitive match
- * since we know this pattern has already been seen, but incrementing
- * matches here could over report matches. For example if the case-sensitive
- * pattern is "Foo" and the string is "Foo bar foo", matches would be reported
- * as 2, when it should really be 1, since "foo" is not a true match.
- */
- matches++;
continue;
}
const SCACTilePatternList *pat = &pattern_list[pindex];
static int SCACTileTest07(void)
{
- int result = 0;
MpmCtx mpm_ctx;
MpmThreadCtx mpm_thread_ctx;
PrefilterRuleStore pmq;
MpmAddPatternCS(&mpm_ctx, (uint8_t *)"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
30, 0, 0, 5, 0, 0);
PmqSetup(&pmq);
- /* total matches: 135 */
+ /* total matches: 135: 6 unique */
SCACTilePreparePatterns(&mpm_ctx);
const char *buf = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
uint32_t cnt = SCACTileSearch(&mpm_ctx, &mpm_thread_ctx, &pmq,
(uint8_t *)buf, strlen(buf));
-
- if (cnt == 135)
- result = 1;
- else
- printf("135 != %" PRIu32 " ",cnt);
+ FAIL_IF_NOT(cnt == 6);
SCACTileDestroyCtx(&mpm_ctx);
PmqFree(&pmq);
- return result;
+ PASS;
}
static int SCACTileTest08(void)