fix(lib): update sasa/tanzaku add/remove functions

This commit is contained in:
Masahiko AMANO 2022-12-23 15:45:09 +03:00
parent 91a53fa703
commit 177799964a
3 changed files with 38 additions and 7 deletions

View File

@ -59,7 +59,7 @@ int tanabata_sasa_rem_by_path(Tanabata *tanabata, const char *path);
// ==================== TANZAKU SECTION ==================== //
// Add tanzaku
int tanabata_tanzaku_add(Tanabata *tanabata, const char *name, const char *alias, const char *description);
int tanabata_tanzaku_add(Tanabata *tanabata, const char *name, const char *description);
// Remove tanzaku by ID
int tanabata_tanzaku_rem_by_id(Tanabata *tanabata, uint64_t tanzaku_id);

View File

@ -1,13 +1,29 @@
#include <string.h>
#include "../../include/tanabata.h"
int tanabata_sasa_add(Tanabata *tanabata, const char *path) {
for (uint64_t i = 0; i < tanabata->sasahyou.size; i++) {
if (tanabata->sasahyou.database[i].id != HOLE_ID && strcmp(tanabata->sasahyou.database[i].path, path) == 0) {
fprintf(stderr, "Failed to add sasa: target file is already added\n");
return 1;
}
}
return sasa_add(&tanabata->sasahyou, path);
}
int tanabata_sasa_rem_by_id(Tanabata *tanabata, uint64_t sasa_id) {
return sasa_rem_by_id(&tanabata->sasahyou, sasa_id);
return sasa_rem(&tanabata->sasahyou, sasa_id);
}
int tanabata_sasa_rem_by_path(Tanabata *tanabata, const char *path) {
return sasa_rem_by_path(&tanabata->sasahyou, path);
Sasa *current_sasa;
for (uint64_t i = 0; i < tanabata->sasahyou.size; i++) {
current_sasa = tanabata->sasahyou.database + i;
if (current_sasa->id != HOLE_ID && strcmp(current_sasa->path, path) == 0) {
return sasa_rem(&tanabata->sasahyou, current_sasa->id);
}
}
fprintf(stderr, "Failed to remove sasa: target sasa does not exist\n");
return 1;
}

View File

@ -1,15 +1,30 @@
#include <string.h>
#include "../../include/tanabata.h"
int tanabata_tanzaku_add(Tanabata *tanabata, const char *name, const char *alias, const char *description) {
return tanzaku_add(&tanabata->sappyou, name, alias, description);
int tanabata_tanzaku_add(Tanabata *tanabata, const char *name, const char *description) {
for (uint64_t i = 0; i < tanabata->sappyou.size; i++) {
if (tanabata->sappyou.database[i].id != HOLE_ID && strcmp(tanabata->sappyou.database[i].name, name) == 0) {
fprintf(stderr, "Failed to add tanzaku: target tanzaku is already added\n");
return 1;
}
}
return tanzaku_add(&tanabata->sappyou, name, description);
}
int tanabata_tanzaku_rem_by_id(Tanabata *tanabata, uint64_t tanzaku_id) {
return tanzaku_rem_by_id(&tanabata->sappyou, tanzaku_id);
return tanzaku_rem(&tanabata->sappyou, tanzaku_id);
}
int tanabata_tanzaku_rem_by_name(Tanabata *tanabata, const char *name) {
return tanzaku_rem_by_name(&tanabata->sappyou, name);
Tanzaku *current_tanzaku;
for (uint64_t i = 0; i < tanabata->sappyou.size; i++) {
current_tanzaku = tanabata->sappyou.database + i;
if (current_tanzaku->id != HOLE_ID && strcmp(current_tanzaku->name, name) == 0) {
return tanzaku_rem(&tanabata->sappyou, current_tanzaku->id);
}
}
fprintf(stderr, "Failed to remove tanzaku: target tanzaku does not exist\n");
return 1;
}
int tanabata_tanzaku_rem_by_alias(Tanabata *tanabata, const char *alias) {