123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- #include <string.h>
- #ifdef _TLIBC_USE_INTEL_FAST_STRING_
- extern int _intel_fast_memcmp(void *, void *, size_t);
- #endif
- int
- __memcmp(const void *s1, const void *s2, size_t n)
- {
- if (n != 0) {
- const unsigned char *p1 = (const unsigned char *)s1;
- const unsigned char *p2 = (const unsigned char *)s2;
- do {
- if (*p1++ != *p2++)
- return (*--p1 - *--p2);
- } while (--n != 0);
- }
- return (0);
- }
- int
- memcmp(const void *s1, const void *s2, size_t n)
- {
- #ifdef _TLIBC_USE_INTEL_FAST_STRING_
- return _intel_fast_memcmp((void*)s1, (void*)s2, n);
- #else
- return __memcmp(s1, s2, n);
- #endif
- }
|