Change kore_buf_stringify() a bit.

Takes a size_t pointer as its second argument now, if not
NULL this will be populated with the length of the string
that is being returned.
This commit is contained in:
Joris Vink 2016-06-02 07:08:19 +02:00
parent 3b43df5536
commit 2dfd22a79a
4 changed files with 12 additions and 8 deletions

View File

@ -603,7 +603,7 @@ void kore_buf_append(struct kore_buf *, const void *, u_int32_t);
u_int8_t *kore_buf_release(struct kore_buf *, u_int32_t *);
void kore_buf_reset(struct kore_buf *);
char *kore_buf_stringify(struct kore_buf *);
char *kore_buf_stringify(struct kore_buf *, size_t *);
void kore_buf_appendf(struct kore_buf *, const char *, ...);
void kore_buf_appendv(struct kore_buf *, const char *, va_list);
void kore_buf_appendb(struct kore_buf *, struct kore_buf *);

View File

@ -94,12 +94,16 @@ kore_buf_appendf(struct kore_buf *buf, const char *fmt, ...)
}
char *
kore_buf_stringify(struct kore_buf *buf)
kore_buf_stringify(struct kore_buf *buf, size_t *len)
{
char c;
if (len != NULL)
*len = buf->offset;
c = '\0';
kore_buf_append(buf, &c, sizeof(c));
return ((char *)buf->data);
}

View File

@ -1206,7 +1206,7 @@ cli_build_cflags(struct buildopt *bopt)
obopt->cflags->offset);
}
string = kore_buf_stringify(bopt->cflags);
string = kore_buf_stringify(bopt->cflags, NULL);
printf("CFLAGS=%s\n", string);
cflags_count = kore_split_string(string, " ", cflags, CFLAGS_MAX);
}
@ -1235,7 +1235,7 @@ cli_build_ldflags(struct buildopt *bopt)
obopt->ldflags->offset);
}
string = kore_buf_stringify(bopt->ldflags);
string = kore_buf_stringify(bopt->ldflags, NULL);
printf("LDFLAGS=%s\n", string);
ldflags_count = kore_split_string(string, " ", ldflags, LD_FLAGS_MAX);
}

View File

@ -915,7 +915,7 @@ http_populate_post(struct http_request *req)
if (req->http_body != NULL) {
body = NULL;
req->http_body->offset = req->content_length;
string = kore_buf_stringify(req->http_body);
string = kore_buf_stringify(req->http_body, NULL);
} else {
body = kore_buf_create(128);
for (;;) {
@ -926,7 +926,7 @@ http_populate_post(struct http_request *req)
break;
kore_buf_append(body, data, ret);
}
string = kore_buf_stringify(body);
string = kore_buf_stringify(body, NULL);
}
v = kore_split_string(string, "&", args, HTTP_MAX_QUERY_ARGS);
@ -1171,7 +1171,7 @@ multipart_parse_headers(struct http_request *req, struct kore_buf *in,
char *headers[5], *args[5], *opt[5];
char *d, *val, *name, *fname, *string;
string = kore_buf_stringify(hbuf);
string = kore_buf_stringify(hbuf, NULL);
h = kore_split_string(string, "\r\n", headers, 5);
for (i = 0; i < h; i++) {
c = kore_split_string(headers[i], ":", args, 5);
@ -1252,7 +1252,7 @@ multipart_add_field(struct http_request *req, struct kore_buf *in,
}
data->offset -= 2;
string = kore_buf_stringify(data);
string = kore_buf_stringify(data, NULL);
http_argument_add(req, name, string);
kore_buf_free(data);
}