diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog index 30996687612..6e9bf117b5c 100644 --- a/libiberty/ChangeLog +++ b/libiberty/ChangeLog @@ -1,5 +1,9 @@ 2005-04-02 Kaveh R. Ghazi + * bcmp.c: Fix warnings and implement using memcmp. + * bcopy.c: Fix warnings. + * bzero.c: Fix warnings and implement using memset. + * configure.ac (ac_libiberty_warn_cflags): Add -Wwrite-strings -Wstrict-prototypes. * configure, config.in: Regenerate. diff --git a/libiberty/bcmp.c b/libiberty/bcmp.c index 1bd28160f69..c639f9895bc 100644 --- a/libiberty/bcmp.c +++ b/libiberty/bcmp.c @@ -15,20 +15,13 @@ result mean @var{x} sorts before @var{y}). */ +#include + +extern int memcmp(const void *, const void *, size_t); int -bcmp (char *from, char *to, int count) +bcmp (const void *s1, const void *s2, size_t count) { - int rtnval = 0; - - while (count-- > 0) - { - if (*from++ != *to++) - { - rtnval = 1; - break; - } - } - return (rtnval); + return memcmp (s1, s2, count); } diff --git a/libiberty/bcopy.c b/libiberty/bcopy.c index 09442474645..1e2eca9c641 100644 --- a/libiberty/bcopy.c +++ b/libiberty/bcopy.c @@ -9,17 +9,23 @@ Copies @var{length} bytes from memory region @var{in} to region */ +#include + void -bcopy (register char *src, register char *dest, int len) +bcopy (const void *src, void *dest, size_t len) { if (dest < src) - while (len--) - *dest++ = *src++; + { + const char *firsts = src; + char *firstd = dest; + while (len--) + *firstd++ = *firsts++; + } else { - char *lasts = src + (len-1); - char *lastd = dest + (len-1); + const char *lasts = (const char *)src + (len-1); + char *lastd = (char *)dest + (len-1); while (len--) - *(char *)lastd-- = *(char *)lasts--; + *lastd-- = *lasts--; } } diff --git a/libiberty/bzero.c b/libiberty/bzero.c index 1f52d2d3098..44ad73da4d6 100644 --- a/libiberty/bzero.c +++ b/libiberty/bzero.c @@ -12,12 +12,12 @@ is deprecated in favor of @code{memset}. */ +#include + +extern void *memset(void *, int, size_t); void -bzero (char *to, int count) +bzero (void *to, size_t count) { - while (count-- > 0) - { - *to++ = 0; - } + memset (to, 0, count); }