fix(lib): check for hole ID in get functions

This commit is contained in:
Masahiko AMANO 2022-12-23 17:35:38 +03:00
parent b9873a803c
commit 9ae1a2a8dc
3 changed files with 10 additions and 2 deletions

View File

@ -11,6 +11,10 @@ int tanabata_kazari_rem(Tanabata *tanabata, uint64_t sasa_id, uint64_t tanzaku_i
} }
Tanzaku *tanabata_tanzaku_get_by_sasa(Tanabata *tanabata, uint64_t sasa_id) { Tanzaku *tanabata_tanzaku_get_by_sasa(Tanabata *tanabata, uint64_t sasa_id) {
if (sasa_id == HOLE_ID) {
fprintf(stderr, "Failed to get tanzaku list: got hole ID\n");
return NULL;
}
Tanzaku *tanzaku_list = NULL; Tanzaku *tanzaku_list = NULL;
uint64_t tanzaku_count = 0; uint64_t tanzaku_count = 0;
for (uint64_t i = 0; i < tanabata->shoppyou.size; i++) { for (uint64_t i = 0; i < tanabata->shoppyou.size; i++) {
@ -29,6 +33,10 @@ Tanzaku *tanabata_tanzaku_get_by_sasa(Tanabata *tanabata, uint64_t sasa_id) {
} }
Sasa *tanabata_sasa_get_by_tanzaku(Tanabata *tanabata, uint64_t tanzaku_id) { Sasa *tanabata_sasa_get_by_tanzaku(Tanabata *tanabata, uint64_t tanzaku_id) {
if (tanzaku_id == HOLE_ID) {
fprintf(stderr, "Failed to get sasa list: got hole ID\n");
return NULL;
}
Sasa *sasa_list = NULL; Sasa *sasa_list = NULL;
uint64_t sasa_count = 0; uint64_t sasa_count = 0;
for (uint64_t i = 0; i < tanabata->shoppyou.size; i++) { for (uint64_t i = 0; i < tanabata->shoppyou.size; i++) {

View File

@ -42,7 +42,7 @@ Sasa tanabata_sasa_get_by_id(Tanabata *tanabata, uint64_t sasa_id) {
Sasa tanabata_sasa_get_by_path(Tanabata *tanabata, const char *path) { Sasa tanabata_sasa_get_by_path(Tanabata *tanabata, const char *path) {
for (uint64_t i = 0; i < tanabata->sasahyou.size; i++) { for (uint64_t i = 0; i < tanabata->sasahyou.size; i++) {
if (strcmp(tanabata->sasahyou.database[i].path, path) == 0) { if (tanabata->sasahyou.database[i].id != HOLE_ID && strcmp(tanabata->sasahyou.database[i].path, path) == 0) {
return tanabata->sasahyou.database[i]; return tanabata->sasahyou.database[i];
} }
} }

View File

@ -41,7 +41,7 @@ Tanzaku tanabata_tanzaku_get_by_id(Tanabata *tanabata, uint64_t tanzaku_id) {
Tanzaku tanabata_tanzaku_get_by_name(Tanabata *tanabata, const char *name) { Tanzaku tanabata_tanzaku_get_by_name(Tanabata *tanabata, const char *name) {
for (uint64_t i = 0; i < tanabata->sappyou.size; i++) { for (uint64_t i = 0; i < tanabata->sappyou.size; i++) {
if (strcmp(tanabata->sappyou.database[i].name, name) == 0) { if (tanabata->sappyou.database[i].id != HOLE_ID && strcmp(tanabata->sappyou.database[i].name, name) == 0) {
return tanabata->sappyou.database[i]; return tanabata->sappyou.database[i];
} }
} }