-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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: Joe Hershberger <[email protected]>
- Loading branch information
Showing
5 changed files
with
61 additions
and
43 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters