pike.git / src / stralloc.c

version» Context lines:

pike.git/src/stralloc.c:19:      #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.117 2001/06/29 16:59:09 grubba Exp $"); + RCSID("$Id: stralloc.c,v 1.118 2001/07/04 00:03:02 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:413:    free((char *)old_base);   }      /* Allocation of strings */      /* Allocate some fixed string sizes with BLOCK_ALLOC. */      /* Use the BLOCK_ALLOC() stuff for short strings */      #define SHORT_STRING_BLOCK 256 - #define SHORT_STRING_THRESHOLD 16 + #define SHORT_STRING_THRESHOLD 15 /* % 4 === 1 */      struct short_pike_string0 { -  struct pike_string str; -  p_wchar0 data[SHORT_STRING_THRESHOLD]; +  PIKE_STRING_CONTENTS; +  p_wchar0 str[SHORT_STRING_THRESHOLD];   };      struct short_pike_string1 { -  struct pike_string str; -  p_wchar1 data[SHORT_STRING_THRESHOLD]; +  PIKE_STRING_CONTENTS; +  p_wchar1 str[SHORT_STRING_THRESHOLD];   };      struct short_pike_string2 { -  struct pike_string str; -  p_wchar2 data[SHORT_STRING_THRESHOLD]; +  PIKE_STRING_CONTENTS; +  p_wchar2 str[SHORT_STRING_THRESHOLD];   };    - #undef BLOCK_ALLOC_NEXT - #define BLOCK_ALLOC_NEXT str.next -  +    BLOCK_ALLOC(short_pike_string0, SHORT_STRING_BLOCK)   BLOCK_ALLOC(short_pike_string1, SHORT_STRING_BLOCK)   BLOCK_ALLOC(short_pike_string2, SHORT_STRING_BLOCK)    - #undef BLOCK_ALLOC_NEXT - #define BLOCK_ALLOC_NEXT next -  +    #define really_free_short_pike_string(s) do { \    if (!s->size_shift) { \    really_free_short_pike_string0((struct short_pike_string0 *)s); \    } else if (s->size_shift == 1) { \    really_free_short_pike_string1((struct short_pike_string1 *)s); \    DO_IF_DEBUG( \    } else if (s->size_shift != 2) { \    fatal("Unsupported string shift: %d\n", s->size_shift); \    ) \    } else { \