| iMatix home page | << | < | > | >> |
SFL Version 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); }
| << | < | > | >> | Copyright © 1996-2000 iMatix Corporation |