]> CyberLeo.Net >> Repos - FreeBSD/releng/9.2.git/blob - contrib/less/pattern.h
- Copy stable/9 to releng/9.2 as part of the 9.2-RELEASE cycle.
[FreeBSD/releng/9.2.git] / contrib / less / pattern.h
1 /*
2  * Copyright (C) 1984-2012  Mark Nudelman
3  *
4  * You may distribute under the terms of either the GNU General Public
5  * License or the Less License, as specified in the README file.
6  *
7  * For more information, see the README file.
8  */
9
10 #if HAVE_GNU_REGEX
11 #define __USE_GNU 1
12 #include <regex.h>
13 #define DEFINE_PATTERN(name)  struct re_pattern_buffer *name
14 #define CLEAR_PATTERN(name)   name = NULL
15 #endif
16
17 #if HAVE_POSIX_REGCOMP
18 #include <regex.h>
19 #ifdef REG_EXTENDED
20 extern int less_is_more;
21 #define REGCOMP_FLAG    (less_is_more ? 0 : REG_EXTENDED)
22 #else
23 #define REGCOMP_FLAG    0
24 #endif
25 #define DEFINE_PATTERN(name)  regex_t *name
26 #define CLEAR_PATTERN(name)   name = NULL
27 #endif
28
29 #if HAVE_PCRE
30 #include <pcre.h>
31 #define DEFINE_PATTERN(name)  pcre *name
32 #define CLEAR_PATTERN(name)   name = NULL
33 #endif
34
35 #if HAVE_RE_COMP
36 char *re_comp();
37 int re_exec();
38 #define DEFINE_PATTERN(name)  int name
39 #define CLEAR_PATTERN(name)   name = 0
40 #endif
41
42 #if HAVE_REGCMP
43 char *regcmp();
44 char *regex();
45 extern char *__loc1;
46 #define DEFINE_PATTERN(name)  char *name
47 #define CLEAR_PATTERN(name)   name = NULL
48 #endif
49
50 #if HAVE_V8_REGCOMP
51 #include "regexp.h"
52 #define DEFINE_PATTERN(name)  struct regexp *name
53 #define CLEAR_PATTERN(name)   name = NULL
54 #endif
55
56 #if NO_REGEX
57 #define DEFINE_PATTERN(name)  
58 #define CLEAR_PATTERN(name)   
59 #endif