void r3_tree_free(node * tree) { for (int i = 0 ; i < tree->edge_len ; i++ ) { if (tree->edges[i]) { r3_edge_free(tree->edges[ i ]); } } if (tree->edges) { zfree(tree->edges); } if (tree->routes) { zfree(tree->routes); } if (tree->pcre_pattern) { pcre_free(tree->pcre_pattern); } #ifdef PCRE_STUDY_JIT_COMPILE if (tree->pcre_extra) { pcre_free_study(tree->pcre_extra); } #endif if (tree->combined_pattern) zfree(tree->combined_pattern); if (tree->ov) zfree(tree->ov); zfree(tree); tree = NULL; }
void r3_tree_free(node * tree) { for (int i = 0 ; i < tree->edge_len ; i++ ) { if (tree->edges[i]) { r3_edge_free(tree->edges[ i ]); } } if (tree->combined_pattern) free(tree->combined_pattern); if (tree->pcre_pattern) free(tree->pcre_pattern); if (tree->pcre_extra) free(tree->pcre_extra); if (tree->ov) free(tree->ov); free(tree->edges); // str_array_free(tree->edge_patterns); free(tree); tree = NULL; }