summaryrefslogtreecommitdiffstats
path: root/libc/string
diff options
context:
space:
mode:
authorBruce Beare <bruce.j.beare@intel.com>2011-10-25 13:06:09 +0400
committerJean-Baptiste Queru <jbq@google.com>2011-12-05 18:37:10 -0800
commitcb1df9161666db2a312814752de67fc623149a9b (patch)
treeaa6db13b060299aad917d756bce73d0c84306a4d /libc/string
parent89d3fdcae26980bf81a4622c3c83e48ead4c1c3a (diff)
downloadbionic-cb1df9161666db2a312814752de67fc623149a9b.zip
bionic-cb1df9161666db2a312814752de67fc623149a9b.tar.gz
bionic-cb1df9161666db2a312814752de67fc623149a9b.tar.bz2
string: Fix wrong comparison semantics
Chars are signed for x86 -- correct the comparison semantics. Change-Id: I2049e98eb063c0b4e83ea973d3fcae49c6817dde Author: Liubov Dmitrieva <liubov.dmitrieva@intel.com> Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
Diffstat (limited to 'libc/string')
-rw-r--r--libc/string/index.c2
-rw-r--r--libc/string/memrchr.c8
-rw-r--r--libc/string/strchr.c2
-rw-r--r--libc/string/strrchr.c2
4 files changed, 7 insertions, 7 deletions
diff --git a/libc/string/index.c b/libc/string/index.c
index fb0492f..81bfba4 100644
--- a/libc/string/index.c
+++ b/libc/string/index.c
@@ -34,7 +34,7 @@ char *
index(const char *p, int ch)
{
for (;; ++p) {
- if (*p == ch)
+ if (*p == (char) ch)
return((char *)p);
if (!*p)
return((char *)NULL);
diff --git a/libc/string/memrchr.c b/libc/string/memrchr.c
index a533fef..aeb5643 100644
--- a/libc/string/memrchr.c
+++ b/libc/string/memrchr.c
@@ -35,10 +35,10 @@ void *memrchr(const void *s, int c, size_t n)
const char* q = p + n;
while (1) {
- q--; if (q < p || q[0] == c) break;
- q--; if (q < p || q[0] == c) break;
- q--; if (q < p || q[0] == c) break;
- q--; if (q < p || q[0] == c) break;
+ q--; if (q < p || q[0] == (char) c) break;
+ q--; if (q < p || q[0] == (char) c) break;
+ q--; if (q < p || q[0] == (char) c) break;
+ q--; if (q < p || q[0] == (char) c) break;
}
if (q >= p)
return (void*)q;
diff --git a/libc/string/strchr.c b/libc/string/strchr.c
index 31ba4e2..9b4332c 100644
--- a/libc/string/strchr.c
+++ b/libc/string/strchr.c
@@ -34,7 +34,7 @@ char *
strchr(const char *p, int ch)
{
for (;; ++p) {
- if (*p == ch)
+ if (*p == (char) ch)
return((char *)p);
if (!*p)
return((char *)NULL);
diff --git a/libc/string/strrchr.c b/libc/string/strrchr.c
index 4918f82..10c07e6 100644
--- a/libc/string/strrchr.c
+++ b/libc/string/strrchr.c
@@ -36,7 +36,7 @@ strrchr(const char *p, int ch)
char *save;
for (save = NULL;; ++p) {
- if (*p == ch)
+ if (*p == (char) ch)
save = (char *)p;
if (!*p)
return(save);