| /* memcmp -- compare two memory regions. |
| This function is in the public domain. */ |
| |
| /* |
| NAME |
| memcmp -- compare two memory regions |
| |
| SYNOPSIS |
| int memcmp (const void *from, const void *to, size_t count) |
| |
| DESCRIPTION |
| Compare two memory regions and return less than, |
| equal to, or greater than zero, according to lexicographical |
| ordering of the compared regions. |
| */ |
| |
| #include <ansidecl.h> |
| #ifdef __STDC__ |
| #include <stddef.h> |
| #else |
| #define size_t unsigned long |
| #endif |
| |
| int |
| DEFUN(memcmp, (str1, str2, count), |
| const PTR str1 AND const PTR str2 AND size_t count) |
| { |
| register const unsigned char *s1 = (const unsigned char*)str1; |
| register const unsigned char *s2 = (const unsigned char*)str2; |
| |
| while (count-- > 0) |
| { |
| if (*s1++ != *s2++) |
| return s1[-1] < s2[-1] ? -1 : 1; |
| } |
| return 0; |
| } |
| |