mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-23 09:19:51 +00:00
![Arnaldo Carvalho de Melo](/assets/img/avatar_default.png)
Replacing prefixcmp(), same purpose, inverted result, so standardize on the kernel variant, to reduce silly differences among tools/ and the kernel sources, making it easier for people to work in both codebases. And then doing: if (strstarts(option, "no-")) Looks clearer than doing: if (!prefixcmp(option, "no-")) To figure out if option starts witn "no-". Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: David Ahern <dsahern@gmail.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Josh Poimboeuf <jpoimboe@redhat.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Rusty Russell <rusty@rustcorp.com.au> Cc: Wang Nan <wangnan0@huawei.com> Link: http://lkml.kernel.org/n/tip-kaei42gi7lpa8subwtv7eug8@git.kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
31 lines
791 B
C
31 lines
791 B
C
#ifndef _TOOLS_LINUX_STRING_H_
|
|
#define _TOOLS_LINUX_STRING_H_
|
|
|
|
#include <linux/types.h> /* for size_t */
|
|
#include <string.h>
|
|
|
|
void *memdup(const void *src, size_t len);
|
|
|
|
int strtobool(const char *s, bool *res);
|
|
|
|
/*
|
|
* glibc based builds needs the extern while uClibc doesn't.
|
|
* However uClibc headers also define __GLIBC__ hence the hack below
|
|
*/
|
|
#if defined(__GLIBC__) && !defined(__UCLIBC__)
|
|
extern size_t strlcpy(char *dest, const char *src, size_t size);
|
|
#endif
|
|
|
|
char *str_error_r(int errnum, char *buf, size_t buflen);
|
|
|
|
/**
|
|
* strstarts - does @str start with @prefix?
|
|
* @str: string to examine
|
|
* @prefix: prefix to look for.
|
|
*/
|
|
static inline bool strstarts(const char *str, const char *prefix)
|
|
{
|
|
return strncmp(str, prefix, strlen(prefix)) == 0;
|
|
}
|
|
|
|
#endif /* _LINUX_STRING_H_ */
|