pike.git / src / stralloc.c

version» Context lines:

pike.git/src/stralloc.c:18:      #include <errno.h>   #include <float.h>   #include <ctype.h>   #include <math.h>      #ifndef HUGE   #define HUGE HUGE_VAL   #endif /*!HUGE*/    - RCSID("$Id: stralloc.c,v 1.102 2000/10/08 19:07:35 grubba Exp $"); + RCSID("$Id: stralloc.c,v 1.103 2000/10/10 00:02:56 hubbe Exp $");      #define BEGIN_HASH_SIZE 997   #define MAX_AVG_LINK_LENGTH 3      /* Experimental dynamic hash length */   #ifndef HASH_PREFIX   static unsigned int HASH_PREFIX=64;   static unsigned int need_more_hash_prefix=0;   #endif   
pike.git/src/stralloc.c:1349:    free_string(b);    return ret;    }   }         PMOD_EXPORT ptrdiff_t string_search(struct pike_string *haystack,    struct pike_string *needle,    ptrdiff_t start)   { +  SearchMojt mojt;    struct generic_mem_searcher s;    char *r;    -  if(needle->size_shift > haystack->size_shift) +  if(needle->size_shift > haystack->size_shift || +  start + needle->len > haystack->len)    return -1;    -  init_generic_memsearcher(&s, -  needle->str, +  mojt=compile_memsearcher(MKPCHARP_STR(needle),    needle->len, -  needle->size_shift, -  haystack->len-start, -  haystack->size_shift); +  0x7fffffff, +  needle);    -  +  r=mojt.vtab->funcN(mojt.data, +  ADD_PCHARP(MKPCHARP_STR(haystack), start), +  haystack->len).ptr;    -  r=(char *)generic_memory_search(&s, -  haystack->str+(start<<haystack->size_shift), -  haystack->len-start, -  haystack->size_shift); +  mojt.vtab->freeme(mojt.data);       if(!r) return -1;    return (r-haystack->str)>>haystack->size_shift;   }      PMOD_EXPORT struct pike_string *string_slice(struct pike_string *s,    ptrdiff_t start,    ptrdiff_t len)   {   #ifdef PIKE_DEBUG