OSDN Git Service

add c++/43145 tag to changelog and testcase
[pf3gnuchains/gcc-fork.git] / libiberty / bcmp.c
index 11e4417..c639f98 100644 (file)
@@ -3,47 +3,25 @@
 
 /*
 
-NAME
+@deftypefn Supplemental int bcmp (char *@var{x}, char *@var{y}, int @var{count})
 
-       bcmp -- compare two memory regions
+Compares the first @var{count} bytes of two areas of memory.  Returns
+zero if they are the same, nonzero otherwise.  Returns zero if
+@var{count} is zero.  A nonzero result only indicates a difference,
+it does not indicate any sorting order (say, by having a positive
+result mean @var{x} sorts before @var{y}).
 
-SYNOPSIS
-
-       int bcmp (char *from, char *to, int count)
-
-DESCRIPTION
-
-       Compare two memory regions and return zero if they are identical,
-       non-zero otherwise.  If count is zero, return zero.
-
-NOTES
-
-       No guarantee is made about the non-zero returned value.  In
-       particular, the results may be signficantly different than
-       strcmp(), where the return value is guaranteed to be less than,
-       equal to, or greater than zero, according to lexicographical
-       sorting of the compared regions.
-
-BUGS
+@end deftypefn
 
 */
 
+#include <stddef.h>
+
+extern int memcmp(const void *, const void *, size_t);
 
 int
-bcmp (from, to, count)
-  char *from, *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);
 }