]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
add virAsprintf
authorGuido Günther <agx@sigxcpu.org>
Mon, 15 Dec 2008 20:09:29 +0000 (20:09 +0000)
committerGuido Günther <agx@sigxcpu.org>
Mon, 15 Dec 2008 20:09:29 +0000 (20:09 +0000)
ChangeLog
src/libvirt_sym.version.in
src/util.c
src/util.h

index 44a18b3fb00f28f10e0b8256675ca22ee9909080..cd379edeb9951a3c12b18005acb5fb1f6274b55f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Mon Dec 15 21:05:56 CET 2008 Guido Günther <agx@sigxcpu.org>
+
+       Add virAsprintf as safer asprintf helper
+       * src/util.c, src/util.h (virAsprintf): new function
+       * src/libvirt_symver.in: export symbol
+
 Mon Dec 15 16:33:25 CET 2008 Daniel Veillard <veillard@redhat.com>
 
        * src/storage_driver.c: fix a segfault, patch by Miloslav TrmaC
index de0bc4a79b9cdf386b3c2eb4df72c082e27031cb..684be01d4143fde65b2687907ebcb5df1d1a518c 100644 (file)
@@ -595,6 +595,7 @@ LIBVIRT_PRIVATE_@VERSION@ {
        virFileReadPid;
        virFileLinkPointsTo;
        virParseNumber;
+       virAsprintf;
        virRun;
        virSkipSpaces;
 
index 9e6e0868b30457a17fcc37f52cd10f16cc3be72d..12097d41aa8b7ad135ca3dd53f5fc00c4061ac08 100644 (file)
@@ -1153,6 +1153,26 @@ virParseNumber(const char **str)
     return (ret);
 }
 
+/**
+ * virAsprintf
+ *
+ * like asprintf but makes sure *strp == NULL on failure
+ */
+int 
+virAsprintf(char **strp, const char *fmt, ...)
+{
+    va_list ap;
+    int ret;
+
+    va_start(ap, fmt);
+
+    if ((ret = vasprintf(strp, fmt, ap)) == -1)
+        *strp = NULL;
+
+    va_end(ap);
+    return ret;
+}
+
 /* Compare two MAC addresses, ignoring differences in case,
  * as well as leading zeros.
  */
index 0748cbf15f5661e095b8101f03fe884a6248d5b2..3d603dc5312fe053f5c13145322f42ff1a4beb95 100644 (file)
@@ -112,6 +112,7 @@ int virMacAddrCompare (const char *mac1, const char *mac2);
 
 void virSkipSpaces(const char **str);
 int virParseNumber(const char **str);
+int virAsprintf(char **strp, const char *fmt, ...);
 
 #define VIR_MAC_BUFLEN 6
 #define VIR_MAC_PREFIX_BUFLEN 3