1ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#include <string.h> 2ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#include <stdio.h> 3ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#include <stdlib.h> 4ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 5ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// An issue here is that in glibc memcmp() and bcmp() are aliases. Valgrind 6ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// chooses the shorter name -- bcmp -- and reports that in the error 7ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// message, even though memcmp() was called. This is hard to avoid. 8ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brownchar *s1, *s2; 9ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brownint main ( void ) 10ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown{ 11ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown s1 = malloc(10); strcpy(s1,"fooble"); 12ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown s2 = malloc(10); strcpy(s2,"fooble"); 13ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown if (memcmp(s1, s2, 8) != 0) 14ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown printf("different\n"); 15ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown else 16ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown printf("same (?!)\n"); 17ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown return 0; 18ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown} 19ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 20ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 21