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 <stdlib.h>
24: #include <string.h>
25: #include <sys/types.h>
26: #include <regex.h>
27:
28:
29: int
30: main (void)
31: {
32: struct re_pattern_buffer regex;
33: const char *s;
34: int match[4];
35:
36: memset (®ex, '\0', sizeof (regex));
37:
38: s = re_compile_pattern ("xy$", 3, ®ex);
39: if (s != NULL)
40: {
41: puts ("failed to compile pattern \"xy$\"");
42: return 1;
43: }
44: else
45: match[0] = re_match_2(®ex,"xyz",3,NULL,0,0,NULL,2);
46:
47: free (regex.buffer);
48: memset (®ex, '\0', sizeof (regex));
49:
50: s = re_compile_pattern ("xy\\>", 4, ®ex);
51: if (s != NULL)
52: {
53: puts ("failed to compile pattern \"xy\\>\"");
54: return 1;
55: }
56: else
57: match[1] = re_search_2(®ex,"xyz",3,NULL,0,0,2,NULL,2);
58:
59: free (regex.buffer);
60: memset (®ex, '\0', sizeof (regex));
61:
62: s = re_compile_pattern ("xy \\<", 5, ®ex);
63: if (s != NULL)
64: {
65: puts ("failed to compile pattern \"xy \\<\"");
66: return 1;
67: }
68: else
69: {
70: match[2] = re_match_2(®ex,"xy ",4,NULL,0,0,NULL,3);
71: match[3] = re_match_2(®ex,"xy z",4,NULL,0,0,NULL,3);
72: }
73:
74: if (match[0] != -1 || match[1] != -1 || match[2] != -1 || match[3] != 3)
75: {
76: printf ("re_{match,search}_2 returned %d,%d,%d,%d, expected -1,-1,-1,3\n",
77: match[0], match[1], match[2], match[3]);
78: return 1;
79: }
80:
81: puts (" -> OK");
82:
83: return 0;
84: }