mirror of
https://xff.cz/git/u-boot/
synced 2025-09-01 16:52:14 +02:00
Add strcasecmp() and strncasecmp()
strncasecmp() is present as strnicmp() but disabled. Make it available and define strcasecmp() also. There is a only a small performance penalty to having strcasecmp() call strncasecmp(), so do this instead of a standalone function, to save code space. Update the prototype in arch-specific headers as needed to avoid warnings. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
16
lib/string.c
16
lib/string.c
@@ -21,14 +21,13 @@
|
||||
#include <malloc.h>
|
||||
|
||||
|
||||
#if 0 /* not used - was: #ifndef __HAVE_ARCH_STRNICMP */
|
||||
/**
|
||||
* strnicmp - Case insensitive, length-limited string comparison
|
||||
* strncasecmp - Case insensitive, length-limited string comparison
|
||||
* @s1: One string
|
||||
* @s2: The other string
|
||||
* @len: the maximum number of characters to compare
|
||||
*/
|
||||
int strnicmp(const char *s1, const char *s2, size_t len)
|
||||
int strncasecmp(const char *s1, const char *s2, size_t len)
|
||||
{
|
||||
/* Yes, Virginia, it had better be unsigned */
|
||||
unsigned char c1, c2;
|
||||
@@ -52,7 +51,16 @@ int strnicmp(const char *s1, const char *s2, size_t len)
|
||||
}
|
||||
return (int)c1 - (int)c2;
|
||||
}
|
||||
#endif
|
||||
|
||||
/**
|
||||
* strcasecmp - Case insensitive string comparison
|
||||
* @s1: One string
|
||||
* @s2: The other string
|
||||
*/
|
||||
int strcasecmp(const char *s1, const char *s2)
|
||||
{
|
||||
return strncasecmp(s1, s2, -1U);
|
||||
}
|
||||
|
||||
char * ___strtok;
|
||||
|
||||
|
Reference in New Issue
Block a user