Skip to content
Snippets Groups Projects
Commit e772cb30 authored by Joe Hershberger's avatar Joe Hershberger Committed by Tom Rini
Browse files

Make linux kernel string funcs available to tools


isspace() and strim() are not in the typical user-mode string.h, so
put them in a separate compilation unit so that they can be built into
tools that need them independent of the other common string functions.

This allows code shared by u-boot and the linux user-mode tools to link.

Signed-off-by: default avatarJoe Hershberger <joe.hershberger@ni.com>
parent 9960d9a8
No related branches found
No related tags found
No related merge requests found
#ifndef _LINUX_LINUX_STRING_H_
#define _LINUX_LINUX_STRING_H_
extern char * skip_spaces(const char *);
extern char *strim(char *);
#endif
...@@ -50,10 +50,7 @@ extern char * strchr(const char *,int); ...@@ -50,10 +50,7 @@ extern char * strchr(const char *,int);
#ifndef __HAVE_ARCH_STRRCHR #ifndef __HAVE_ARCH_STRRCHR
extern char * strrchr(const char *,int); extern char * strrchr(const char *,int);
#endif #endif
extern char * skip_spaces(const char *); #include <linux/linux_string.h>
extern char *strim(char *);
#ifndef __HAVE_ARCH_STRSTR #ifndef __HAVE_ARCH_STRSTR
extern char * strstr(const char *,const char *); extern char * strstr(const char *,const char *);
#endif #endif
......
...@@ -69,6 +69,7 @@ endif ...@@ -69,6 +69,7 @@ endif
COBJS-y += crc32.o COBJS-y += crc32.o
COBJS-y += ctype.o COBJS-y += ctype.o
COBJS-y += div64.o COBJS-y += div64.o
COBJS-y += linux_string.o
COBJS-y += string.o COBJS-y += string.o
COBJS-y += time.o COBJS-y += time.o
COBJS-$(CONFIG_BOOTP_PXE) += uuid.o COBJS-$(CONFIG_BOOTP_PXE) += uuid.o
......
/*
* 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;
}
...@@ -222,45 +222,6 @@ char * strrchr(const char * s, int c) ...@@ -222,45 +222,6 @@ char * strrchr(const char * s, int c)
} }
#endif #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 #ifndef __HAVE_ARCH_STRLEN
/** /**
* strlen - Find the length of a string * strlen - Find the length of a string
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment