Branch: Tag:

1998-10-11

1998-10-11 22:34:02 by Fredrik Hübinette (Hubbe) <hubbe@hubbe.net>

fixed a memory leak and added reset_string_builder

Rev: src/stralloc.c:1.42
Rev: src/stralloc.h:1.20

15:      #include <ctype.h>    - RCSID("$Id: stralloc.c,v 1.41 1998/10/11 21:07:30 grubba Exp $"); + RCSID("$Id: stralloc.c,v 1.42 1998/10/11 22:34:02 hubbe Exp $");      #define BEGIN_HASH_SIZE 997   #define MAX_AVG_LINK_LENGTH 3
1071:    b=begin_wide_shared_string(a->len,1);    convert_0_to_1(STR1(b),a->str,a->len);    STR1(b)[index]=c; +  free_string(a);    return end_shared_string(b);       case TWO_SIZES(2,0):    b=begin_wide_shared_string(a->len,2);    convert_0_to_2(STR2(b),a->str,a->len);    STR2(b)[index]=c; -  +  free_string(a);    return end_shared_string(b);       case TWO_SIZES(2,1):    b=begin_wide_shared_string(a->len,2);    convert_1_to_2(STR2(b),STR1(a),a->len);    STR2(b)[index]=c; -  +  free_string(a);    return end_shared_string(b);       default:
1535:    s->s->len+=str->len;   }    +  + void reset_string_builder(struct string_builder *s) + { +  s->known_shift=0; +  s->s->len=0; + } +    struct pike_string *finish_string_builder(struct string_builder *s)   {    low_set_index(s->s,s->s->len,0);