}
}
-int mmalloc_compare_heap(xbt_mheap_t mdp1, xbt_mheap_t mdp2, void* s_heap, void* r_heap){
+int mmalloc_compare_heap(xbt_mheap_t mdp1, xbt_mheap_t mdp2, void* s_heap){
if(mdp1 == NULL && mdp2 == NULL){
fprintf(stderr, "Malloc descriptors null\n");
return 0;
}
- int errors = mmalloc_compare_mdesc(mdp1, mdp2, s_heap, r_heap);
+ int errors = mmalloc_compare_mdesc(mdp1, mdp2, s_heap);
return (errors > 0);
}
-int mmalloc_compare_mdesc(struct mdesc *mdp1, struct mdesc *mdp2, void* s_heap, void* r_heap){
+int mmalloc_compare_mdesc(struct mdesc *mdp1, struct mdesc *mdp2, void* s_heap){
int errors = 0;
int k;
int distance = 0;
+ int total_distance = 0;
void *end_heap = get_end_addr_heap(s_heap);
mmalloc_backtrace_block_display(mdp1, i);
mmalloc_backtrace_block_display(mdp2, i);
errors++;
+ total_distance += distance;
}
mmalloc_backtrace_fragment_display(mdp1, i, j);
mmalloc_backtrace_fragment_display(mdp2, i, j);
errors++;
+ total_distance += distance;
}
//free(pointed_address1);
//free(pointed_address2);
+ fprintf(stderr, "Hamming distance between heap regions : %d\n", total_distance);
+
return (errors);
}