aboutsummaryrefslogtreecommitdiffstats
path: root/src/utils.c
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2008-09-20 15:43:35 -0700
committerEric Wong <normalperson@yhbt.net>2008-09-20 15:43:35 -0700
commit5a42e7362b3745fb59f0aa49bab624f7fba83eff (patch)
treeab7c77c6d4d47324f40c5a1ddeef3928dfb676c7 /src/utils.c
parent71ac281579c8b8b384cfc09d8627b549b1854fcd (diff)
downloadmpd-5a42e7362b3745fb59f0aa49bab624f7fba83eff.tar.gz
mpd-5a42e7362b3745fb59f0aa49bab624f7fba83eff.tar.xz
mpd-5a42e7362b3745fb59f0aa49bab624f7fba83eff.zip
Add prefixcmp() (stol^H^H^H^Hborrowed from git)
This allows us to avoid the nasty repetition in strncmp(foo, bar, strlen(foo)). We'll miss out on the compiler optimizing strlen() into sizeof() - 1 for string literals for this; but we don't use this it for performance-critical functions anyways...
Diffstat (limited to '')
-rw-r--r--src/utils.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/utils.c b/src/utils.c
index 332c73587..f23f8c1fa 100644
--- a/src/utils.c
+++ b/src/utils.c
@@ -268,3 +268,13 @@ void xpthread_cond_destroy(pthread_cond_t *cond)
if ((err = pthread_cond_destroy(cond)))
FATAL("failed to destroy cond: %s\n", strerror(err));
}
+
+int prefixcmp(const char *str, const char *prefix)
+{
+ for (; ; str++, prefix++)
+ if (!*prefix)
+ return 0;
+ else if (*str != *prefix)
+ return (unsigned char)*prefix - (unsigned char)*str;
+}
+