diff options
Diffstat (limited to 'src/sp_config.c')
| -rw-r--r-- | src/sp_config.c | 23 |
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 | ||
| 230 | SP_PARSEKW_FN(parse_regexp) { | 230 | SP_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 | ||
| 293 | void sp_free_zstr(void *data) { | 290 | void 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 | } |
