From: Victor Julien Date: Wed, 20 Dec 2023 13:38:01 +0000 (+0100) Subject: spm/bm: minor code cleanups; constification X-Git-Tag: suricata-8.0.0-beta1~1871 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0172c01dc2e94f1df9ada3a4e34af93fce6120a9;p=thirdparty%2Fsuricata.git spm/bm: minor code cleanups; constification --- diff --git a/src/util-spm-bm.c b/src/util-spm-bm.c index 449c6b6296..27583ef893 100644 --- a/src/util-spm-bm.c +++ b/src/util-spm-bm.c @@ -297,36 +297,23 @@ static void PreBmGsNocase(const uint8_t *x, uint16_t m, uint16_t *bmGs) * * \retval ptr to start of the match; NULL if no match */ -uint8_t *BoyerMoore(const uint8_t *x, uint16_t m, const uint8_t *y, uint32_t n, BmCtx *bm_ctx) +uint8_t *BoyerMoore( + const uint8_t *x, const uint16_t m, const uint8_t *y, const uint32_t n, const BmCtx *bm_ctx) { - uint16_t *bmGs = bm_ctx->bmGs; - uint16_t *bmBc = bm_ctx->bmBc; + const uint16_t *bmGs = bm_ctx->bmGs; + const uint16_t *bmBc = bm_ctx->bmBc; int i, j, m1, m2; - int32_t int_n; -#if 0 - printf("\nBad:\n"); - for (i=0;i INT32_MAX) ? INT32_MAX : n; + const int32_t int_n = unlikely(n > INT32_MAX) ? INT32_MAX : n; j = 0; while (j <= int_n - m ) { for (i = m - 1; i >= 0 && x[i] == y[i + j]; --i); if (i < 0) { return (uint8_t *)(y + j); - //j += bmGs[0]; } else { -// printf("%c", y[i+j]); - j += (m1 = bmGs[i]) > (m2 = bmBc[y[i + j]] - m + 1 + i)? m1: m2; -// printf("%d, %d\n", m1, m2); + j += (m1 = bmGs[i]) > (m2 = bmBc[y[i + j]] - m + 1 + i) ? m1 : m2; } } return NULL; @@ -348,24 +335,14 @@ uint8_t *BoyerMoore(const uint8_t *x, uint16_t m, const uint8_t *y, uint32_t n, * * \retval ptr to start of the match; NULL if no match */ -uint8_t *BoyerMooreNocase(const uint8_t *x, uint16_t m, const uint8_t *y, uint32_t n, BmCtx *bm_ctx) +uint8_t *BoyerMooreNocase( + const uint8_t *x, const uint16_t m, const uint8_t *y, const uint32_t n, const BmCtx *bm_ctx) { - uint16_t *bmGs = bm_ctx->bmGs; - uint16_t *bmBc = bm_ctx->bmBc; + const uint16_t *bmGs = bm_ctx->bmGs; + const uint16_t *bmBc = bm_ctx->bmBc; int i, j, m1, m2; - int32_t int_n; -#if 0 - printf("\nBad:\n"); - for (i=0;i INT32_MAX) ? INT32_MAX : n; + const int32_t int_n = unlikely(n > INT32_MAX) ? INT32_MAX : n; j = 0; while (j <= int_n - m ) { /* x is stored in lowercase. */ @@ -374,8 +351,7 @@ uint8_t *BoyerMooreNocase(const uint8_t *x, uint16_t m, const uint8_t *y, uint32 if (i < 0) { return (uint8_t *)(y + j); } else { - j += (m1 = bmGs[i]) > (m2 = bmBc[y[i + j]] - m + 1 + i)? - m1: m2; + j += (m1 = bmGs[i]) > (m2 = bmBc[y[i + j]] - m + 1 + i) ? m1 : m2; } } return NULL; diff --git a/src/util-spm-bm.h b/src/util-spm-bm.h index 3c5e59ce03..6c0afbc3d7 100644 --- a/src/util-spm-bm.h +++ b/src/util-spm-bm.h @@ -41,8 +41,10 @@ BmCtx *BoyerMooreCtxInit(const uint8_t *needle, uint16_t needle_len); BmCtx *BoyerMooreNocaseCtxInit(uint8_t *needle, uint16_t needle_len); void BoyerMooreCtxToNocase(BmCtx *, uint8_t *, uint16_t); -uint8_t *BoyerMoore(const uint8_t *x, uint16_t m, const uint8_t *y, uint32_t n, BmCtx *bm_ctx); -uint8_t *BoyerMooreNocase(const uint8_t *x, uint16_t m, const uint8_t *y, uint32_t n, BmCtx *bm_ctx); +uint8_t *BoyerMoore(const uint8_t *x, const uint16_t m, const uint8_t *y, const uint32_t n, + const BmCtx *bm_ctx); +uint8_t *BoyerMooreNocase(const uint8_t *x, const uint16_t m, const uint8_t *y, const uint32_t n, + const BmCtx *bm_ctx); void BoyerMooreCtxDeInit(BmCtx *); void SpmBMRegister(void);