Ruby  2.0.0p247(2013-06-27revision41674)
missing/memcmp.c
Go to the documentation of this file.
00001 /* public domain rewrite of memcmp(3) */
00002 
00003 #include "ruby/missing.h"
00004 #include <stddef.h>
00005 
00006 int
00007 memcmp(const void *s1, const void *s2, size_t len)
00008 {
00009     register unsigned char *a = (unsigned char*)s1;
00010     register unsigned char *b = (unsigned char*)s2;
00011     register int tmp;
00012 
00013     for (; len; --len) {
00014         if (tmp = *a++ - *b++)
00015             return tmp;
00016     }
00017     return 0;
00018 }
00019