perf(core): improve remove functions

This commit is contained in:
Masahiko AMANO 2022-12-24 19:25:06 +03:00
parent f41a1d66f9
commit f29858361c
2 changed files with 16 additions and 6 deletions

View File

@ -159,9 +159,14 @@ int tanzaku_rem(Sappyou *sappyou, uint64_t tanzaku_id) {
return 0;
}
sappyou->database[tanzaku_id].id = HOLE_ID;
if (tanzaku_id == sappyou->size - 1) {
sappyou->size--;
sappyou->database = realloc(sappyou->database, sappyou->size * sizeof(Tanzaku));
} else {
sappyou->hole_cnt++;
sappyou->holes = realloc(sappyou->holes, sappyou->hole_cnt);
sappyou->holes[sappyou->hole_cnt - 1] = sappyou->database + tanzaku_id;
}
sappyou->modified_ts = time(NULL);
return 0;
}

View File

@ -150,9 +150,14 @@ int sasa_rem(Sasahyou *sasahyou, uint64_t sasa_id) {
return 0;
}
sasahyou->database[sasa_id].id = HOLE_ID;
if (sasa_id == sasahyou->size - 1) {
sasahyou->size--;
sasahyou->database = realloc(sasahyou->database, sasahyou->size * sizeof(Sasa));
} else {
sasahyou->hole_cnt++;
sasahyou->holes = realloc(sasahyou->holes, sasahyou->hole_cnt * sizeof(Sasa *));
sasahyou->holes[sasahyou->hole_cnt - 1] = sasahyou->database + sasa_id;
}
sasahyou->modified_ts = time(NULL);
return 0;
}