]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
util: string: Add helper to check whether string is empty
authorPeter Krempa <pkrempa@redhat.com>
Wed, 22 Oct 2014 08:26:42 +0000 (10:26 +0200)
committerCole Robinson <crobinso@redhat.com>
Sat, 15 Nov 2014 21:02:04 +0000 (16:02 -0500)
The helper checks whether a string contains only whitespace or is NULL.
This will be helpful to skip cases where a user string is optional, but
may be provided empty with the same meaning.

(cherry picked from commit 0eeafeedebe4469fce33d7942551957853856619)

src/libvirt_private.syms
src/util/virstring.c
src/util/virstring.h

index 7cbc35b2c691e0bc703200c2aea7ad4c6f62e22e..9b98d4c86da304304d619f5f01367b573d52a406 100644 (file)
@@ -1991,6 +1991,7 @@ virStrdup;
 virStringArrayHasString;
 virStringFreeList;
 virStringFreeListCount;
+virStringIsEmpty;
 virStringJoin;
 virStringListLength;
 virStringReplace;
index 54c0b6fb9324028e940998e439e2f7417e4cebce..8291617a103bf1b57dd5dc1a3cd3f4b34496873f 100644 (file)
@@ -633,6 +633,22 @@ virSkipSpacesBackwards(const char *str, char **endp)
         *endp = NULL;
 }
 
+/**
+ * virStringIsEmpty:
+ * @str: string to check
+ *
+ * Returns true if string is empty (may contain only whitespace) or NULL.
+ */
+bool
+virStringIsEmpty(const char *str)
+{
+    if (!str)
+        return true;
+
+    virSkipSpaces(&str);
+    return str[0] == '\0';
+}
+
 char *
 virArgvToString(const char *const *argv)
 {
index b82ef2af36a25a010e557ccac362bec29d4ca819..0c87fadbb3f1dd4a416c3492ce83cb1f055488ae 100644 (file)
@@ -107,6 +107,8 @@ void virTrimSpaces(char *str, char **endp) ATTRIBUTE_NONNULL(1);
 void virSkipSpacesBackwards(const char *str, char **endp)
     ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2);
 
+bool virStringIsEmpty(const char *str);
+
 char *virStrncpy(char *dest, const char *src, size_t n, size_t destbytes)
     ATTRIBUTE_RETURN_CHECK;
 char *virStrcpy(char *dest, const char *src, size_t destbytes)