source: branches/libc-0.6/src/binutils/libiberty/memcmp.c

Last change on this file was 610, checked in by bird, 22 years ago

This commit was generated by cvs2svn to compensate for changes in r609,
which included commits to RCS files with non-trunk default branches.

  • Property cvs2svn:cvs-rev set to 1.1.1.2
  • Property svn:eol-style set to native
  • Property svn:executable set to *
File size: 971 bytes
Line 
1/* memcmp -- compare two memory regions.
2 This function is in the public domain. */
3
4/*
5
6@deftypefn Supplemental int memcmp (const void *@var{x}, const void *@var{y}, size_t @var{count})
7
8Compares the first @var{count} bytes of two areas of memory. Returns
9zero if they are the same, a value less than zero if @var{x} is
10lexically less than @var{y}, or a value greater than zero if @var{x}
11is lexically greater than @var{y}. Note that lexical order is determined
12as if comparing unsigned char arrays.
13
14@end deftypefn
15
16*/
17
18#include <ansidecl.h>
19#ifdef ANSI_PROTOTYPES
20#include <stddef.h>
21#else
22#define size_t unsigned long
23#endif
24
25int
26memcmp (str1, str2, count)
27 const PTR str1;
28 const PTR str2;
29 size_t count;
30{
31 register const unsigned char *s1 = (const unsigned char*)str1;
32 register const unsigned char *s2 = (const unsigned char*)str2;
33
34 while (count-- > 0)
35 {
36 if (*s1++ != *s2++)
37 return s1[-1] < s2[-1] ? -1 : 1;
38 }
39 return 0;
40}
41
Note: See TracBrowser for help on using the repository browser.