Commit-ID: 7bd330de43fd5693e90be13dac7fbd9af3b6335d Gitweb: https://git.kernel.org/tip/7bd330de43fd5693e90be13dac7fbd9af3b6335d Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> AuthorDate: Tue, 25 Jun 2019 21:23:18 -0300 Committer: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> CommitDate: Tue, 25 Jun 2019 21:23:18 -0300 tools lib: Adopt skip_spaces() from the kernel sources Same implementation, will be used to replace ad-hoc equivalent code in tools/. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: André Goddard Rosa <andre.goddard@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: https://lkml.kernel.org/n/tip-dig691cg9ripvoiprpidthw7@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> --- tools/include/linux/string.h | 4 +++- tools/lib/string.c | 14 ++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/tools/include/linux/string.h b/tools/include/linux/string.h index 6c3e2cc274c5..cee239350a6b 100644 --- a/tools/include/linux/string.h +++ b/tools/include/linux/string.h @@ -29,4 +29,6 @@ static inline bool strstarts(const char *str, const char *prefix) return strncmp(str, prefix, strlen(prefix)) == 0; } -#endif /* _LINUX_STRING_H_ */ +extern char * __must_check skip_spaces(const char *); + +#endif /* _TOOLS_LINUX_STRING_H_ */ diff --git a/tools/lib/string.c b/tools/lib/string.c index 93b3d4b6feac..50d400822bb3 100644 --- a/tools/lib/string.c +++ b/tools/lib/string.c @@ -17,6 +17,7 @@ #include <string.h> #include <errno.h> #include <linux/string.h> +#include <linux/ctype.h> #include <linux/compiler.h> /** @@ -106,3 +107,16 @@ size_t __weak strlcpy(char *dest, const char *src, size_t size) } return ret; } + +/** + * 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; +}
![]() |