]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/blob - contrib/less/pattern.h
MFC r368207,368607:
[FreeBSD/stable/10.git] / contrib / less / pattern.h
1 /*
2  * Copyright (C) 1984-2017  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 PATTERN_TYPE          struct re_pattern_buffer *
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 PATTERN_TYPE          regex_t *
26 #define CLEAR_PATTERN(name)   name = NULL
27 #endif
28
29 #if HAVE_PCRE
30 #include <pcre.h>
31 #define PATTERN_TYPE          pcre *
32 #define CLEAR_PATTERN(name)   name = NULL
33 #endif
34
35 #if HAVE_RE_COMP
36 char *re_comp LESSPARAMS ((char*));
37 int re_exec LESSPARAMS ((char*));
38 #define PATTERN_TYPE          int
39 #define CLEAR_PATTERN(name)   name = 0
40 #endif
41
42 #if HAVE_REGCMP
43 char *regcmp LESSPARAMS ((char*));
44 char *regex LESSPARAMS ((char**, char*));
45 extern char *__loc1;
46 #define PATTERN_TYPE          char **
47 #define CLEAR_PATTERN(name)   name = NULL
48 #endif
49
50 #if HAVE_V8_REGCOMP
51 #include "regexp.h"
52 extern int reg_show_error;
53 #define PATTERN_TYPE          struct regexp *
54 #define CLEAR_PATTERN(name)   name = NULL
55 #endif
56
57 #if NO_REGEX
58 #define PATTERN_TYPE          void *
59 #define CLEAR_PATTERN(name)   
60 #endif