Exemplo n.º 1
0
/*********************************************************************
 *
 * Function    :  free_pattern_spec
 *
 * Description :  Called from the "unloaders".  Freez the pattern
 *                structure elements.
 *
 * Parameters  :
 *          1  :  pattern = pointer to a pattern_spec structure.
 *
 * Returns     :  N/A
 *
 *********************************************************************/
void free_pattern_spec(struct pattern_spec *pattern)
{
   if (pattern == NULL) return;

   freez(pattern->spec);
#ifdef FEATURE_EXTENDED_HOST_PATTERNS
   if (pattern->pattern.url_spec.host_regex)
   {
      regfree(pattern->pattern.url_spec.host_regex);
      freez(pattern->pattern.url_spec.host_regex);
   }
#else
   freez(pattern->pattern.url_spec.dbuffer);
   freez(pattern->pattern.url_spec.dvec);
   pattern->pattern.url_spec.dcount = 0;
#endif /* ndef FEATURE_EXTENDED_HOST_PATTERNS */
   freez(pattern->pattern.url_spec.port_list);
   if (pattern->pattern.url_spec.preg)
   {
      pcre_regfree(pattern->pattern.url_spec.preg);
      freez(pattern->pattern.url_spec.preg);
   }
   if (pattern->pattern.tag_regex)
   {
      pcre_regfree(pattern->pattern.tag_regex);
      freez(pattern->pattern.tag_regex);
   }
}
Exemplo n.º 2
0
static void RegExp_Free(KonohaContext *kctx, kObject *o)
{
	kRegExp *re = (kRegExp *)o;
	if(re->reg != NULL) {
		pcre_regfree(kctx, re->reg);
	}
}