|
@@ -301,6 +301,36 @@ char *strnchr(const char *s, size_t count, int c)
|
|
|
EXPORT_SYMBOL(strnchr);
|
|
|
#endif
|
|
|
|
|
|
+/**
|
|
|
+ * strstrip - Removes leading and trailing whitespace from @s.
|
|
|
+ * @s: The string to be stripped.
|
|
|
+ *
|
|
|
+ * Note that the first trailing whitespace is replaced with a %NUL-terminator
|
|
|
+ * in the given string @s. Returns a pointer to the first non-whitespace
|
|
|
+ * character in @s.
|
|
|
+ */
|
|
|
+char *strstrip(char *s)
|
|
|
+{
|
|
|
+ size_t size;
|
|
|
+ char *end;
|
|
|
+
|
|
|
+ size = strlen(s);
|
|
|
+
|
|
|
+ if (!size)
|
|
|
+ return s;
|
|
|
+
|
|
|
+ end = s + size - 1;
|
|
|
+ while (end != s && isspace(*end))
|
|
|
+ end--;
|
|
|
+ *(end + 1) = '\0';
|
|
|
+
|
|
|
+ while (*s && isspace(*s))
|
|
|
+ s++;
|
|
|
+
|
|
|
+ return s;
|
|
|
+}
|
|
|
+EXPORT_SYMBOL(strstrip);
|
|
|
+
|
|
|
#ifndef __HAVE_ARCH_STRLEN
|
|
|
/**
|
|
|
* strlen - Find the length of a string
|