summaryrefslogtreecommitdiff
path: root/src/sp_config.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/sp_config.c')
-rw-r--r--src/sp_config.c23
1 files changed, 10 insertions, 13 deletions
diff --git a/src/sp_config.c b/src/sp_config.c
index bc9aa0d..7294b0e 100644
--- a/src/sp_config.c
+++ b/src/sp_config.c
@@ -228,20 +228,17 @@ SP_PARSEKW_FN(parse_cidr) {
228} 228}
229 229
230SP_PARSEKW_FN(parse_regexp) { 230SP_PARSEKW_FN(parse_regexp) {
231 /* TODO: Do we want to use pcre_study?
232 * (http://www.pcre.org/original/doc/html/pcre_study.html)
233 * maybe not: http://sljit.sourceforge.net/pcre.html*/
234 CHECK_DUPLICATE_KEYWORD(retval); 231 CHECK_DUPLICATE_KEYWORD(retval);
235 SP_PARSE_ARG(value); 232 SP_PARSE_ARG(value);
236 233
237 sp_pcre *compiled_re = sp_pcre_compile(ZSTR_VAL(value)); 234 sp_regexp *compiled_re = sp_regexp_compile(value);
238 if (!compiled_re) { 235 if (!compiled_re) {
239 sp_log_err("config", "Invalid regexp '%s' for '.%s()' on line %zu", ZSTR_VAL(value), token, kw->lineno); 236 sp_log_err("config", "Invalid regexp '%s' for '.%s()' on line %zu", ZSTR_VAL(value), token, kw->lineno);
240 zend_string_release_ex(value, 1); 237 zend_string_release_ex(value, 1);
241 return SP_PARSER_ERROR; 238 return SP_PARSER_ERROR;
242 } 239 }
243 240
244 *(sp_pcre **)retval = compiled_re; 241 *(sp_regexp **)retval = compiled_re;
245 242
246 return SP_PARSER_SUCCESS; 243 return SP_PARSER_SUCCESS;
247} 244}
@@ -252,24 +249,24 @@ void sp_free_disabled_function(void *data) {
252 sp_free_zstr(df->textual_representation); 249 sp_free_zstr(df->textual_representation);
253 250
254 sp_free_zstr(df->filename); 251 sp_free_zstr(df->filename);
255 sp_pcre_free(df->r_filename); 252 sp_regexp_free(df->r_filename);
256 253
257 sp_free_zstr(df->function); 254 sp_free_zstr(df->function);
258 sp_pcre_free(df->r_function); 255 sp_regexp_free(df->r_function);
259 sp_list_free(df->functions_list, free); 256 sp_list_free(df->functions_list, free);
260 257
261 sp_free_zstr(df->hash); 258 sp_free_zstr(df->hash);
262 259
263 sp_tree_free(df->param); 260 sp_tree_free(df->param);
264 sp_pcre_free(df->r_param); 261 sp_regexp_free(df->r_param);
265 262
266 sp_pcre_free(df->r_ret); 263 sp_regexp_free(df->r_ret);
267 sp_free_zstr(df->ret); 264 sp_free_zstr(df->ret);
268 265
269 sp_pcre_free(df->r_value); 266 sp_regexp_free(df->r_value);
270 sp_free_zstr(df->value); 267 sp_free_zstr(df->value);
271 268
272 sp_pcre_free(df->r_key); 269 sp_regexp_free(df->r_key);
273 sp_free_zstr(df->key); 270 sp_free_zstr(df->key);
274 271
275 sp_free_zstr(df->dump); 272 sp_free_zstr(df->dump);
@@ -287,7 +284,7 @@ void sp_free_cookie(void *data) {
287 sp_cookie *c = data; 284 sp_cookie *c = data;
288 if (c->name) 285 if (c->name)
289 zend_string_release_ex(c->name, 1); 286 zend_string_release_ex(c->name, 1);
290 sp_pcre_free(c->name_r); 287 sp_regexp_free(c->name_r);
291} 288}
292 289
293void sp_free_zstr(void *data) { 290void sp_free_zstr(void *data) {
@@ -302,7 +299,7 @@ void sp_free_ini_entry(void *data) {
302 sp_free_zstr(entry->key); 299 sp_free_zstr(entry->key);
303 sp_free_zstr(entry->min); 300 sp_free_zstr(entry->min);
304 sp_free_zstr(entry->max); 301 sp_free_zstr(entry->max);
305 sp_pcre_free(entry->regexp); 302 sp_regexp_free(entry->regexp);
306 sp_free_zstr(entry->msg); 303 sp_free_zstr(entry->msg);
307 sp_free_zstr(entry->set); 304 sp_free_zstr(entry->set);
308} 305}