malloc_info *heapinfo1, *heapinfo2;
size_t heaplimit, heapsize1, heapsize2;
+int ignore_done;
+
int mmalloc_compare_heap(xbt_mheap_t heap1, xbt_mheap_t heap2){
if(heap1 == NULL && heap1 == NULL){
int equal;
+ ignore_done = 0;
+
/* Check busy blocks*/
i1 = 1;
while(i<size){
- current_area1 = (char*)((xbt_mheap_t)s_heap)->heapbase + ((((char *)area1) + i) - (char *)heapbase1);
- if((ignore1 = heap_comparison_ignore(current_area1)) > 0){
- current_area2 = (char*)((xbt_mheap_t)s_heap)->heapbase + ((((char *)area2) + i) - (char *)heapbase2);
- if((ignore2 = heap_comparison_ignore(current_area2)) == ignore1){
- i = i + ignore2;
- continue;
+ if(ignore_done < xbt_dynar_length(mmalloc_ignore)){
+
+ current_area1 = (char*)((xbt_mheap_t)s_heap)->heapbase + ((((char *)area1) + i) - (char *)heapbase1);
+ if((ignore1 = heap_comparison_ignore(current_area1)) > 0){
+ current_area2 = (char*)((xbt_mheap_t)s_heap)->heapbase + ((((char *)area2) + i) - (char *)heapbase2);
+ if((ignore2 = heap_comparison_ignore(current_area2)) == ignore1){
+ i = i + ignore2;
+ ignore_done++;
+ continue;
+ }
}
+
}
if(memcmp(((char *)area1) + i, ((char *)area2) + i, 1) != 0){