aboutsummaryrefslogtreecommitdiffstats
path: root/src/util
diff options
context:
space:
mode:
Diffstat (limited to 'src/util')
-rw-r--r--src/util/StringUtil.cxx14
-rw-r--r--src/util/StringUtil.hxx7
2 files changed, 21 insertions, 0 deletions
diff --git a/src/util/StringUtil.cxx b/src/util/StringUtil.cxx
index 57fc5188b..dfe436fd8 100644
--- a/src/util/StringUtil.cxx
+++ b/src/util/StringUtil.cxx
@@ -33,6 +33,20 @@ strchug_fast(const char *p)
return p;
}
+char *
+Strip(char *p)
+{
+ p = strchug_fast(p);
+
+ size_t length = strlen(p);
+ while (length > 0 && IsWhitespaceNotNull(p[length - 1]))
+ --length;
+
+ p[length] = 0;
+
+ return p;
+}
+
bool
StringStartsWith(const char *haystack, const char *needle)
{
diff --git a/src/util/StringUtil.hxx b/src/util/StringUtil.hxx
index 933d82c16..a48e2abc9 100644
--- a/src/util/StringUtil.hxx
+++ b/src/util/StringUtil.hxx
@@ -40,6 +40,13 @@ strchug_fast(char *p)
return const_cast<char *>(strchug_fast((const char *)p));
}
+/**
+ * Skip whitespace at the beginning and terminate the string after the
+ * last non-whitespace character.
+ */
+char *
+Strip(char *p);
+
gcc_pure
bool
StringStartsWith(const char *haystack, const char *needle);