pike.git/
src/
stralloc.c
Branch:
Tag:
Non-build tags
All tags
No tags
1998-10-11
1998-10-11 22:34:02 by Fredrik Hübinette (Hubbe) <hubbe@hubbe.net>
7238066a05a3aef1c410573cbe06b11c387e7273 (
13
lines) (+
12
/-
1
)
[
Show
|
Annotate
]
Branch:
7.9
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);