This source file includes following definitions.
- main
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 #include <config.h>
19
20 #include "memcasecmp.h"
21
22 #include <string.h>
23
24 #include "zerosize-ptr.h"
25 #include "macros.h"
26
27 int
28 main (void)
29 {
30
31 void *page_boundary1 = zerosize_ptr ();
32 void *page_boundary2 = zerosize_ptr ();
33 if (page_boundary1 && page_boundary2)
34 ASSERT (memcasecmp (page_boundary1, page_boundary2, 0) == 0);
35 ASSERT (memcasecmp ("foo", "foobar", 2) == 0);
36 ASSERT (memcasecmp ("foo", "foobar", 3) == 0);
37 ASSERT (memcasecmp ("foo", "foobar", 4) != 0);
38 ASSERT (memcasecmp ("foo", "bar", 1) != 0);
39 ASSERT (memcasecmp ("foo", "bar", 3) != 0);
40
41
42 ASSERT (memcasecmp ("foo", "moo", 4) < 0);
43 ASSERT (memcasecmp ("moo", "foo", 4) > 0);
44 ASSERT (memcasecmp ("oomph", "oops", 3) < 0);
45 ASSERT (memcasecmp ("oops", "oomph", 3) > 0);
46 ASSERT (memcasecmp ("foo", "foobar", 4) < 0);
47 ASSERT (memcasecmp ("foobar", "foo", 4) > 0);
48
49
50 ASSERT (memcasecmp ("1\0", "2\0", 2) < 0);
51 ASSERT (memcasecmp ("2\0", "1\0", 2) > 0);
52 ASSERT (memcasecmp ("x\0""1", "x\0""2", 3) < 0);
53 ASSERT (memcasecmp ("x\0""2", "x\0""1", 3) > 0);
54
55
56
57
58 {
59 char foo[21];
60 char bar[21];
61 int i;
62 for (i = 0; i < 4; i++)
63 {
64 char *a = foo + i;
65 char *b = bar + i;
66 strcpy (a, "--------01111111");
67 strcpy (b, "--------10000000");
68 ASSERT (memcasecmp (a, b, 16) < 0);
69 }
70 }
71
72 return 0;
73 }