summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorMichael Olbrich <m.olbrich@pengutronix.de>2015-07-17 21:22:34 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2015-07-23 16:46:14 +0200
commit773be2a16842d68da84b9f2283f8bf9c07688290 (patch)
tree5d34f25ab5d8930130023e9ccff2a32e9d839496 /lib
parentefeeea3501639eb70d192eb88509b3cb79d9d44d (diff)
downloadbarebox-773be2a16842d68da84b9f2283f8bf9c07688290.tar.gz
barebox-773be2a16842d68da84b9f2283f8bf9c07688290.tar.xz
xfuncs: add xasprintf() and xvasprintf()
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'lib')
-rw-r--r--lib/xfuncs.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/lib/xfuncs.c b/lib/xfuncs.c
index f0219c43a5..6111f6d1c7 100644
--- a/lib/xfuncs.c
+++ b/lib/xfuncs.c
@@ -103,3 +103,27 @@ void *xmemdup(const void *orig, size_t size)
return buf;
}
EXPORT_SYMBOL(xmemdup);
+
+char *xvasprintf(const char *fmt, va_list ap)
+{
+ char *p;
+
+ p = vasprintf(fmt, ap);
+ if (!p)
+ panic("ERROR: out of memory\n");
+ return p;
+}
+EXPORT_SYMBOL(xvasprintf);
+
+char *xasprintf(const char *fmt, ...)
+{
+ va_list ap;
+ char *p;
+
+ va_start(ap, fmt);
+ p = xvasprintf(fmt, ap);
+ va_end(ap);
+
+ return p;
+}
+EXPORT_SYMBOL(xasprintf);