|
| iMatix home page | << | < | > | >> |
SFLVersion 2.11 |
#include "sflfind.h"
void *
memfind (const void *block, /* Block containing data */
size_t block_size, /* Size of block in bytes */
const void *pattern, /* Pattern to search for */
size_t pattern_size, /* Size of pattern block */
Bool repeat_find) /* Same pattern as last time */
Searches for a pattern in a block of memory using the Boyer- Moore-Horspool-Sunday algorithm. The block and pattern may contain any values; you must explicitly provide their lengths. Returns a pointer to the pattern if found within the block, or NULL if the pattern was not found. If you repeatedly scan for the same pattern, use the repeat_find argument. If this is TRUE, the function does not re-parse the pattern. This function is meant to handle binary data. If you need to search strings, use the strfind_r or strfind rb() functions. Non-Reentrant.
{
static size_t
searchbuf [256]; /* Static shared search buffer */
ASSERT (block); /* Expect non-NULL pointers, but */
ASSERT (pattern); /* full through if not debugging */
return memfind rb (block, block_size, pattern, pattern_size,
searchbuf, &repeat_find);
}
| | << | < | > | >> |
|