summaryrefslogtreecommitdiff
path: root/src/sp_pcre_compat.h
blob: a9eb253dc12d8ff4cdb75978be2536f55e2df197 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#ifndef SP_PCRE_COMPAT_H
#define SP_PCRE_COMPAT_H

#include <stdlib.h>
#include <stdbool.h>

#undef pcre_exec
#undef pcre_compile

/* We're not supporting pcre2 when it's not bundled with php7,
 * yet. Pull-requests are welcome. */
#if HAVE_BUNDLED_PCRE
  #if PHP_VERSION_ID >= 70300
    #define SP_HAS_PCRE2
    #include "ext/pcre/pcre2lib/pcre2.h"
  #else
    #include "ext/pcre/pcrelib/pcre.h"
  #endif
#else
 #include "pcre.h"
#endif

#ifdef SP_HAS_PCRE2
  #define sp_pcre pcre2_code 
#else
  #define sp_pcre pcre
#endif

sp_pcre* sp_pcre_compile(const char* str);
#define sp_is_regexp_matching(regexp, str) \
	sp_is_regexp_matching_len(regexp, str, strlen(str))
bool sp_is_regexp_matching_len(const sp_pcre* regexp, const char* str, size_t len);

#endif // SP_PCRE_COMPAT_H