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 | /* |
---|
5 | NAME |
---|
6 | memcmp -- compare two memory regions |
---|
7 | |
---|
8 | SYNOPSIS |
---|
9 | int memcmp (const void *from, const void *to, size_t count) |
---|
10 | |
---|
11 | DESCRIPTION |
---|
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 | |
---|
24 | int |
---|
25 | DEFUN(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.