summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDJ Delorie <dj@delorie.com>2005-04-03 04:41:10 +0000
committerDJ Delorie <dj@delorie.com>2005-04-03 04:41:10 +0000
commitd4a1671705e0fd511dff1f4a37845eda73dba06f (patch)
treea98d4c5f47e73a933d551bae8cb20697b5be8343
parent6a0e554aed79518cf4785127e745bb221cd0ad5f (diff)
downloadgdb-d4a1671705e0fd511dff1f4a37845eda73dba06f.tar.gz
merge from gcc
-rw-r--r--libiberty/ChangeLog4
-rw-r--r--libiberty/bcmp.c17
-rw-r--r--libiberty/bcopy.c18
-rw-r--r--libiberty/bzero.c10
4 files changed, 26 insertions, 23 deletions
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 <ghazi@caip.rutgers.edu>
+ * 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 <stddef.h>
+
+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 <stddef.h>
+
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 <stddef.h>
+
+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);
}