blob: 0f65ae2f1aa85e9ec688f98b40b0ec58f66bf49e [file] [log] [blame]
/*
* Copyright (C) Igor Sysoev
* Copyright (C) NGINX, Inc.
*/
#ifndef _NJS_PCRE_H_INCLUDED_
#define _NJS_PCRE_H_INCLUDED_
#include <pcre.h>
#define NJS_REGEX_NOMATCH PCRE_ERROR_NOMATCH
struct njs_regex_s {
pcre *code;
pcre_extra *extra;
int ncaptures;
int backrefmax;
int nentries;
int entry_size;
char *entries;
};
struct njs_regex_match_data_s {
int ncaptures;
/*
* Each capture is stored in 3 "int" vector elements.
* The N capture positions are stored in [n * 2] and [n * 2 + 1] elements.
* The 3rd bookkeeping elements are at the end of the vector.
* The first vector is for the "$0" capture and it is always allocated.
*/
int captures[3];
};
#endif /* _NJS_PCRE_H_INCLUDED_ */