Commit 18082164 authored by Poul-Henning Kamp's avatar Poul-Henning Kamp

Make VSB_bcat() take a ssize_t to be able to assert non-negative lengths.

Spotted by:	FlexeLint
parent 87755214
......@@ -61,7 +61,7 @@ struct vsb *VSB_new(struct vsb *, char *, int, int);
#define VSB_new_auto() \
VSB_new(NULL, NULL, 0, VSB_AUTOEXTEND)
void VSB_clear(struct vsb *);
int VSB_bcat(struct vsb *, const void *, size_t);
int VSB_bcat(struct vsb *, const void *, ssize_t);
int VSB_cat(struct vsb *, const char *);
int VSB_printf(struct vsb *, const char *, ...)
__v_printflike(2, 3);
......
......@@ -276,13 +276,16 @@ VSB_put_byte(struct vsb *s, int c)
* Append a byte string to an vsb.
*/
int
VSB_bcat(struct vsb *s, const void *buf, size_t len)
VSB_bcat(struct vsb *s, const void *buf, ssize_t len)
{
assert_VSB_integrity(s);
assert_VSB_state(s, 0);
assert(len >= 0);
if (s->s_error != 0)
return (-1);
if (len == 0)
return (0);
_vsb_indent(s);
if (len > VSB_FREESPACE(s)) {
if (VSB_extend(s, len - VSB_FREESPACE(s)) < 0)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment