feat(lib): add sasa/tanzaku get functions
This commit is contained in:
parent
177799964a
commit
f8424a70ca
@ -56,6 +56,12 @@ int tanabata_sasa_rem_by_id(Tanabata *tanabata, uint64_t sasa_id);
|
||||
// Remove sasa by file path
|
||||
int tanabata_sasa_rem_by_path(Tanabata *tanabata, const char *path);
|
||||
|
||||
// Get sasa by ID
|
||||
Sasa tanabata_sasa_get_by_id(Tanabata *tanabata, uint64_t sasa_id);
|
||||
|
||||
// Get sasa by file path
|
||||
Sasa tanabata_sasa_get_by_path(Tanabata *tanabata, const char *path);
|
||||
|
||||
// ==================== TANZAKU SECTION ==================== //
|
||||
|
||||
// Add tanzaku
|
||||
@ -67,8 +73,11 @@ int tanabata_tanzaku_rem_by_id(Tanabata *tanabata, uint64_t tanzaku_id);
|
||||
// Remove tanzaku by name
|
||||
int tanabata_tanzaku_rem_by_name(Tanabata *tanabata, const char *name);
|
||||
|
||||
// Remove tanzaku by alias
|
||||
int tanabata_tanzaku_rem_by_alias(Tanabata *tanabata, const char *alias);
|
||||
// Get tanzaku by ID
|
||||
Tanzaku tanabata_tanzaku_get_by_id(Tanabata *tanabata, uint64_t tanzaku_id);
|
||||
|
||||
// Get tanzaku by name
|
||||
Tanzaku tanabata_tanzaku_get_by_name(Tanabata *tanabata, const char *name);
|
||||
|
||||
// ==================== KAZARI SECTION ==================== //
|
||||
|
||||
|
||||
@ -27,3 +27,24 @@ int tanabata_sasa_rem_by_path(Tanabata *tanabata, const char *path) {
|
||||
fprintf(stderr, "Failed to remove sasa: target sasa does not exist\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
Sasa tanabata_sasa_get_by_id(Tanabata *tanabata, uint64_t sasa_id) {
|
||||
if (sasa_id == HOLE_ID) {
|
||||
fprintf(stderr, "Failed to get sasa: got hole ID\n");
|
||||
return HOLE_SASA;
|
||||
}
|
||||
if (sasa_id >= tanabata->sasahyou.size) {
|
||||
fprintf(stderr, "Failed to get sasa: too big ID\n");
|
||||
return HOLE_SASA;
|
||||
}
|
||||
return tanabata->sasahyou.database[sasa_id];
|
||||
}
|
||||
|
||||
Sasa tanabata_sasa_get_by_path(Tanabata *tanabata, const char *path) {
|
||||
for (uint64_t i = 0; i < tanabata->sasahyou.size; i++) {
|
||||
if (strcmp(tanabata->sasahyou.database[i].path, path) == 0) {
|
||||
return tanabata->sasahyou.database[i];
|
||||
}
|
||||
}
|
||||
return HOLE_SASA;
|
||||
}
|
||||
|
||||
@ -27,6 +27,23 @@ int tanabata_tanzaku_rem_by_name(Tanabata *tanabata, const char *name) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
int tanabata_tanzaku_rem_by_alias(Tanabata *tanabata, const char *alias) {
|
||||
return tanzaku_rem_by_alias(&tanabata->sappyou, alias);
|
||||
Tanzaku tanabata_tanzaku_get_by_id(Tanabata *tanabata, uint64_t tanzaku_id) {
|
||||
if (tanzaku_id == HOLE_ID) {
|
||||
fprintf(stderr, "Failed to get tanzaku: got hole ID\n");
|
||||
return HOLE_TANZAKU;
|
||||
}
|
||||
if (tanzaku_id >= tanabata->sappyou.size) {
|
||||
fprintf(stderr, "Failed to get tanzaku: too big ID\n");
|
||||
return HOLE_TANZAKU;
|
||||
}
|
||||
return tanabata->sappyou.database[tanzaku_id];
|
||||
}
|
||||
|
||||
Tanzaku tanabata_tanzaku_get_by_name(Tanabata *tanabata, const char *name) {
|
||||
for (uint64_t i = 0; i < tanabata->sappyou.size; i++) {
|
||||
if (strcmp(tanabata->sappyou.database[i].name, name) == 0) {
|
||||
return tanabata->sappyou.database[i];
|
||||
}
|
||||
}
|
||||
return HOLE_TANZAKU;
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user