aboutsummaryrefslogtreecommitdiffstats
path: root/tools/libxl/libxl_internal.c
diff options
context:
space:
mode:
authorIan Jackson <Ian.Jackson@eu.citrix.com>2010-07-14 16:39:43 +0100
committerIan Jackson <Ian.Jackson@eu.citrix.com>2010-07-14 16:39:43 +0100
commitbba3b1da6e19c974afd3f934be50438fc7f32821 (patch)
tree5f63ff39dde657e2a79d6f685f8771cd510f4b44 /tools/libxl/libxl_internal.c
parent1304d52120c8c6fa9b837f25c83509aff13d60ec (diff)
downloadxen-bba3b1da6e19c974afd3f934be50438fc7f32821.tar.gz
xen-bba3b1da6e19c974afd3f934be50438fc7f32821.tar.bz2
xen-bba3b1da6e19c974afd3f934be50438fc7f32821.zip
libxl: add libxl_strdup convenience function
Use in preference to libxl_sprintf(..., "%s", "...") Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Diffstat (limited to 'tools/libxl/libxl_internal.c')
-rw-r--r--tools/libxl/libxl_internal.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
index fd23023a74..2e09201d26 100644
--- a/tools/libxl/libxl_internal.c
+++ b/tools/libxl/libxl_internal.c
@@ -138,10 +138,20 @@ char *libxl_sprintf(struct libxl_ctx *ctx, const char *fmt, ...)
return s;
}
+char *libxl_strdup(struct libxl_ctx *ctx, const char *c)
+{
+ char *s = strdup(c);
+
+ if (s)
+ libxl_ptr_add(ctx, s);
+
+ return s;
+}
+
char *libxl_dirname(struct libxl_ctx *ctx, const char *s)
{
char *c;
- char *ptr = libxl_sprintf(ctx, "%s", s);
+ char *ptr = libxl_strdup(ctx, s);
c = strrchr(ptr, '/');
if (!c)