Commit aad8afd9 authored by Geoff Simmons's avatar Geoff Simmons

use some miniobj macros (improves safety), & inline the static match function

parent e88e8239
...@@ -75,10 +75,10 @@ free_sess_tbl(void *priv) ...@@ -75,10 +75,10 @@ free_sess_tbl(void *priv)
if (tbl->sess[i] != NULL) { if (tbl->sess[i] != NULL) {
if (tbl->sess[i]->pattern != NULL) if (tbl->sess[i]->pattern != NULL)
free(tbl->sess[i]->pattern); free(tbl->sess[i]->pattern);
free(tbl->sess[i]); FREE_OBJ(tbl->sess[i]);
} }
free(tbl->sess); free(tbl->sess);
free(tbl); FREE_OBJ(tbl);
} }
/* /*
...@@ -115,7 +115,7 @@ re_init(struct vmod_priv *priv, ...@@ -115,7 +115,7 @@ re_init(struct vmod_priv *priv,
return (0); return (0);
} }
static unsigned static inline unsigned
match(struct sess *sp, struct vmod_priv *priv_vcl, struct vmod_priv *priv_call, match(struct sess *sp, struct vmod_priv *priv_vcl, struct vmod_priv *priv_call,
const char *str, const char *pattern, int dynamic) const char *str, const char *pattern, int dynamic)
{ {
...@@ -162,11 +162,8 @@ match(struct sess *sp, struct vmod_priv *priv_vcl, struct vmod_priv *priv_call, ...@@ -162,11 +162,8 @@ match(struct sess *sp, struct vmod_priv *priv_vcl, struct vmod_priv *priv_call,
erroffset); erroffset);
else { else {
priv_call->free = VRT_re_fini; priv_call->free = VRT_re_fini;
if (dynamic) { if (dynamic)
if (ov->pattern != NULL) REPLACE(ov->pattern, pattern);
free(ov->pattern);
ov->pattern = strdup(pattern);
}
} }
} }
AZ(pthread_mutex_unlock(&re_mutex)); AZ(pthread_mutex_unlock(&re_mutex));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment