1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21: #include <locale.h>
22: #include <stdio.h>
23: #include <string.h>
24: #include <regex.h>
25:
26: int
27: main (void)
28: {
29: struct re_pattern_buffer regex;
30: const char *s;
31: int match[3];
32: int result = 0;
33:
34: memset (®ex, '\0', sizeof (regex));
35:
36: setlocale (LC_ALL, "C");
37:
38: s = re_compile_pattern ("ab[cde]", 7, ®ex);
39: if (s != NULL)
40: {
41: puts ("re_compile_pattern returned non-NULL value");
42: result = 1;
43: }
44: else
45: {
46: match[0] = re_search_2 (®ex, "xyabez", 6, "", 0, 1, 5, NULL, 6);
47: match[1] = re_search_2 (®ex, NULL, 0, "abc", 3, 0, 3, NULL, 3);
48: match[2] = re_search_2 (®ex, "xya", 3, "bd", 2, 2, 3, NULL, 5);
49: if (match[0] != 2 || match[1] != 0 || match[2] != 2)
50: {
51: printf ("re_search_2 returned %d,%d,%d, expected 2,0,2\n",
52: match[0], match[1], match[2]);
53: result = 1;
54: }
55: else
56: puts (" -> OK");
57: }
58:
59: return result;
60: }