perf(core): improve remove functions
This commit is contained in:
parent
f41a1d66f9
commit
f29858361c
@ -159,9 +159,14 @@ int tanzaku_rem(Sappyou *sappyou, uint64_t tanzaku_id) {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
sappyou->database[tanzaku_id].id = HOLE_ID;
|
sappyou->database[tanzaku_id].id = HOLE_ID;
|
||||||
sappyou->hole_cnt++;
|
if (tanzaku_id == sappyou->size - 1) {
|
||||||
sappyou->holes = realloc(sappyou->holes, sappyou->hole_cnt);
|
sappyou->size--;
|
||||||
sappyou->holes[sappyou->hole_cnt - 1] = sappyou->database + tanzaku_id;
|
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);
|
sappyou->modified_ts = time(NULL);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -150,9 +150,14 @@ int sasa_rem(Sasahyou *sasahyou, uint64_t sasa_id) {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
sasahyou->database[sasa_id].id = HOLE_ID;
|
sasahyou->database[sasa_id].id = HOLE_ID;
|
||||||
sasahyou->hole_cnt++;
|
if (sasa_id == sasahyou->size - 1) {
|
||||||
sasahyou->holes = realloc(sasahyou->holes, sasahyou->hole_cnt * sizeof(Sasa *));
|
sasahyou->size--;
|
||||||
sasahyou->holes[sasahyou->hole_cnt - 1] = sasahyou->database + sasa_id;
|
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);
|
sasahyou->modified_ts = time(NULL);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user