pike.git/
src/
stralloc.c
Branch:
Tag:
Non-build tags
All tags
No tags
2001-08-29
2001-08-29 11:51:59 by Henrik Grubbström (Grubba) <grubba@grubba.org>
cb2e38792f59b911b7adf927b3886515626d535e (
18
lines) (+
17
/-
1
)
[
Show
|
Annotate
]
Branch:
7.9
More string-builder NUL-termination fixes. Fixes [bug
2034 (#2034)
].
Rev: src/stralloc.c:1.131
27:
#define HUGE HUGE_VAL #endif /*!HUGE*/
-
RCSID("$Id: stralloc.c,v 1.
130
2001/08/
15
11:
52
:
23
hubbe
Exp $");
+
RCSID("$Id: stralloc.c,v 1.
131
2001/08/
29
11:
51
:
59
grubba
Exp $");
#if PIKE_RUN_UNLOCKED /* Make this bigger when we get lightweight threads */
1953:
} i = s->s->len++; low_set_index(s->s,i,ch);
+
/* Ensure NUL-termination */
+
s->s->str[s->s->len << s->s->size_shift] = 0;
}
1968:
fatal("Illegal magnitude!\n"); } s->s->len+=len;
+
/* Ensure NUL-termination */
+
s->s->str[s->s->len << s->s->size_shift] = 0;
}
1986:
string_build_mkspace(s, len, shift); generic_memcpy(MKPCHARP_STR_OFF(s->s,s->s->len), from, len); s->s->len+=len;
+
/* Ensure NUL-termination */
+
s->s->str[s->s->len << s->s->size_shift] = 0;
} PMOD_EXPORT void string_builder_fill(struct string_builder *s,
2010:
MEMSET(string_builder_allocate(s,howmany,0), EXTRACT_PCHARP(from), howmany);
+
/* Ensure NUL-termination */
+
s->s->str[s->s->len << s->s->size_shift] = 0;
return; }
2052:
s->s->len+=tmp; } }
+
/* Ensure NUL-termination */
+
s->s->str[s->s->len << s->s->size_shift] = 0;
} PMOD_EXPORT void string_builder_strcat(struct string_builder *s, char *str)
2066:
pike_string_cpy(MKPCHARP_STR_OFF(s->s,s->s->len), str); s->known_shift=MAXIMUM(s->known_shift,(size_t)str->size_shift); s->s->len+=str->len;
+
/* Ensure NUL-termination */
+
s->s->str[s->s->len << s->s->size_shift] = 0;
}
2073:
{ s->known_shift=0; s->s->len=0;
+
/* Ensure NUL-termination */
+
s->s->str[0] = 0;
} PMOD_EXPORT void free_string_builder(struct string_builder *s)
2083:
PMOD_EXPORT struct pike_string *finish_string_builder(struct string_builder *s) {
+
/* Ensure NUL-termination */
low_set_index(s->s,s->s->len,0); if (s->s->len <= SHORT_STRING_THRESHOLD) { ptrdiff_t len = s->s->len;