pike.git / src / stralloc.c

version» Context lines:

pike.git/src/stralloc.c:95:   static unsigned INT32 htable_size=0;   static unsigned int hashprimes_entry=0;   static struct pike_string **base_table=0;   static unsigned INT32 num_strings=0;   PMOD_EXPORT struct pike_string *empty_pike_string = 0;      /*** Main string hash function ***/      #define StrHash(s,len) low_do_hash(s,len,0)    - static INLINE size_t low_do_hash(const void *s, + static size_t low_do_hash(const void *s,    ptrdiff_t len__,    int size_shift)   {    size_t h;    DO_HASHMEM(h, s, len__<<size_shift, HASH_PREFIX<<size_shift);    return h;   }      static INLINE size_t do_hash(struct pike_string *s)   {    return low_do_hash(s->str, s->len, s->size_shift);   }         static INLINE int find_magnitude1(const p_wchar1 *s, ptrdiff_t len)   { -  while(--len>=0) -  if(s[len]>=256) +  const p_wchar1 *e=s+len; +  while(s<e) +  if(*s++>=256)    return 1;    return 0;   }      static INLINE int find_magnitude2(const p_wchar2 *s, ptrdiff_t len)   { -  while(--len>=0) +  const p_wchar2 *e=s+len; +  while(s<e)    { -  if((unsigned INT32)s[len]>=256) +  if((unsigned INT32)*s++>=256)    {    do    { -  if((unsigned INT32)s[len]>=65536) +  if((unsigned INT32)*s++>=65536)    return 2; -  }while(--len>=0); +  }while(s<e);    return 1;    }    }    return 0;   }      static INLINE int min_magnitude(p_wchar2 c)   {    if(c<0) return 2;    if(c<256) return 0;