source: trunk/third/binutils/libiberty/memcmp.c @ 16965

Revision 16965, 811 bytes checked in by ghudson, 22 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r16964, which included commits to RCS files with non-trunk default branches.
Line 
1/* memcmp -- compare two memory regions.
2   This function is in the public domain.  */
3
4/*
5NAME
6        memcmp -- compare two memory regions
7
8SYNOPSIS
9        int memcmp (const void *from, const void *to, size_t count)
10
11DESCRIPTION
12        Compare two memory regions and return less than,
13        equal to, or greater than zero, according to lexicographical
14        ordering of the compared regions.
15*/
16
17#include <ansidecl.h>
18#ifdef __STDC__
19#include <stddef.h>
20#else
21#define size_t unsigned long
22#endif
23
24int
25DEFUN(memcmp, (str1, str2, count),
26      const PTR str1 AND const PTR str2 AND size_t count)
27{
28  register const unsigned char *s1 = (const unsigned char*)str1;
29  register const unsigned char *s2 = (const unsigned char*)str2;
30
31  while (count-- > 0)
32    {
33      if (*s1++ != *s2++)
34          return s1[-1] < s2[-1] ? -1 : 1;
35    }
36  return 0;
37}
38
Note: See TracBrowser for help on using the repository browser.