Branch: Tag:

1997-05-19

1997-05-19 23:33:22 by Fredrik Hübinette (Hubbe) <hubbe@hubbe.net>

memory.{c,h} renamed to pike_memory.{c,h}

Rev: .cvsignore:1.12
Rev: src/Makefile.in:1.31
Rev: src/array.c:1.10
Rev: src/builtin_functions.c:1.37
Rev: src/constants.c:1.11
Rev: src/docode.c:1.17
Rev: src/dynamic_buffer.c:1.4
Rev: src/gc.c:1.9
Rev: src/gc.h:1.8
Rev: src/global.h:1.8
Rev: src/las.c:1.33
Rev: src/lex.c:1.24
Rev: src/mapping.c:1.20
Rev: src/modules/Image/quant.c:1.9
Rev: src/modules/Regexp/pike_regexp.c:1.4
Rev: src/modules/call_out/call_out.c:1.12
Rev: src/modules/sprintf/sprintf.c:1.11
Rev: src/multiset.c:1.6
Rev: src/object.c:1.18
Rev: src/opcodes.c:1.7
Rev: src/operators.c:1.15
Rev: src/peep.c:1.12
Rev: src/pike_macros.h:1.2
Rev: src/pike_memory.c:1.1
Rev: src/pike_memory.h:1.1
Rev: src/pike_types.c:1.22
Rev: src/stralloc.c:1.15

1: + /*\ + ||| This file a part of Pike, and is copyright by Fredrik Hubinette + ||| Pike is distributed as GPL (General Public License) + ||| See the files COPYING and DISCLAIMER for more information. + \*/ + #ifndef MEMORY_H + #define MEMORY_H    -  + #include "global.h" +  + #define MEMSEARCH_LINKS 512 +  + struct link + { +  struct link *next; +  INT32 key, offset; + }; +  + enum methods { +  no_search, +  use_memchr, +  memchr_and_memcmp, +  hubbe_search + }; +  + struct mem_searcher + { +  enum methods method; +  char *needle; +  SIZE_T needlelen; +  unsigned INT32 hsize, max; +  struct link links[MEMSEARCH_LINKS]; +  struct link *set[MEMSEARCH_LINKS]; + }; +  + /* Prototypes begin here */ + char *xalloc(SIZE_T size); + void swap(char *a, char *b, INT32 size); + void reverse(char *memory, INT32 nitems, INT32 size); + void reorder(char *memory, INT32 nitems, INT32 size,INT32 *order); + unsigned INT32 hashmem(const unsigned char *a,INT32 len,INT32 mlen); + unsigned INT32 hashstr(const unsigned char *str,INT32 maxn); + void init_memsearch(struct mem_searcher *s, +  char *needle, +  SIZE_T needlelen, +  SIZE_T max_haystacklen); + char *memory_search(struct mem_searcher *s, +  char *haystack, +  SIZE_T haystacklen); + char *my_memmem(char *needle, +  SIZE_T needlelen, +  char *haystack, +  SIZE_T haystacklen); + void memfill(char *to, +  INT32 tolen, +  char *from, +  INT32 fromlen, +  INT32 offset); + /* Prototypes end here */ +  + #endif   Newline at end of file added.