OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [gdb-5.3/] [libiberty/] [memcmp.c] - Blame information for rev 1773

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1181 sfurman
/* 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
 
8
Compares the first @var{count} bytes of two areas of memory.  Returns
9
zero if they are the same, a value less than zero if @var{x} is
10
lexically less than @var{y}, or a value greater than zero if @var{x}
11
is lexically greater than @var{y}.  Note that lexical order is determined
12
as if comparing unsigned char arrays.
13
 
14
@end deftypefn
15
 
16
*/
17
 
18
#include <ansidecl.h>
19
#ifdef __STDC__
20
#include <stddef.h>
21
#else
22
#define size_t unsigned long
23
#endif
24
 
25
int
26
DEFUN(memcmp, (str1, str2, count),
27
      const PTR str1 AND const PTR str2 AND size_t count)
28
{
29
  register const unsigned char *s1 = (const unsigned char*)str1;
30
  register const unsigned char *s2 = (const unsigned char*)str2;
31
 
32
  while (count-- > 0)
33
    {
34
      if (*s1++ != *s2++)
35
          return s1[-1] < s2[-1] ? -1 : 1;
36
    }
37
  return 0;
38
}
39
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.