From e8c0b5685fe0e44363b0ebbf9ca6856c72b78d08 Mon Sep 17 00:00:00 2001 From: Justin Viiret Date: Mon, 22 May 2017 13:59:16 +1000 Subject: [PATCH] fdr_confirm: remove complex confirm --- src/fdr/fdr_confirm.h | 4 +--- src/fdr/fdr_confirm_compile.cpp | 6 +----- src/fdr/fdr_confirm_runtime.h | 11 ----------- 3 files changed, 2 insertions(+), 19 deletions(-) diff --git a/src/fdr/fdr_confirm.h b/src/fdr/fdr_confirm.h index 6ce85afd..7f73ea13 100644 --- a/src/fdr/fdr_confirm.h +++ b/src/fdr/fdr_confirm.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015-2016, Intel Corporation + * Copyright (c) 2015-2017, Intel Corporation * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: @@ -46,7 +46,6 @@ typedef enum LitInfoFlags { NoFlags = 0, Caseless = 1, NoRepeat = 2, - ComplexConfirm = 4 } LitInfoFlags; /** @@ -63,7 +62,6 @@ struct LitInfo { u8 size; u8 flags; /* LitInfoFlags */ u8 next; - u8 extended_size; }; #define FDRC_FLAG_NO_CONFIRM 1 diff --git a/src/fdr/fdr_confirm_compile.cpp b/src/fdr/fdr_confirm_compile.cpp index b14ffb42..3594ed4a 100644 --- a/src/fdr/fdr_confirm_compile.cpp +++ b/src/fdr/fdr_confirm_compile.cpp @@ -99,12 +99,8 @@ void fillLitInfo(const vector &lits, vector &tmpLitInfo, if (lit.noruns) { flags |= NoRepeat; } - if (lit.msk.size() > lit.s.size()) { - flags |= ComplexConfirm; - info.extended_size = verify_u8(lit.msk.size()); - } info.flags = flags; - info.size = verify_u8(lit.s.size()); + info.size = verify_u8(max(lit.msk.size(), lit.s.size())); info.groups = lit.groups; // these are built up assuming a LE machine diff --git a/src/fdr/fdr_confirm_runtime.h b/src/fdr/fdr_confirm_runtime.h index a0603c92..ace54543 100644 --- a/src/fdr/fdr_confirm_runtime.h +++ b/src/fdr/fdr_confirm_runtime.h @@ -86,17 +86,6 @@ void confWithBit(const struct FDRConfirm *fdrc, const struct FDR_Runtime_Args *a goto out; } - if (unlikely(li->flags & ComplexConfirm)) { - const u8 *loc2 = buf + i - li->extended_size + 1; - if (loc2 < buf) { - u32 full_overhang = buf - loc2; - size_t len_history = a->len_history; - if (full_overhang > len_history) { - goto out; - } - } - } - *last_match = li->id; *control = a->cb(loc - buf, i, li->id, a->ctxt); out: