Remove inline's from spm to satisfy gnu99

remotes/origin/master-1.0.x
Victor Julien 16 years ago
parent be5b547803
commit 53656f0d5d

@ -57,7 +57,7 @@ BmCtx *BoyerMooreCtxInit(uint8_t *needle, uint32_t needle_len) {
* \param size length of the string * \param size length of the string
* \param result pointer to an empty array that will hold the badchars * \param result pointer to an empty array that will hold the badchars
*/ */
inline void PreBmBc(const uint8_t *x, int32_t m, int32_t *bmBc) { void PreBmBc(const uint8_t *x, int32_t m, int32_t *bmBc) {
int32_t i; int32_t i;
for (i = 0; i < 256; ++i) { for (i = 0; i < 256; ++i) {
@ -75,7 +75,7 @@ inline void PreBmBc(const uint8_t *x, int32_t m, int32_t *bmBc) {
* \param m length of the string * \param m length of the string
* \param suff pointer to an empty array that will hold the prefixes (shifts) * \param suff pointer to an empty array that will hold the prefixes (shifts)
*/ */
inline void BoyerMooreSuffixes(const uint8_t *x, int32_t m, int32_t *suff) { void BoyerMooreSuffixes(const uint8_t *x, int32_t m, int32_t *suff) {
int32_t f = 0, g, i; int32_t f = 0, g, i;
suff[m - 1] = m; suff[m - 1] = m;
g = m - 1; g = m - 1;
@ -100,7 +100,7 @@ inline void BoyerMooreSuffixes(const uint8_t *x, int32_t m, int32_t *suff) {
* \param m length of the string * \param m length of the string
* \param bmGs pointer to an empty array that will hold the prefixes (shifts) * \param bmGs pointer to an empty array that will hold the prefixes (shifts)
*/ */
inline void PreBmGs(const uint8_t *x, int32_t m, int32_t *bmGs) { void PreBmGs(const uint8_t *x, int32_t m, int32_t *bmGs) {
int32_t i, j; int32_t i, j;
int32_t *suff; int32_t *suff;
@ -132,7 +132,7 @@ inline void PreBmGs(const uint8_t *x, int32_t m, int32_t *bmGs) {
* \param size length of the string * \param size length of the string
* \param result pointer to an empty array that will hold the badchars * \param result pointer to an empty array that will hold the badchars
*/ */
inline void PreBmBcNocase(const uint8_t *x, int32_t m, int32_t *bmBc) { void PreBmBcNocase(const uint8_t *x, int32_t m, int32_t *bmBc) {
int32_t i; int32_t i;
for (i = 0; i < 256; ++i) { for (i = 0; i < 256; ++i) {
@ -143,7 +143,7 @@ inline void PreBmBcNocase(const uint8_t *x, int32_t m, int32_t *bmBc) {
} }
} }
inline void BoyerMooreSuffixesNocase(const uint8_t *x, int32_t m, int32_t *suff) { void BoyerMooreSuffixesNocase(const uint8_t *x, int32_t m, int32_t *suff) {
int32_t f = 0, g, i; int32_t f = 0, g, i;
suff[m - 1] = m; suff[m - 1] = m;
@ -172,7 +172,7 @@ inline void BoyerMooreSuffixesNocase(const uint8_t *x, int32_t m, int32_t *suff)
* \param m length of the string * \param m length of the string
* \param bmGs pointer to an empty array that will hold the prefixes (shifts) * \param bmGs pointer to an empty array that will hold the prefixes (shifts)
*/ */
inline void PreBmGsNocase(const uint8_t *x, int32_t m, int32_t *bmGs) { void PreBmGsNocase(const uint8_t *x, int32_t m, int32_t *bmGs) {
int32_t i, j; int32_t i, j;
int32_t* suff; int32_t* suff;
@ -215,7 +215,7 @@ inline void PreBmGsNocase(const uint8_t *x, int32_t m, int32_t *bmGs) {
* *
* \retval ptr to start of the match; NULL if no match * \retval ptr to start of the match; NULL if no match
*/ */
inline uint8_t *BoyerMoore(uint8_t *x, int32_t m, uint8_t *y, int32_t n, int32_t *bmGs, int32_t *bmBc) { uint8_t *BoyerMoore(uint8_t *x, int32_t m, uint8_t *y, int32_t n, int32_t *bmGs, int32_t *bmBc) {
int i, j, m1, m2; int i, j, m1, m2;
#if 0 #if 0
printf("\nBad:\n"); printf("\nBad:\n");
@ -259,7 +259,7 @@ inline uint8_t *BoyerMoore(uint8_t *x, int32_t m, uint8_t *y, int32_t n, int32_t
* *
* \retval ptr to start of the match; NULL if no match * \retval ptr to start of the match; NULL if no match
*/ */
inline uint8_t *BoyerMooreNocase(uint8_t *x, int32_t m, uint8_t *y, int32_t n, int32_t *bmGs, int32_t *bmBc) { uint8_t *BoyerMooreNocase(uint8_t *x, int32_t m, uint8_t *y, int32_t n, int32_t *bmGs, int32_t *bmBc) {
int i, j, m1, m2; int i, j, m1, m2;
#if 0 #if 0
printf("\nBad:\n"); printf("\nBad:\n");

@ -15,14 +15,14 @@ typedef struct BmCtx_ {
/** Prepare and return a Boyer Moore context */ /** Prepare and return a Boyer Moore context */
BmCtx *BoyerMooreCtxInit(uint8_t *needle, uint32_t needle_len); BmCtx *BoyerMooreCtxInit(uint8_t *needle, uint32_t needle_len);
inline void PreBmBc(const uint8_t *x, int32_t m, int32_t *bmBc); void PreBmBc(const uint8_t *x, int32_t m, int32_t *bmBc);
inline void BoyerMooreSuffixes(const uint8_t *x, int32_t m, int32_t *suff); void BoyerMooreSuffixes(const uint8_t *x, int32_t m, int32_t *suff);
inline void PreBmGs(const uint8_t *x, int32_t m, int32_t *bmGs); void PreBmGs(const uint8_t *x, int32_t m, int32_t *bmGs);
inline uint8_t *BoyerMoore(uint8_t *x, int32_t m, uint8_t *y, int32_t n, int32_t *bmGs, int32_t *bmBc); uint8_t *BoyerMoore(uint8_t *x, int32_t m, uint8_t *y, int32_t n, int32_t *bmGs, int32_t *bmBc);
inline void PreBmBcNocase(const uint8_t *x, int32_t m, int32_t *bmBc); void PreBmBcNocase(const uint8_t *x, int32_t m, int32_t *bmBc);
inline void BoyerMooreSuffixesNocase(const uint8_t *x, int32_t m, int32_t *suff); void BoyerMooreSuffixesNocase(const uint8_t *x, int32_t m, int32_t *suff);
inline void PreBmGsNocase(const uint8_t *x, int32_t m, int32_t *bmGs); void PreBmGsNocase(const uint8_t *x, int32_t m, int32_t *bmGs);
inline uint8_t *BoyerMooreNocase(uint8_t *x, int32_t m, uint8_t *y, int32_t n, int32_t *bmGs, int32_t *bmBc); uint8_t *BoyerMooreNocase(uint8_t *x, int32_t m, uint8_t *y, int32_t n, int32_t *bmGs, int32_t *bmBc);
#endif /* __UTIL_SPM_BM__ */ #endif /* __UTIL_SPM_BM__ */

@ -28,7 +28,7 @@
* *
* \retval ptr to start of the match; NULL if no match * \retval ptr to start of the match; NULL if no match
*/ */
inline uint8_t *BasicSearch(const uint8_t *haystack, uint32_t haystack_len, const uint8_t *needle, uint32_t needle_len) { uint8_t *BasicSearch(const uint8_t *haystack, uint32_t haystack_len, const uint8_t *needle, uint32_t needle_len) {
SCEnter(); SCEnter();
const uint8_t *h, *n; const uint8_t *h, *n;
@ -81,7 +81,7 @@ inline uint8_t *BasicSearch(const uint8_t *haystack, uint32_t haystack_len, cons
* *
* \retval ptr to start of the match; NULL if no match * \retval ptr to start of the match; NULL if no match
*/ */
inline uint8_t *BasicSearchNocase(const uint8_t *haystack, uint32_t haystack_len, const uint8_t *needle, uint32_t needle_len) { uint8_t *BasicSearchNocase(const uint8_t *haystack, uint32_t haystack_len, const uint8_t *needle, uint32_t needle_len) {
const uint8_t *h, *n; const uint8_t *h, *n;
const uint8_t *hmax = haystack + haystack_len; const uint8_t *hmax = haystack + haystack_len;
const uint8_t *nmax = needle + needle_len; const uint8_t *nmax = needle + needle_len;
@ -114,7 +114,7 @@ inline uint8_t *BasicSearchNocase(const uint8_t *haystack, uint32_t haystack_len
return NULL; return NULL;
} }
inline void BasicSearchInit (void) { void BasicSearchInit (void) {
/* nothing no more */ /* nothing no more */
} }

@ -4,9 +4,9 @@
#include "suricata-common.h" #include "suricata-common.h"
#include "suricata.h" #include "suricata.h"
inline uint8_t *BasicSearch(const uint8_t *, uint32_t, const uint8_t *, uint32_t); uint8_t *BasicSearch(const uint8_t *, uint32_t, const uint8_t *, uint32_t);
inline uint8_t *BasicSearchNocase(const uint8_t *, uint32_t, const uint8_t *, uint32_t); uint8_t *BasicSearchNocase(const uint8_t *, uint32_t, const uint8_t *, uint32_t);
inline void BasicSearchInit (void); void BasicSearchInit (void);
#endif /* __UTIL_SPM_BS__ */ #endif /* __UTIL_SPM_BS__ */

@ -25,7 +25,7 @@
* characters that can't be inside the needle_len. So the skips can be * characters that can't be inside the needle_len. So the skips can be
* faster * faster
*/ */
inline void Bs2BmBadchars(const uint8_t *needle, uint32_t needle_len, uint8_t *badchars) { void Bs2BmBadchars(const uint8_t *needle, uint32_t needle_len, uint8_t *badchars) {
uint32_t i; uint32_t i;
for (i = 0; i < ALPHABET_SIZE; i++) for (i = 0; i < ALPHABET_SIZE; i++)
badchars[i] = 1; badchars[i] = 1;
@ -46,7 +46,7 @@ inline void Bs2BmBadchars(const uint8_t *needle, uint32_t needle_len, uint8_t *b
* characters that can't be inside the needle_len. So the skips can be * characters that can't be inside the needle_len. So the skips can be
* faster * faster
*/ */
inline void Bs2BmBadcharsNocase(const uint8_t *needle, uint32_t needle_len, uint8_t *badchars) { void Bs2BmBadcharsNocase(const uint8_t *needle, uint32_t needle_len, uint8_t *badchars) {
uint32_t i; uint32_t i;
for (i = 0; i < ALPHABET_SIZE; i++) for (i = 0; i < ALPHABET_SIZE; i++)
badchars[i] = 1; badchars[i] = 1;
@ -73,7 +73,7 @@ inline void Bs2BmBadcharsNocase(const uint8_t *needle, uint32_t needle_len, uint
* *
* \retval ptr to start of the match; NULL if no match * \retval ptr to start of the match; NULL if no match
*/ */
inline uint8_t * Bs2Bm(const uint8_t *haystack, uint32_t haystack_len, const uint8_t *needle, uint32_t needle_len, uint8_t badchars[]) uint8_t * Bs2Bm(const uint8_t *haystack, uint32_t haystack_len, const uint8_t *needle, uint32_t needle_len, uint8_t badchars[])
{ {
const uint8_t *h, *n; const uint8_t *h, *n;
const uint8_t *hmax = haystack + haystack_len; const uint8_t *hmax = haystack + haystack_len;
@ -122,7 +122,7 @@ inline uint8_t * Bs2Bm(const uint8_t *haystack, uint32_t haystack_len, const uin
* *
* \retval ptr to start of the match; NULL if no match * \retval ptr to start of the match; NULL if no match
*/ */
inline uint8_t *Bs2BmNocase(const uint8_t *haystack, uint32_t haystack_len, const uint8_t *needle, uint32_t needle_len, uint8_t badchars[]) uint8_t *Bs2BmNocase(const uint8_t *haystack, uint32_t haystack_len, const uint8_t *needle, uint32_t needle_len, uint8_t badchars[])
{ {
const uint8_t *h, *n; const uint8_t *h, *n;
const uint8_t *hmax = haystack + haystack_len; const uint8_t *hmax = haystack + haystack_len;

@ -6,10 +6,10 @@
#define ALPHABET_SIZE 256 #define ALPHABET_SIZE 256
inline void Bs2BmBadchars(const uint8_t *, uint32_t, uint8_t *); void Bs2BmBadchars(const uint8_t *, uint32_t, uint8_t *);
inline void Bs2BmBadcharsNocase(const uint8_t *, uint32_t, uint8_t *); void Bs2BmBadcharsNocase(const uint8_t *, uint32_t, uint8_t *);
inline uint8_t * Bs2Bm(const uint8_t *, uint32_t, const uint8_t *, uint32_t, uint8_t []); uint8_t * Bs2Bm(const uint8_t *, uint32_t, const uint8_t *, uint32_t, uint8_t []);
inline uint8_t *Bs2BmNocase(const uint8_t *, uint32_t, const uint8_t *, uint32_t, uint8_t []); uint8_t *Bs2BmNocase(const uint8_t *, uint32_t, const uint8_t *, uint32_t, uint8_t []);
#endif /* __UTIL_SPM_BS2BM__ */ #endif /* __UTIL_SPM_BS2BM__ */

@ -55,7 +55,7 @@
* \param needle pattern to search for * \param needle pattern to search for
* \param needlelen length of the pattern * \param needlelen length of the pattern
*/ */
inline uint8_t *Bs2bmSearch(uint8_t *text, uint32_t textlen, uint8_t *needle, uint32_t needlelen) { uint8_t *Bs2bmSearch(uint8_t *text, uint32_t textlen, uint8_t *needle, uint32_t needlelen) {
uint8_t badchars[ALPHABET_SIZE]; uint8_t badchars[ALPHABET_SIZE];
Bs2BmBadchars(needle, needlelen, badchars); Bs2BmBadchars(needle, needlelen, badchars);
@ -70,7 +70,7 @@ inline uint8_t *Bs2bmSearch(uint8_t *text, uint32_t textlen, uint8_t *needle, ui
* \param needle pattern to search for * \param needle pattern to search for
* \param needlelen length of the pattern * \param needlelen length of the pattern
*/ */
inline uint8_t *Bs2bmNocaseSearch(uint8_t *text, uint32_t textlen, uint8_t *needle, uint32_t needlelen) { uint8_t *Bs2bmNocaseSearch(uint8_t *text, uint32_t textlen, uint8_t *needle, uint32_t needlelen) {
uint8_t badchars[ALPHABET_SIZE]; uint8_t badchars[ALPHABET_SIZE];
Bs2BmBadchars(needle, needlelen, badchars); Bs2BmBadchars(needle, needlelen, badchars);
@ -86,7 +86,7 @@ inline uint8_t *Bs2bmNocaseSearch(uint8_t *text, uint32_t textlen, uint8_t *need
* \param needle pattern to search for * \param needle pattern to search for
* \param needlelen length of the pattern * \param needlelen length of the pattern
*/ */
inline uint8_t *BoyerMooreSearch(uint8_t *text, uint32_t textlen, uint8_t *needle, uint32_t needlelen) { uint8_t *BoyerMooreSearch(uint8_t *text, uint32_t textlen, uint8_t *needle, uint32_t needlelen) {
int32_t bmBc[ALPHABET_SIZE]; int32_t bmBc[ALPHABET_SIZE];
int32_t *bmGs = SCMalloc(sizeof(int32_t)*(needlelen + 1)); int32_t *bmGs = SCMalloc(sizeof(int32_t)*(needlelen + 1));
@ -108,7 +108,7 @@ inline uint8_t *BoyerMooreSearch(uint8_t *text, uint32_t textlen, uint8_t *needl
* \param needle pattern to search for * \param needle pattern to search for
* \param needlelen length of the pattern * \param needlelen length of the pattern
*/ */
inline uint8_t *BoyerMooreNocaseSearch(uint8_t *text, uint32_t textlen, uint8_t *needle, uint32_t needlelen) { uint8_t *BoyerMooreNocaseSearch(uint8_t *text, uint32_t textlen, uint8_t *needle, uint32_t needlelen) {
int32_t bmBc[ALPHABET_SIZE]; int32_t bmBc[ALPHABET_SIZE];
int32_t *bmGs = SCMalloc(sizeof(int32_t)*(needlelen + 1)); int32_t *bmGs = SCMalloc(sizeof(int32_t)*(needlelen + 1));
@ -138,7 +138,7 @@ inline uint8_t *BoyerMooreNocaseSearch(uint8_t *text, uint32_t textlen, uint8_t
* \param times If you are testing performance, se the numebr of times * \param times If you are testing performance, se the numebr of times
* that you want to repeat the search * that you want to repeat the search
*/ */
inline uint8_t *BasicSearchWrapper(uint8_t *text, uint8_t *needle, int times) { uint8_t *BasicSearchWrapper(uint8_t *text, uint8_t *needle, int times) {
uint32_t textlen = strlen((char *)text); uint32_t textlen = strlen((char *)text);
uint32_t needlelen = strlen((char *)needle); uint32_t needlelen = strlen((char *)needle);
@ -157,7 +157,7 @@ inline uint8_t *BasicSearchWrapper(uint8_t *text, uint8_t *needle, int times) {
return ret; return ret;
} }
inline uint8_t *BasicSearchNocaseWrapper(uint8_t *text, uint8_t *needle, int times) { uint8_t *BasicSearchNocaseWrapper(uint8_t *text, uint8_t *needle, int times) {
uint32_t textlen = strlen((char *)text); uint32_t textlen = strlen((char *)text);
uint32_t needlelen = strlen((char *)needle); uint32_t needlelen = strlen((char *)needle);
@ -173,7 +173,7 @@ inline uint8_t *BasicSearchNocaseWrapper(uint8_t *text, uint8_t *needle, int tim
return ret; return ret;
} }
inline uint8_t *Bs2bmWrapper(uint8_t *text, uint8_t *needle, int times) { uint8_t *Bs2bmWrapper(uint8_t *text, uint8_t *needle, int times) {
uint32_t textlen = strlen((char *)text); uint32_t textlen = strlen((char *)text);
uint32_t needlelen = strlen((char *)needle); uint32_t needlelen = strlen((char *)needle);
@ -192,7 +192,7 @@ inline uint8_t *Bs2bmWrapper(uint8_t *text, uint8_t *needle, int times) {
return ret; return ret;
} }
inline uint8_t *Bs2bmNocaseWrapper(uint8_t *text, uint8_t *needle, int times) { uint8_t *Bs2bmNocaseWrapper(uint8_t *text, uint8_t *needle, int times) {
uint32_t textlen = strlen((char *)text); uint32_t textlen = strlen((char *)text);
uint32_t needlelen = strlen((char *)needle); uint32_t needlelen = strlen((char *)needle);
@ -211,7 +211,7 @@ inline uint8_t *Bs2bmNocaseWrapper(uint8_t *text, uint8_t *needle, int times) {
return ret; return ret;
} }
inline uint8_t *BoyerMooreWrapper(uint8_t *text, uint8_t *needle, int times) { uint8_t *BoyerMooreWrapper(uint8_t *text, uint8_t *needle, int times) {
uint32_t textlen = strlen((char *)text); uint32_t textlen = strlen((char *)text);
uint32_t needlelen = strlen((char *)needle); uint32_t needlelen = strlen((char *)needle);
@ -234,7 +234,7 @@ inline uint8_t *BoyerMooreWrapper(uint8_t *text, uint8_t *needle, int times) {
return ret; return ret;
} }
inline uint8_t *BoyerMooreNocaseWrapper(uint8_t *text, uint8_t *needle, int times) { uint8_t *BoyerMooreNocaseWrapper(uint8_t *text, uint8_t *needle, int times) {
uint32_t textlen = strlen((char *)text); uint32_t textlen = strlen((char *)text);
uint32_t needlelen = strlen((char *)needle); uint32_t needlelen = strlen((char *)needle);
@ -265,7 +265,7 @@ inline uint8_t *BoyerMooreNocaseWrapper(uint8_t *text, uint8_t *needle, int time
* \param times If you are testing performance, se the numebr of times * \param times If you are testing performance, se the numebr of times
* that you want to repeat the search * that you want to repeat the search
*/ */
inline uint8_t *BasicSearchCtxWrapper(uint8_t *text, uint8_t *needle, int times) { uint8_t *BasicSearchCtxWrapper(uint8_t *text, uint8_t *needle, int times) {
uint32_t textlen = strlen((char *)text); uint32_t textlen = strlen((char *)text);
uint32_t needlelen = strlen((char *)needle); uint32_t needlelen = strlen((char *)needle);
@ -282,7 +282,7 @@ inline uint8_t *BasicSearchCtxWrapper(uint8_t *text, uint8_t *needle, int times)
return ret; return ret;
} }
inline uint8_t *BasicSearchNocaseCtxWrapper(uint8_t *text, uint8_t *needle, int times) { uint8_t *BasicSearchNocaseCtxWrapper(uint8_t *text, uint8_t *needle, int times) {
uint32_t textlen = strlen((char *)text); uint32_t textlen = strlen((char *)text);
uint32_t needlelen = strlen((char *)needle); uint32_t needlelen = strlen((char *)needle);
@ -299,7 +299,7 @@ inline uint8_t *BasicSearchNocaseCtxWrapper(uint8_t *text, uint8_t *needle, int
return ret; return ret;
} }
inline uint8_t *Bs2bmCtxWrapper(uint8_t *text, uint8_t *needle, int times) { uint8_t *Bs2bmCtxWrapper(uint8_t *text, uint8_t *needle, int times) {
uint32_t textlen = strlen((char *)text); uint32_t textlen = strlen((char *)text);
uint32_t needlelen = strlen((char *)needle); uint32_t needlelen = strlen((char *)needle);
@ -319,7 +319,7 @@ inline uint8_t *Bs2bmCtxWrapper(uint8_t *text, uint8_t *needle, int times) {
return ret; return ret;
} }
inline uint8_t *Bs2bmNocaseCtxWrapper(uint8_t *text, uint8_t *needle, int times) { uint8_t *Bs2bmNocaseCtxWrapper(uint8_t *text, uint8_t *needle, int times) {
uint32_t textlen = strlen((char *)text); uint32_t textlen = strlen((char *)text);
uint32_t needlelen = strlen((char *)needle); uint32_t needlelen = strlen((char *)needle);
@ -339,7 +339,7 @@ inline uint8_t *Bs2bmNocaseCtxWrapper(uint8_t *text, uint8_t *needle, int times)
return ret; return ret;
} }
inline uint8_t *BoyerMooreCtxWrapper(uint8_t *text, uint8_t *needle, int times) { uint8_t *BoyerMooreCtxWrapper(uint8_t *text, uint8_t *needle, int times) {
uint32_t textlen = strlen((char *)text); uint32_t textlen = strlen((char *)text);
uint32_t needlelen = strlen((char *)needle); uint32_t needlelen = strlen((char *)needle);
@ -363,7 +363,7 @@ inline uint8_t *BoyerMooreCtxWrapper(uint8_t *text, uint8_t *needle, int times)
return ret; return ret;
} }
inline uint8_t *RawCtxWrapper(uint8_t *text, uint8_t *needle, int times) { uint8_t *RawCtxWrapper(uint8_t *text, uint8_t *needle, int times) {
uint32_t textlen = strlen((char *)text); uint32_t textlen = strlen((char *)text);
uint32_t needlelen = strlen((char *)needle); uint32_t needlelen = strlen((char *)needle);
@ -379,7 +379,7 @@ inline uint8_t *RawCtxWrapper(uint8_t *text, uint8_t *needle, int times) {
return ret; return ret;
} }
inline uint8_t *BoyerMooreNocaseCtxWrapper(uint8_t *text, uint8_t *needle, int times) { uint8_t *BoyerMooreNocaseCtxWrapper(uint8_t *text, uint8_t *needle, int times) {
uint32_t textlen = strlen((char *)text); uint32_t textlen = strlen((char *)text);
uint32_t needlelen = strlen((char *)needle); uint32_t needlelen = strlen((char *)needle);

@ -8,10 +8,10 @@
#include "util-spm-bm.h" #include "util-spm-bm.h"
/** Default algorithm to use: Boyer Moore */ /** Default algorithm to use: Boyer Moore */
inline uint8_t *Bs2bmSearch(uint8_t *text, uint32_t textlen, uint8_t *needle, uint32_t needlelen); uint8_t *Bs2bmSearch(uint8_t *text, uint32_t textlen, uint8_t *needle, uint32_t needlelen);
inline uint8_t *Bs2bmNocaseSearch(uint8_t *text, uint32_t textlen, uint8_t *needle, uint32_t needlelen); uint8_t *Bs2bmNocaseSearch(uint8_t *text, uint32_t textlen, uint8_t *needle, uint32_t needlelen);
inline uint8_t *BoyerMooreSearch(uint8_t *text, uint32_t textlen, uint8_t *needle, uint32_t needlelen); uint8_t *BoyerMooreSearch(uint8_t *text, uint32_t textlen, uint8_t *needle, uint32_t needlelen);
inline uint8_t *BoyerMooreNocaseSearch(uint8_t *text, uint32_t textlen, uint8_t *needle, uint32_t needlelen); uint8_t *BoyerMooreNocaseSearch(uint8_t *text, uint32_t textlen, uint8_t *needle, uint32_t needlelen);
/* Macros for automatic algorithm selection (use them only when you can't store the context) */ /* Macros for automatic algorithm selection (use them only when you can't store the context) */
#define SpmSearch(text, textlen, needle, needlelen) ({\ #define SpmSearch(text, textlen, needle, needlelen) ({\

Loading…
Cancel
Save