From af2f52a37bdbb34835da08b518a5f5a950d87a77 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Sun, 17 Feb 2013 16:42:12 +0100 Subject: blobmsg: implement blobmsg_printf and blobmsg_vprintf Signed-off-by: Felix Fietkau --- blobmsg.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'blobmsg.c') diff --git a/blobmsg.c b/blobmsg.c index 8db2238..62f83cc 100644 --- a/blobmsg.c +++ b/blobmsg.c @@ -216,6 +216,31 @@ blobmsg_open_nested(struct blob_buf *buf, const char *name, bool array) return (void *)offset; } +void +blobmsg_vprintf(struct blob_buf *buf, const char *name, const char *format, va_list arg) +{ + va_list arg2; + char cbuf; + int len; + + va_copy(arg2, arg); + len = vsnprintf(&cbuf, sizeof(cbuf), format, arg2); + va_end(arg2); + + vsprintf(blobmsg_alloc_string_buffer(buf, name, len + 1), format, arg); + blobmsg_add_string_buffer(buf); +} + +void +blobmsg_printf(struct blob_buf *buf, const char *name, const char *format, ...) +{ + va_list ap; + + va_start(ap, format); + blobmsg_vprintf(buf, name, format, ap); + va_end(ap); +} + void * blobmsg_alloc_string_buffer(struct blob_buf *buf, const char *name, int maxlen) { -- cgit v1.2.3