The helper returns true if a string contains any of the given chars.
virStringHasControlChars can be reimplemented using that helper.
---
src/util/virstring.c | 23 +++++++++++++++++++----
src/util/virstring.h | 2 ++
2 files changed, 21 insertions(+), 4 deletions(-)
diff --git a/src/util/virstring.c b/src/util/virstring.c
index 69abc267b..172df5496 100644
--- a/src/util/virstring.c
+++ b/src/util/virstring.c
@@ -1045,6 +1045,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"
@@ -1054,10 +1072,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);
}
diff --git a/src/util/virstring.h b/src/util/virstring.h
index 603650aa1..da7c9c2c1 100644
--- a/src/util/virstring.h
+++ b/src/util/virstring.h
@@ -280,6 +280,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);
--
2.12.2