Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.openwrt.org/project/libubox.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2013-02-17 19:42:12 +0400
committerFelix Fietkau <nbd@openwrt.org>2013-02-17 19:42:12 +0400
commitaf2f52a37bdbb34835da08b518a5f5a950d87a77 (patch)
treec98d6d01803a26767c7deafad0489ed2af3a089f /blobmsg.c
parentbd47d85d38ee5fb1fb8a37d006f51443f67a2061 (diff)
blobmsg: implement blobmsg_printf and blobmsg_vprintf
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Diffstat (limited to 'blobmsg.c')
-rw-r--r--blobmsg.c25
1 files changed, 25 insertions, 0 deletions
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)
{