diff options
author | Julien Grall <julien.grall@linaro.org> | 2013-08-28 15:47:20 +0100 |
---|---|---|
committer | Ian Campbell <ian.campbell@citrix.com> | 2013-09-10 11:44:01 +0100 |
commit | 6bc02f74af03e65b5bb62450c1be43ea0f5d2989 (patch) | |
tree | d98af89cefa049b99ff4af2c0e276a4c976de16a /xen | |
parent | e6fb0c4b80b129ba2bf946de2db170ec99c7b114 (diff) | |
download | xen-6bc02f74af03e65b5bb62450c1be43ea0f5d2989.tar.gz xen-6bc02f74af03e65b5bb62450c1be43ea0f5d2989.tar.bz2 xen-6bc02f74af03e65b5bb62450c1be43ea0f5d2989.zip |
xen: Add new string function
Add strcasecmp. The code is copied from Linux.
Signed-off-by: Julien Grall <julien.grall@linaro.org>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Diffstat (limited to 'xen')
-rw-r--r-- | xen/common/string.c | 15 | ||||
-rw-r--r-- | xen/include/xen/string.h | 3 |
2 files changed, 18 insertions, 0 deletions
diff --git a/xen/common/string.c b/xen/common/string.c index db9d9d5199..9a5a4ba5e8 100644 --- a/xen/common/string.c +++ b/xen/common/string.c @@ -41,6 +41,21 @@ int strnicmp(const char *s1, const char *s2, size_t len) } #endif +#ifndef __HAVE_ARCH_STRCASECMP +int strcasecmp(const char *s1, const char *s2) +{ + int c1, c2; + + do + { + c1 = tolower(*s1++); + c2 = tolower(*s2++); + } while ( c1 == c2 && c1 != 0 ); + + return c1 - c2; +} +#endif + #ifndef __HAVE_ARCH_STRLCPY /** * strlcpy - Copy a %NUL terminated string into a sized buffer diff --git a/xen/include/xen/string.h b/xen/include/xen/string.h index f26b9949b2..f35934e287 100644 --- a/xen/include/xen/string.h +++ b/xen/include/xen/string.h @@ -43,6 +43,9 @@ extern int strncmp(const char *,const char *,__kernel_size_t); #ifndef __HAVE_ARCH_STRNICMP extern int strnicmp(const char *, const char *, __kernel_size_t); #endif +#ifndef __HAVE_ARCH_STRCASECMP +extern int strcasecmp(const char *, const char *); +#endif #ifndef __HAVE_ARCH_STRCHR extern char * strchr(const char *,int); #endif |