From 96573a7209a9c138ada8084fe1ac654a3e005fdf Mon Sep 17 00:00:00 2001 From: Alexander Batalov Date: Sat, 2 Sep 2023 17:14:49 +0300 Subject: [PATCH] Add target_remove_all --- src/mapper/mp_targt.cc | 28 ++++++++++++++++++++++++++++ src/mapper/mp_targt.h | 1 + 2 files changed, 29 insertions(+) diff --git a/src/mapper/mp_targt.cc b/src/mapper/mp_targt.cc index c9da5ff..c72ca2a 100644 --- a/src/mapper/mp_targt.cc +++ b/src/mapper/mp_targt.cc @@ -214,6 +214,34 @@ int target_find_free_subnode(TargetSubNode** subnode_ptr) return 0; } +// 0x49BCBC +int target_remove_all() +{ + TargetNode* node; + TargetNode* node_next; + TargetSubNode* subnode; + TargetSubNode* subnode_next; + + node = targetlist.tail; + targetlist.tail = NULL; + + while (node != NULL) { + node_next = node->next; + + subnode = node->subnode.next; + while (subnode != NULL) { + subnode_next = subnode->next; + internal_free(subnode); + subnode = subnode_next; + } + + internal_free(node); + node = node_next; + } + + return 0; +} + // 0x49BD00 int target_ptr(int pid, TargetSubNode** subnode_ptr) { diff --git a/src/mapper/mp_targt.h b/src/mapper/mp_targt.h index 1c830c8..9c65ed5 100644 --- a/src/mapper/mp_targt.h +++ b/src/mapper/mp_targt.h @@ -55,6 +55,7 @@ int target_header_save(); int target_header_load(); int target_load(int pid, TargetSubNode** subnode_ptr); int target_find_free_subnode(TargetSubNode** subnode_ptr); +int target_remove_all(); int target_ptr(int pid, TargetSubNode** subnode_ptr); int target_tid_ptr(int pid, int tid, TargetSubNode** subnode_ptr); int pick_rot();