1/*	$NetBSD: pattern.h,v 1.3 2011/07/03 20:14:13 tron Exp $	*/
2
3/*
4 * Copyright (C) 1984-2011  Mark Nudelman
5 *
6 * You may distribute under the terms of either the GNU General Public
7 * License or the Less License, as specified in the README file.
8 *
9 * For more information about less, or for information on how to
10 * contact the author, see the README file.
11 */
12
13#if HAVE_POSIX_REGCOMP
14#include <regex.h>
15#ifdef REG_EXTENDED
16extern int more_mode;
17#define	REGCOMP_FLAG	(more_mode ? 0 : REG_EXTENDED)
18#else
19#define	REGCOMP_FLAG	0
20#endif
21#define DEFINE_PATTERN(name)  regex_t *name
22#define CLEAR_PATTERN(name)   name = NULL
23#endif
24
25#if HAVE_PCRE
26#include <pcre.h>
27#define DEFINE_PATTERN(name)  pcre *name
28#define CLEAR_PATTERN(name)   name = NULL
29#endif
30
31#if HAVE_RE_COMP
32char *re_comp();
33int re_exec();
34#define DEFINE_PATTERN(name)  int name
35#define CLEAR_PATTERN(name)   name = 0
36#endif
37
38#if HAVE_REGCMP
39char *regcmp();
40char *regex();
41extern char *__loc1;
42#define DEFINE_PATTERN(name)  char *name
43#define CLEAR_PATTERN(name)   name = NULL
44#endif
45
46#if HAVE_V8_REGCOMP
47#include "regexp.h"
48#define DEFINE_PATTERN(name)  struct regexp *name
49#define CLEAR_PATTERN(name)   name = NULL
50#endif
51
52