|
|
@@ -564,13 +564,16 @@ bool DataStore::deleteBlobByKey(const uint8_t key[], int key_len) {
|
|
|
return true; // this is just a stub on NRF52/STM32 platforms
|
|
|
}
|
|
|
#else
|
|
|
-uint8_t DataStore::getBlobByKey(const uint8_t key[], int key_len, uint8_t dest_buf[]) {
|
|
|
- char path[64];
|
|
|
+inline void makeBlobPath(const uint8_t key[], int key_len, char* path, size_t path_size) {
|
|
|
char fname[18];
|
|
|
-
|
|
|
if (key_len > 8) key_len = 8; // just use first 8 bytes (prefix)
|
|
|
mesh::Utils::toHex(fname, key, key_len);
|
|
|
sprintf(path, "/bl/%s", fname);
|
|
|
+}
|
|
|
+
|
|
|
+uint8_t DataStore::getBlobByKey(const uint8_t key[], int key_len, uint8_t dest_buf[]) {
|
|
|
+ char path[64];
|
|
|
+ makeBlobPath(key, key_len, path, sizeof(path));
|
|
|
|
|
|
if (_fs->exists(path)) {
|
|
|
File f = openRead(_fs, path);
|
|
|
@@ -585,11 +588,7 @@ uint8_t DataStore::getBlobByKey(const uint8_t key[], int key_len, uint8_t dest_b
|
|
|
|
|
|
bool DataStore::putBlobByKey(const uint8_t key[], int key_len, const uint8_t src_buf[], uint8_t len) {
|
|
|
char path[64];
|
|
|
- char fname[18];
|
|
|
-
|
|
|
- if (key_len > 8) key_len = 8; // just use first 8 bytes (prefix)
|
|
|
- mesh::Utils::toHex(fname, key, key_len);
|
|
|
- sprintf(path, "/bl/%s", fname);
|
|
|
+ makeBlobPath(key, key_len, path, sizeof(path));
|
|
|
|
|
|
File f = openWrite(_fs, path);
|
|
|
if (f) {
|
|
|
@@ -604,11 +603,7 @@ bool DataStore::putBlobByKey(const uint8_t key[], int key_len, const uint8_t src
|
|
|
|
|
|
bool DataStore::deleteBlobByKey(const uint8_t key[], int key_len) {
|
|
|
char path[64];
|
|
|
- char fname[18];
|
|
|
-
|
|
|
- if (key_len > 8) key_len = 8; // just use first 8 bytes (prefix)
|
|
|
- mesh::Utils::toHex(fname, key, key_len);
|
|
|
- sprintf(path, "/bl/%s", fname);
|
|
|
+ makeBlobPath(key, key_len, path, sizeof(path));
|
|
|
|
|
|
_fs->remove(path);
|
|
|
|