summaryrefslogtreecommitdiff
path: root/src/database/database.cpp
diff options
context:
space:
mode:
authorjacqueline <me@jacqueline.id.au>2024-03-13 19:47:18 +1100
committerjacqueline <me@jacqueline.id.au>2024-03-13 19:47:18 +1100
commitc5c6506ebcdde78e0a79dfae9585325766291097 (patch)
treedebe9eaadfa32abe20fe04b595a3697dc2f31772 /src/database/database.cpp
parent2eb3fd53d7bf32cffb1569d6b2b0c1fbc5b9ed2c (diff)
parent686ada3d4663d40f30d40368f0b9520e011ccd2d (diff)
downloadtangara-fw-c5c6506ebcdde78e0a79dfae9585325766291097.tar.gz
Merge branch 'main' of codeberg.org:cool-tech-zone/tangara-fw
Diffstat (limited to 'src/database/database.cpp')
-rw-r--r--src/database/database.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/database/database.cpp b/src/database/database.cpp
index ec11455b..ca92cf6b 100644
--- a/src/database/database.cpp
+++ b/src/database/database.cpp
@@ -229,13 +229,17 @@ auto Database::sizeOnDiskBytes() -> size_t {
}
auto Database::put(const std::string& key, const std::string& val) -> void {
- db_->Put(leveldb::WriteOptions{}, kKeyCustom + key, val);
+ if (val.empty()) {
+ db_->Delete(leveldb::WriteOptions{}, kKeyCustom + key);
+ } else {
+ db_->Put(leveldb::WriteOptions{}, kKeyCustom + key, val);
+ }
}
auto Database::get(const std::string& key) -> std::optional<std::string> {
std::string val;
auto res = db_->Get(leveldb::ReadOptions{}, kKeyCustom + key, &val);
- if (!res.ok()) {
+ if (!res.ok() || val.empty()) {
return {};
}
return val;