From 54e598fd6daa12e71595281be8286cb9c27f197c Mon Sep 17 00:00:00 2001 From: Masahiko AMANO Date: Tue, 27 Dec 2022 22:56:19 +0300 Subject: [PATCH] perf(lib): check if database is full before adding new record --- lib/kazari.c | 3 +++ lib/sasa.c | 3 +++ lib/tanzaku.c | 3 +++ 3 files changed, 9 insertions(+) diff --git a/lib/kazari.c b/lib/kazari.c index 56f22ea..8de96e5 100644 --- a/lib/kazari.c +++ b/lib/kazari.c @@ -9,6 +9,9 @@ int tanabata_kazari_add(Tanabata *tanabata, uint64_t sasa_id, uint64_t tanzaku_i if (tanzaku_id >= tanabata->sappyou.size) { return 1; } + if (tanabata->shoppyou.size == -1 && tanabata->shoppyou.hole_cnt == 0) { + return 1; + } Kazari *current_kazari = tanabata->shoppyou.database; for (uint64_t i = 0; i < tanabata->shoppyou.size; i++) { if (current_kazari->sasa_id == sasa_id && current_kazari->tanzaku_id == tanzaku_id) { diff --git a/lib/sasa.c b/lib/sasa.c index 209cf5b..37648f6 100644 --- a/lib/sasa.c +++ b/lib/sasa.c @@ -4,6 +4,9 @@ #include "../include/tanabata.h" int tanabata_sasa_add(Tanabata *tanabata, const char *path) { + if (tanabata->sasahyou.size == -1 && tanabata->sasahyou.hole_cnt == 0) { + return 1; + } Sasa *current_sasa = tanabata->sasahyou.database; for (uint64_t i = 0; i < tanabata->sasahyou.size; i++) { if (current_sasa->id != HOLE_ID && strcmp(current_sasa->path, path) == 0) { diff --git a/lib/tanzaku.c b/lib/tanzaku.c index 0490e9b..2acf86c 100644 --- a/lib/tanzaku.c +++ b/lib/tanzaku.c @@ -3,6 +3,9 @@ #include "../include/tanabata.h" int tanabata_tanzaku_add(Tanabata *tanabata, const char *name, const char *description) { + if (tanabata->sappyou.size == -1 && tanabata->sappyou.hole_cnt == 0) { + return 1; + } Tanzaku *current_tanzaku = tanabata->sappyou.database; for (uint64_t i = 0; i < tanabata->sappyou.size; i++) { if (current_tanzaku->id != HOLE_ID && strcmp(current_tanzaku->name, name) == 0) {