#include /*lint -e613 memcmp is defined here because some vendors don't implement it, strcmp, or strncmp correctly; they must treat the bytes as unsigned chars. */ int memcmp(const void *s1, const void *s2, size_t n) { const unsigned char *cs1 = s1, *cs2 = s2; for ( ; n-- > 0; cs1++, cs2++) if (*cs1 != *cs2) return *cs1 - *cs2; return 0; }