diff options
Diffstat (limited to 'lib/linux_string.c')
| -rw-r--r-- | lib/linux_string.c | 51 | 
1 files changed, 51 insertions, 0 deletions
| diff --git a/lib/linux_string.c b/lib/linux_string.c new file mode 100644 index 000000000..d5a5e08d9 --- /dev/null +++ b/lib/linux_string.c @@ -0,0 +1,51 @@ +/* + *  linux/lib/string.c + * + *  Copyright (C) 1991, 1992  Linus Torvalds + */ + +#ifdef USE_HOSTCC +#include <stdio.h> +#endif + +#include <linux/ctype.h> +#include <linux/string.h> + +/** + * skip_spaces - Removes leading whitespace from @str. + * @str: The string to be stripped. + * + * Returns a pointer to the first non-whitespace character in @str. + */ +char *skip_spaces(const char *str) +{ +	while (isspace(*str)) +		++str; +	return (char *)str; +} + +/** + * strim - 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 *strim(char *s) +{ +	size_t size; +	char *end; + +	s = skip_spaces(s); +	size = strlen(s); +	if (!size) +		return s; + +	end = s + size - 1; +	while (end >= s && isspace(*end)) +		end--; +	*(end + 1) = '\0'; + +	return s; +} |