Fix signedness problem in memcmp.
authorUlf Jordan <jordan@chalmers.se>
Sat, 9 Aug 2008 19:34:56 +0000 (19:34 +0000)
committerPeter Stuge <peter@stuge.se>
Sat, 9 Aug 2008 19:34:56 +0000 (19:34 +0000)
Signed-off-by: Ulf Jordan <jordan@chalmers.se>
Acked-by: Peter Stuge <peter@stuge.se>
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3491 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1

payloads/libpayload/include/libpayload.h
payloads/libpayload/libc/memory.c

index 188039e0f4632ac04bf3d9e351eecdd7657163a6..ff69eaad2fc3d3fe146a7613974d3b4f0c441be3 100644 (file)
@@ -178,7 +178,7 @@ u8 hex2bin(u8 h);
 void *memset(void *s, int c, size_t n);
 void *memcpy(void *dst, const void *src, size_t n);
 void *memmove(void *dst, const void *src, size_t n);
-int memcmp(const char *s1, const char *s2, size_t len);
+int memcmp(const void *s1, const void *s2, size_t len);
 
 /* libc/printf.c */
 int snprintf(char *str, size_t size, const char *fmt, ...);
index 57c31e0bb3fa561bc427d4b3fcd6a1d096426450..eb9fecc94c12d985517dccdd5483b4e6f7ca3fee 100644 (file)
@@ -107,8 +107,8 @@ void *memmove(void *dst, const void *src, size_t n)
  * @return If len is 0, return zero. If the areas match, return zero.
  *         Otherwise return non-zero.
  */
-int memcmp(const char *s1, const char *s2, size_t len)
+int memcmp(const void *s1, const void *s2, size_t len)
 {
-       for (; len && *s1++ == *s2++; len--) ;
+       for (; len && *(char *)s1++ == *(char *)s2++; len--) ;
        return len;
 }