[coreboot] [commit] r5785 - trunk/payloads/libpayload/libc
repository service
svn at coreboot.org
Wed Sep 8 12:27:14 CEST 2010
Author: oxygene
Date: Wed Sep 8 12:27:13 2010
New Revision: 5785
URL: https://tracker.coreboot.org/trac/coreboot/changeset/5785
Log:
Changes to str*cmp functions. Fixes a couple more corner cases.
Signed-off-by: Liu Tao <liutao1980 at gmail.com>
Acked-by: Patrick Georgi <patrick.georgi at coresystems.de>
Modified:
trunk/payloads/libpayload/libc/string.c
Modified: trunk/payloads/libpayload/libc/string.c
==============================================================================
--- trunk/payloads/libpayload/libc/string.c Wed Sep 8 01:27:59 2010 (r5784)
+++ trunk/payloads/libpayload/libc/string.c Wed Sep 8 12:27:13 2010 (r5785)
@@ -89,14 +89,15 @@
*/
int strcasecmp(const char *s1, const char *s2)
{
- int i;
+ int i, res;
- for (i = 0; s1[i] != '\0'; i++) {
- if (tolower(s1[i]) != tolower(s2[i]))
- return s1[i] - s2[i];
+ for (i = 0; 1; i++) {
+ res = tolower(s1[i]) - tolower(s2[i]);
+ if (res || (s1[i] == '\0'))
+ break;
}
- return 0;
+ return res;
}
/**
@@ -109,14 +110,16 @@
*/
int strncasecmp(const char *s1, const char *s2, size_t maxlen)
{
- int i;
+ int i, res;
+ res = 0;
for (i = 0; i < maxlen; i++) {
- if (tolower(s1[i]) != tolower(s2[i]))
- return s1[i] - s2[i];
+ res = tolower(s1[i]) - tolower(s2[i]);
+ if (res || (s1[i] == '\0'))
+ break;
}
- return s1[i] - s2[i];
+ return res;
}
/**
@@ -130,14 +133,15 @@
*/
int strcmp(const char *s1, const char *s2)
{
- int i;
+ int i, res;
- for (i = 0; s1[i] != '\0'; i++) {
- if (s1[i] != s2[i])
- return s1[i] - s2[i];
+ for (i = 0; 1; i++) {
+ res = s1[i] - s2[i];
+ if (res || (s1[i] == '\0'))
+ break;
}
- return s1[i] - s2[i];
+ return res;
}
/**
@@ -150,14 +154,16 @@
*/
int strncmp(const char *s1, const char *s2, size_t maxlen)
{
- int i;
+ int i, res;
+ res = 0;
for (i = 0; i < maxlen; i++) {
- if (s1[i] != s2[i])
- return s1[i] - s2[i];
+ res = s1[i] - s2[i];
+ if (res || (s1[i] == '\0'))
+ break;
}
- return 0;
+ return res;
}
/**
More information about the coreboot
mailing list