feat(lib): zero tanzaku ID is reserved for the special immutable FAVORITE tag
This commit is contained in:
parent
3cea0b5fdb
commit
32e73acd73
@ -11,6 +11,13 @@ int tanabata_init(Tanabata *tanabata) {
|
|||||||
shoppyou_init(&tanabata->shoppyou) != 0) {
|
shoppyou_init(&tanabata->shoppyou) != 0) {
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
tanabata->sappyou.size = 1;
|
||||||
|
tanabata->sappyou.database = malloc(sizeof(Tanzaku));
|
||||||
|
tanabata->sappyou.database->id = 0;
|
||||||
|
tanabata->sappyou.database->created_ts = tanabata->sappyou.created_ts;
|
||||||
|
tanabata->sappyou.database->modified_ts = tanabata->sappyou.created_ts;
|
||||||
|
tanabata->sappyou.database->name = "FAVORITE";
|
||||||
|
tanabata->sappyou.database->description = "Special tanzaku for favorites";
|
||||||
tanabata->sasahyou_mod = 0;
|
tanabata->sasahyou_mod = 0;
|
||||||
tanabata->sappyou_mod = 0;
|
tanabata->sappyou_mod = 0;
|
||||||
tanabata->shoppyou_mod = 0;
|
tanabata->shoppyou_mod = 0;
|
||||||
|
|||||||
@ -17,7 +17,7 @@ int tanabata_tanzaku_add(Tanabata *tanabata, const char *name, const char *descr
|
|||||||
}
|
}
|
||||||
|
|
||||||
int tanabata_tanzaku_rem_by_id(Tanabata *tanabata, uint64_t tanzaku_id) {
|
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 || tanzaku_id == 0) {
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
if (tanzaku_rem(&tanabata->sappyou, tanzaku_id) == 0 &&
|
if (tanzaku_rem(&tanabata->sappyou, tanzaku_id) == 0 &&
|
||||||
@ -28,8 +28,8 @@ int tanabata_tanzaku_rem_by_id(Tanabata *tanabata, uint64_t tanzaku_id) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
int tanabata_tanzaku_rem_by_name(Tanabata *tanabata, const char *name) {
|
int tanabata_tanzaku_rem_by_name(Tanabata *tanabata, const char *name) {
|
||||||
Tanzaku *current_tanzaku = tanabata->sappyou.database;
|
Tanzaku *current_tanzaku = tanabata->sappyou.database + 1;
|
||||||
for (uint64_t i = 0; i < tanabata->sappyou.size; i++) {
|
for (uint64_t i = 1; 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) {
|
||||||
if (tanzaku_rem(&tanabata->sappyou, current_tanzaku->id) == 0 &&
|
if (tanzaku_rem(&tanabata->sappyou, current_tanzaku->id) == 0 &&
|
||||||
kazari_rem_by_tanzaku(&tanabata->shoppyou, current_tanzaku->id) == 0) {
|
kazari_rem_by_tanzaku(&tanabata->shoppyou, current_tanzaku->id) == 0) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user