diff options
author | Kay Sievers <kay@vrfy.org> | 2013-08-21 22:16:44 +0200 |
---|---|---|
committer | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2013-08-22 00:52:14 -0400 |
commit | df89481a35d4d7d58c7563f3082f67c218891375 (patch) | |
tree | ac4389bf301f92b00e3b0b42f1b38fdb939f1636 /src/shared/util.h | |
parent | 2a0e0692565f0435657c93498e09cbb2d3517152 (diff) |
Optimize startswith() to macro
I guess it's easier and cleaner anyway to use simple static inline
functions instead of defines.
Diffstat (limited to 'src/shared/util.h')
-rw-r--r-- | src/shared/util.h | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/shared/util.h b/src/shared/util.h index 3be692ec33..63f4e3dff2 100644 --- a/src/shared/util.h +++ b/src/shared/util.h @@ -106,9 +106,19 @@ static inline bool isempty(const char *p) { return !p || !p[0]; } +static inline const char *startswith(const char *s, const char *prefix) { + if (strncmp(s, prefix, strlen(prefix)) == 0) + return s + strlen(prefix); + return NULL; +} + +static inline const char *startswith_no_case(const char *s, const char *prefix) { + if (strncasecmp(s, prefix, strlen(prefix)) == 0) + return s + strlen(prefix); + return NULL; +} + char *endswith(const char *s, const char *postfix) _pure_; -char *startswith(const char *s, const char *prefix) _pure_; -char *startswith_no_case(const char *s, const char *prefix) _pure_; bool first_word(const char *s, const char *word) _pure_; |