|
@@ -611,9 +611,21 @@ void config_delete_key(const char *key){
|
|
|
}
|
|
|
config_unlock();
|
|
|
}
|
|
|
+
|
|
|
void * config_alloc_get(nvs_type_t nvs_type, const char *key) {
|
|
|
return config_alloc_get_default(nvs_type, key, NULL, 0);
|
|
|
}
|
|
|
+
|
|
|
+void * config_alloc_get_str(const char *key, char *lead, char *fallback) {
|
|
|
+ if (lead && *lead) return strdup(lead);
|
|
|
+ char *value = config_alloc_get_default(NVS_TYPE_STR, key, NULL, 0);
|
|
|
+ if ((!value || !*value) && fallback) {
|
|
|
+ if (value) free(value);
|
|
|
+ value = strdup(fallback);
|
|
|
+ }
|
|
|
+ return value;
|
|
|
+}
|
|
|
+
|
|
|
void * config_alloc_get_default(nvs_type_t nvs_type, const char *key, void * default_value, size_t blob_size) {
|
|
|
|
|
|
void * value = NULL;
|