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