]> xenbits.xensource.com Git - libvirt.git/commitdiff
util: string: Introduce virStringHasChars
authorPeter Krempa <pkrempa@redhat.com>
Wed, 26 Apr 2017 14:26:53 +0000 (16:26 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Fri, 18 Aug 2017 12:20:37 +0000 (14:20 +0200)
The helper returns true if a string contains any of the given chars.
virStringHasControlChars can be reimplemented using that helper.

Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
src/libvirt_private.syms
src/util/virstring.c
src/util/virstring.h

index 7b477a561ebe33e907f47ac53b2a9c7766077742..2149b11b74771c5da07608f8503e6028fc077e3c 100644 (file)
@@ -2692,6 +2692,7 @@ virStrcpy;
 virStrdup;
 virStringBufferIsPrintable;
 virStringEncodeBase64;
+virStringHasChars;
 virStringHasControlChars;
 virStringIsEmpty;
 virStringIsPrintable;
index 58abf9dd613a8e6748d717deb70ca8877add88d7..0288d1e6772fb772afd3eb5e369eb8958f384ecc 100644 (file)
@@ -1195,6 +1195,24 @@ virStringStripIPv6Brackets(char *str)
 }
 
 
+/**
+ * virStringHasChars:
+ * @str: string to look for chars in
+ * @chars: chars to find in string @str
+ *
+ * Returns true if @str contains any of the chars in @chars.
+ */
+bool
+virStringHasChars(const char *str,
+                  const char *chars)
+{
+    if (!str)
+        return false;
+
+    return str[strcspn(str, chars)] != '\0';
+}
+
+
 static const char control_chars[] =
     "\x01\x02\x03\x04\x05\x06\x07"
     "\x08" /* \t \n */ "\x0B\x0C" /* \r */ "\x0E\x0F"
@@ -1204,10 +1222,7 @@ static const char control_chars[] =
 bool
 virStringHasControlChars(const char *str)
 {
-    if (!str)
-        return false;
-
-    return str[strcspn(str, control_chars)] != '\0';
+    return virStringHasChars(str, control_chars);
 }
 
 
index ff5f0148d61ab075d45fb7af977f8799f67205bc..1290fcce15c8123b2cda3670f7c73152dcda14dd 100644 (file)
@@ -286,6 +286,8 @@ char *virStringReplace(const char *haystack,
     ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3);
 
 void virStringStripIPv6Brackets(char *str);
+bool virStringHasChars(const char *str,
+                       const char *chars);
 bool virStringHasControlChars(const char *str);
 void virStringStripControlChars(char *str);