| iMatix home page
| << | < | > | >>
SFL Logo SFL
Version 1.91

 

memfind

#include "sflfind.h"
void *
memfind (const void   *block,           /*  Block containing data            */
         const size_t block_size,       /*  Size of block in bytes           */
         const void   *pattern,         /*  Pattern to search for            */
         const size_t pattern_size,     /*  Size of pattern block            */
         Bool         repeat_find)      /*  Same pattern as last time        */

Synopsis

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-Buffer. Depreciated (use memfind_r or memfind_rb).

Source Code - (sflfind.c)

{
    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);
}

| << | < | > | >> iMatix Copyright © 1996-98 iMatix