X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=lib%2Fstring.c;h=63077267367ea08d7770e59a9e6e6b23bb4725e7;hb=827a56ea3d9c3d5f80c5520ba9d487f9b7069238;hp=064f6315b1c3e16c731117a7e1aa185a5b2bd405;hpb=f1f76afd71e0f17af9a35fcb649f4bab53304a4d;p=powerpc.git diff --git a/lib/string.c b/lib/string.c index 064f6315b1..6307726736 100644 --- a/lib/string.c +++ b/lib/string.c @@ -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