diff options
| -rw-r--r-- | include/linux/linux_string.h | 8 | ||||
| -rw-r--r-- | include/linux/string.h | 5 | ||||
| -rw-r--r-- | lib/Makefile | 1 | ||||
| -rw-r--r-- | lib/linux_string.c | 51 | ||||
| -rw-r--r-- | lib/string.c | 39 | 
5 files changed, 61 insertions, 43 deletions
| diff --git a/include/linux/linux_string.h b/include/linux/linux_string.h new file mode 100644 index 000000000..192b4c9be --- /dev/null +++ b/include/linux/linux_string.h @@ -0,0 +1,8 @@ +#ifndef _LINUX_LINUX_STRING_H_ +#define _LINUX_LINUX_STRING_H_ + +extern char * skip_spaces(const char *); + +extern char *strim(char *); + +#endif diff --git a/include/linux/string.h b/include/linux/string.h index de833554a..e9b134d14 100644 --- a/include/linux/string.h +++ b/include/linux/string.h @@ -50,10 +50,7 @@ extern char * strchr(const char *,int);  #ifndef __HAVE_ARCH_STRRCHR  extern char * strrchr(const char *,int);  #endif -extern char * skip_spaces(const char *); - -extern char *strim(char *); - +#include <linux/linux_string.h>  #ifndef __HAVE_ARCH_STRSTR  extern char * strstr(const char *,const char *);  #endif diff --git a/lib/Makefile b/lib/Makefile index f83f6e8d8..86ca1a6ec 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -69,6 +69,7 @@ endif  COBJS-y += crc32.o  COBJS-y += ctype.o  COBJS-y += div64.o +COBJS-y += linux_string.o  COBJS-y += string.o  COBJS-y += time.o  COBJS-$(CONFIG_BOOTP_PXE) += uuid.o 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; +} diff --git a/lib/string.c b/lib/string.c index 68f60bea1..09dfae03c 100644 --- a/lib/string.c +++ b/lib/string.c @@ -222,45 +222,6 @@ char * strrchr(const char * s, int c)  }  #endif - -/** - * 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; -}  #ifndef __HAVE_ARCH_STRLEN  /**   * strlen - Find the length of a string |