RegexData.cc File Reference
#include "squid.h"
#include "acl/Acl.h"
#include "acl/Checklist.h"
#include "acl/RegexData.h"
#include "base/RegexPattern.h"
#include "cache_cf.h"
#include "ConfigParser.h"
#include "Debug.h"
#include "sbuf/Algorithms.h"
#include "sbuf/List.h"
Include dependency graph for RegexData.cc:

Go to the source code of this file.

Functions

static const char * removeUnnecessaryWildcards (char *t)
 
static bool compileRE (std::list< RegexPattern > &curlist, const char *RE, int flags)
 
static bool compileRE (std::list< RegexPattern > &curlist, const SBufList &RE, int flags)
 
static int compileOptimisedREs (std::list< RegexPattern > &curlist, const SBufList &sl, const int flagsAtLineStart)
 
static void compileUnoptimisedREs (std::list< RegexPattern > &curlist, const SBufList &sl, const int flagsAtLineStart)
 

Function Documentation

◆ compileOptimisedREs()

static int compileOptimisedREs ( std::list< RegexPattern > &  curlist,
const SBufList sl,
const int  flagsAtLineStart 
)
static

Compose and compile one large RE from a set of (small) REs. The ultimate goal is to have only one RE per ACL so that match() is called only once per ACL.

Definition at line 155 of file RegexData.cc.

References cfg_filename, compileRE(), config_input_line, config_lineno, DBG_IMPORTANT, debugs, opt_parse_cfg_only, and REG_ICASE.

Referenced by ACLRegexData::parse().

◆ compileRE() [1/2]

static bool compileRE ( std::list< RegexPattern > &  curlist,
const char *  RE,
int  flags 
)
static

◆ compileRE() [2/2]

static bool compileRE ( std::list< RegexPattern > &  curlist,
const SBufList RE,
int  flags 
)
static

Definition at line 139 of file RegexData.cc.

References SBuf::begin(), SBuf::c_str(), compileRE(), and JoinContainerIntoSBuf().

◆ compileUnoptimisedREs()

static void compileUnoptimisedREs ( std::list< RegexPattern > &  curlist,
const SBufList sl,
const int  flagsAtLineStart 
)
static

Definition at line 228 of file RegexData.cc.

References compileRE(), DBG_CRITICAL, debugs, and REG_ICASE.

Referenced by ACLRegexData::parse().

◆ removeUnnecessaryWildcards()

static const char* removeUnnecessaryWildcards ( char *  t)
static

Definition at line 89 of file RegexData.cc.

References cfg_filename, config_input_line, config_lineno, DBG_IMPORTANT, and debugs.

Referenced by ACLRegexData::parse().

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors