perf(lib): use new kazari remove functions

This commit is contained in:
Masahiko AMANO 2022-12-28 17:58:01 +03:00
parent 4724962cd3
commit 97c63aea1f
3 changed files with 10 additions and 52 deletions

View File

@ -63,14 +63,7 @@ int tanabata_weed(Tanabata *tanabata) {
if (current_sasa->id != HOLE_ID) { if (current_sasa->id != HOLE_ID) {
if (hole_cnt > 0) { if (hole_cnt > 0) {
new_id = current_sasa->id - hole_cnt; new_id = current_sasa->id - hole_cnt;
current_kazari = tanabata->shoppyou.database; kazari_rem_by_sasa(&tanabata->shoppyou, current_sasa->id);
for (uint64_t j = 0; j < tanabata->shoppyou.size; j++) {
if (current_kazari->sasa_id == current_sasa->id) {
current_kazari->sasa_id = new_id;
tanabata->shoppyou_mod = 1;
}
current_kazari++;
}
current_sasa->id = new_id; current_sasa->id = new_id;
*(current_sasa - hole_cnt) = *current_sasa; *(current_sasa - hole_cnt) = *current_sasa;
} }
@ -92,14 +85,7 @@ int tanabata_weed(Tanabata *tanabata) {
if (current_tanzaku->id != HOLE_ID) { if (current_tanzaku->id != HOLE_ID) {
if (hole_cnt > 0) { if (hole_cnt > 0) {
new_id = current_tanzaku->id - hole_cnt; new_id = current_tanzaku->id - hole_cnt;
current_kazari = tanabata->shoppyou.database; kazari_rem_by_tanzaku(&tanabata->shoppyou, current_tanzaku->id);
for (uint64_t j = 0; j < tanabata->shoppyou.size; j++) {
if (current_kazari->tanzaku_id == current_tanzaku->id) {
current_kazari->tanzaku_id = new_id;
tanabata->shoppyou_mod = 1;
}
current_kazari++;
}
current_tanzaku->id = new_id; current_tanzaku->id = new_id;
*(current_tanzaku - hole_cnt) = *current_tanzaku; *(current_tanzaku - hole_cnt) = *current_tanzaku;
} else { } else {

View File

@ -27,15 +27,8 @@ int tanabata_sasa_rem_by_id(Tanabata *tanabata, uint64_t sasa_id) {
if (sasa_id == HOLE_ID || sasa_id >= tanabata->sasahyou.size) { if (sasa_id == HOLE_ID || sasa_id >= tanabata->sasahyou.size) {
return 1; return 1;
} }
Kazari *current_kazari = tanabata->shoppyou.database; if (sasa_rem(&tanabata->sasahyou, sasa_id) == 0 &&
for (uint64_t j = 0; j < tanabata->shoppyou.size; j++) { kazari_rem_by_sasa(&tanabata->shoppyou, sasa_id) == 0) {
if (current_kazari->sasa_id == sasa_id) {
current_kazari->sasa_id = HOLE_ID;
tanabata->shoppyou_mod = 1;
}
current_kazari++;
}
if (sasa_rem(&tanabata->sasahyou, sasa_id) == 0) {
tanabata->sasahyou_mod = 1; tanabata->sasahyou_mod = 1;
return 0; return 0;
} }
@ -46,15 +39,8 @@ int tanabata_sasa_rem_by_path(Tanabata *tanabata, const char *path) {
Sasa *current_sasa = tanabata->sasahyou.database; Sasa *current_sasa = tanabata->sasahyou.database;
for (uint64_t i = 0; i < tanabata->sasahyou.size; i++) { for (uint64_t i = 0; i < tanabata->sasahyou.size; i++) {
if (current_sasa->id != HOLE_ID && strcmp(current_sasa->path, path) == 0) { if (current_sasa->id != HOLE_ID && strcmp(current_sasa->path, path) == 0) {
Kazari *current_kazari = tanabata->shoppyou.database; if (sasa_rem(&tanabata->sasahyou, current_sasa->id) == 0 &&
for (uint64_t j = 0; j < tanabata->shoppyou.size; j++) { kazari_rem_by_sasa(&tanabata->shoppyou, current_sasa->id) == 0) {
if (current_kazari->sasa_id == current_sasa->id) {
current_kazari->sasa_id = HOLE_ID;
tanabata->shoppyou_mod = 1;
}
current_kazari++;
}
if (sasa_rem(&tanabata->sasahyou, current_sasa->id) == 0) {
tanabata->sasahyou_mod = 1; tanabata->sasahyou_mod = 1;
return 0; return 0;
} }

View File

@ -24,15 +24,8 @@ int tanabata_tanzaku_rem_by_id(Tanabata *tanabata, uint64_t tanzaku_id) {
if (tanzaku_id == HOLE_ID || tanzaku_id >= tanabata->sappyou.size) { if (tanzaku_id == HOLE_ID || tanzaku_id >= tanabata->sappyou.size) {
return 1; return 1;
} }
Kazari *current_kazari = tanabata->shoppyou.database; if (tanzaku_rem(&tanabata->sappyou, tanzaku_id) == 0 &&
for (uint64_t i = 0; i < tanabata->shoppyou.size; i++) { kazari_rem_by_tanzaku(&tanabata->shoppyou, tanzaku_id) == 0) {
if (current_kazari->tanzaku_id == tanzaku_id) {
current_kazari->tanzaku_id = HOLE_ID;
tanabata->shoppyou_mod = 1;
}
current_kazari++;
}
if (tanzaku_rem(&tanabata->sappyou, tanzaku_id) == 0) {
tanabata->sappyou_mod = 1; tanabata->sappyou_mod = 1;
return 0; return 0;
} }
@ -43,15 +36,8 @@ int tanabata_tanzaku_rem_by_name(Tanabata *tanabata, const char *name) {
Tanzaku *current_tanzaku = tanabata->sappyou.database; Tanzaku *current_tanzaku = tanabata->sappyou.database;
for (uint64_t i = 0; i < tanabata->sappyou.size; i++) { for (uint64_t i = 0; i < tanabata->sappyou.size; i++) {
if (current_tanzaku->id != HOLE_ID && strcmp(current_tanzaku->name, name) == 0) { if (current_tanzaku->id != HOLE_ID && strcmp(current_tanzaku->name, name) == 0) {
Kazari *current_kazari = tanabata->shoppyou.database; if (tanzaku_rem(&tanabata->sappyou, current_tanzaku->id) == 0 &&
for (uint64_t j = 0; j < tanabata->shoppyou.size; j++) { kazari_rem_by_tanzaku(&tanabata->shoppyou, current_tanzaku->id) == 0) {
if (current_kazari->tanzaku_id == current_tanzaku->id) {
current_kazari->tanzaku_id = HOLE_ID;
tanabata->shoppyou_mod = 1;
}
current_kazari++;
}
if (tanzaku_rem(&tanabata->sappyou, current_tanzaku->id) == 0) {
tanabata->sappyou_mod = 1; tanabata->sappyou_mod = 1;
return 0; return 0;
} }