History

tools lib string: Adopt prefixcmp() from perf and subcmd

Both had copies originating from git.git, move those to tools/lib/string.c, getting both tools/lib/subcmd/ and tools/perf/ to use it.

Arnaldo Carvalho de Melo committed 9 years ago

Commit 96395cb1 parent 3caeafc7 files · +13 −20Browse files

Unified · Split

7 files
  1. tools/include/linux/string.h +2 −0
  2. tools/lib/string.c +9 −0
  3. tools/lib/subcmd/help.c +1 −0
  4. tools/lib/subcmd/parse-options.c +1 −0
  5. tools/lib/subcmd/subcmd-util.h +0 −9
  6. tools/perf/util/strbuf.c +0 −9
  7. tools/perf/util/util.h +0 −2
tools/include/linux/string.h+2−0
@@ -18,4 +18,6 @@ extern size_t strlcpy(char *dest, const char *src, size_t size); · 17 unmodified lines
1818
1919 char *str_error_r(int errnum, char *buf, size_t buflen);
2020
21+int prefixcmp(const char *str, const char *prefix);
22+
2123 #endif /* _LINUX_STRING_H_ */
tools/lib/string.c+9−0
@@ -87,3 +87,12 @@ size_t __weak strlcpy(char *dest, const char *src, size_t size) · 86 unmodified lines
8787 }
8888 return ret;
8989 }
90+
91+int prefixcmp(const char *str, const char *prefix)
92+{
93+ for (; ; str++, prefix++)
94+ if (!*prefix)
95+ return 0;
96+ else if (*str != *prefix)
97+ return (unsigned char)*prefix - (unsigned char)*str;
98+}
tools/lib/subcmd/help.c+1−0
@@ -1,6 +1,7 @@
11 #include <stdio.h>
22 #include <stdlib.h>
33 #include <string.h>
4+#include <linux/string.h>
45 #include <termios.h>
56 #include <sys/ioctl.h>
67 #include <sys/types.h>
tools/lib/subcmd/parse-options.c+1−0
@@ -1,4 +1,5 @@
11 #include <linux/compiler.h>
2+#include <linux/string.h>
23 #include <linux/types.h>
34 #include <stdio.h>
45 #include <stdlib.h>
tools/lib/subcmd/subcmd-util.h+0−9
@@ -79,13 +79,4 @@ static inline void astrcat(char **out, const char *add) · 78 unmodified lines
7979 free(tmp);
8080 }
8181
82−static inline int prefixcmp(const char *str, const char *prefix)
83−{
84− for (; ; str++, prefix++)
85− if (!*prefix)
86− return 0;
87− else if (*str != *prefix)
88− return (unsigned char)*prefix - (unsigned char)*str;
89−}
90−
9182 #endif /* __SUBCMD_UTIL_H */
tools/perf/util/strbuf.c+0−9
@@ -3,15 +3,6 @@ · 2 unmodified lines
33 #include <linux/kernel.h>
44 #include <errno.h>
55
6−int prefixcmp(const char *str, const char *prefix)
7−{
8− for (; ; str++, prefix++)
9− if (!*prefix)
10− return 0;
11− else if (*str != *prefix)
12− return (unsigned char)*prefix - (unsigned char)*str;
13−}
14−
156 /*
167 * Used as the default ->buf value, so that people can always assume
178 * buf is non NULL and ->buf is NUL terminated even for a freshly
tools/perf/util/util.h+0−2
@@ -30,8 +30,6 @@ void warning(const char *err, ...) __attribute__((format (printf, 1, 2))); · 29 unmodified lines
3030
3131 void set_warning_routine(void (*routine)(const char *err, va_list params));
3232
33−int prefixcmp(const char *str, const char *prefix);
34−
3533 static inline void *zalloc(size_t size)
3634 {
3735 return calloc(1, size);