MCPcopy Create free account
hub / github.com/cgsecurity/testdisk / init_structure_mac

Function init_structure_mac

src/partmac.c:376–408  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

374}
375
376static void init_structure_mac(const disk_t *disk_car,list_part_t *list_part, const int verbose)
377{
378 list_part_t *element;
379 list_part_t *new_list_part=NULL;
380 /* Create new list */
381 for(element=list_part;element!=NULL;element=element->next)
382 element->to_be_removed=0;
383 for(element=list_part;element!=NULL;element=element->next)
384 {
385 list_part_t *element2;
386 for(element2=element->next;element2!=NULL;element2=element2->next)
387 {
388 if(element->part->part_offset+element->part->part_size-1 >= element2->part->part_offset)
389 {
390 element->to_be_removed=1;
391 element2->to_be_removed=1;
392 }
393 }
394 if(element->to_be_removed==0)
395 {
396 int insert_error=0;
397 new_list_part=insert_new_partition(new_list_part, element->part, 0, &insert_error);
398 }
399 }
400 for(element=new_list_part;element!=NULL;element=element->next)
401 element->part->status=STATUS_PRIM;
402 if(test_structure_mac(new_list_part))
403 {
404 for(element=new_list_part;element!=NULL;element=element->next)
405 element->part->status=STATUS_DELETED;
406 }
407 part_free_list_only(new_list_part);
408}
409
410static int check_part_mac(disk_t *disk_car,const int verbose,partition_t *partition, const int saveheader)
411{

Callers

nothing calls this directly

Calls 3

insert_new_partitionFunction · 0.85
test_structure_macFunction · 0.85
part_free_list_onlyFunction · 0.85

Tested by

no test coverage detected