diff options
author | Bruce Beare <bruce.j.beare@intel.com> | 2011-10-25 13:06:09 +0400 |
---|---|---|
committer | Jean-Baptiste Queru <jbq@google.com> | 2011-12-05 18:37:10 -0800 |
commit | cb1df9161666db2a312814752de67fc623149a9b (patch) | |
tree | aa6db13b060299aad917d756bce73d0c84306a4d /libc/string | |
parent | 89d3fdcae26980bf81a4622c3c83e48ead4c1c3a (diff) | |
download | bionic-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.c | 2 | ||||
-rw-r--r-- | libc/string/memrchr.c | 8 | ||||
-rw-r--r-- | libc/string/strchr.c | 2 | ||||
-rw-r--r-- | libc/string/strrchr.c | 2 |
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); |