int RFG_Regions_free( RFG_Regions* regions ) { int ret = 1; if( !regions ) return 0; /* free objects for region filter and grouping */ if( !RFG_Filter_free( regions->filter ) ) ret = 0; if( !RFG_Groups_free( regions->groups ) ) ret = 0; /* free call stack */ free( regions->stack->entries ); free( regions->stack ); /* free hash tables for regions and call-path infos */ region_info_hash_free( regions->region_infos ); regions->num_region_infos = 0; cpath_info_hash_free( regions->cpath_infos ); regions->num_cpath_infos = 0; /* free self */ free( regions ); regions = NULL; return ret; }
int RFG_Regions_free( RFG_Regions* regions ) { int ret = 1; if( !regions ) return 0; /* free objects for region filter and grouping */ if( !RFG_Filter_free( regions->filter ) ) ret = 0; if( !RFG_Groups_free( regions->groups ) ) ret = 0; /* free call stack */ free( regions->stack->entries ); free( regions->stack ); /* free hash table */ hash_free( regions->htab ); /* free self */ free( regions ); regions = NULL; return ret; }