Ruby  1.9.3p448(2013-06-27revision41675)
memcmp.c
Go to the documentation of this file.
1 /* public domain rewrite of memcmp(3) */
2 
3 #include "ruby/missing.h"
4 #include <stddef.h>
5 
6 int
7 memcmp(const void *s1, const void *s2, size_t len)
8 {
9  register unsigned char *a = (unsigned char*)s1;
10  register unsigned char *b = (unsigned char*)s2;
11  register int tmp;
12 
13  for (; len; --len) {
14  if (tmp = *a++ - *b++)
15  return tmp;
16  }
17  return 0;
18 }
19