X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=libiberty%2Fbcmp.c;h=c639f9895bcf35f5a5ef96e93b97177b471124ff;hb=2a410bd1c373d377c221476ccda2156b595e6d6b;hp=11e4417db159e4e234b5389a2f57c4165dba7a34;hpb=252b5132c753830d5fd56823373aed85f2a0db63;p=deliverable%2Fbinutils-gdb.git diff --git a/libiberty/bcmp.c b/libiberty/bcmp.c index 11e4417db1..c639f9895b 100644 --- a/libiberty/bcmp.c +++ b/libiberty/bcmp.c @@ -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 + +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); }