xref: /netbsd-src/external/gpl3/gcc/dist/libgcc/memcmp.c (revision 48fb7bfab72acd4281a53bbee5ccf3f809019e75)
1*48fb7bfaSmrg /* Public domain.  */
2*48fb7bfaSmrg #include <stddef.h>
3*48fb7bfaSmrg 
4*48fb7bfaSmrg int
memcmp(const void * str1,const void * str2,size_t count)5*48fb7bfaSmrg memcmp (const void *str1, const void *str2, size_t count)
6*48fb7bfaSmrg {
7*48fb7bfaSmrg   const unsigned char *s1 = str1;
8*48fb7bfaSmrg   const unsigned char *s2 = str2;
9*48fb7bfaSmrg 
10*48fb7bfaSmrg   while (count-- > 0)
11*48fb7bfaSmrg     {
12*48fb7bfaSmrg       if (*s1++ != *s2++)
13*48fb7bfaSmrg 	  return s1[-1] < s2[-1] ? -1 : 1;
14*48fb7bfaSmrg     }
15*48fb7bfaSmrg   return 0;
16*48fb7bfaSmrg }
17