コード例 #1
0
ファイル: node.c プロジェクト: czchen/r3
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;
}
コード例 #2
0
ファイル: node.c プロジェクト: SciTeX/r3
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;
}