blobmsg: add blobmsg_realloc_string_buffer()
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
This commit is contained in:
parent
b786f85267
commit
4ab499899c
2 changed files with 18 additions and 0 deletions
17
blobmsg.c
17
blobmsg.c
|
@ -233,6 +233,23 @@ blobmsg_alloc_string_buffer(struct blob_buf *buf, const char *name, int maxlen)
|
||||||
return data_dest;
|
return data_dest;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void *
|
||||||
|
blobmsg_realloc_string_buffer(struct blob_buf *buf, int maxlen)
|
||||||
|
{
|
||||||
|
struct blob_attr *attr = blob_next(buf->head);
|
||||||
|
int offset = attr_to_offset(buf, blob_next(buf->head)) + blob_pad_len(attr);
|
||||||
|
int required = maxlen - (buf->buflen - offset);
|
||||||
|
|
||||||
|
if (required <= 0)
|
||||||
|
goto out;
|
||||||
|
|
||||||
|
blob_buf_grow(buf, required);
|
||||||
|
attr = blob_next(buf->head);
|
||||||
|
|
||||||
|
out:
|
||||||
|
return blobmsg_data(attr);
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
blobmsg_add_string_buffer(struct blob_buf *buf)
|
blobmsg_add_string_buffer(struct blob_buf *buf)
|
||||||
{
|
{
|
||||||
|
|
|
@ -192,6 +192,7 @@ static inline char *blobmsg_get_string(struct blob_attr *attr)
|
||||||
}
|
}
|
||||||
|
|
||||||
void *blobmsg_alloc_string_buffer(struct blob_buf *buf, const char *name, int maxlen);
|
void *blobmsg_alloc_string_buffer(struct blob_buf *buf, const char *name, int maxlen);
|
||||||
|
void *blobmsg_realloc_string_buffer(struct blob_buf *buf, int maxlen);
|
||||||
void blobmsg_add_string_buffer(struct blob_buf *buf);
|
void blobmsg_add_string_buffer(struct blob_buf *buf);
|
||||||
|
|
||||||
/* blobmsg to json formatting */
|
/* blobmsg to json formatting */
|
||||||
|
|
Loading…
Reference in a new issue