From 4fda3de4c1846086dc67b9af793f198c955316e6 Mon Sep 17 00:00:00 2001 From: Willy-JL Date: Thu, 19 Jan 2023 00:54:50 +0000 Subject: [PATCH] Simpler settings save and load --- .../xtreme_settings/xtreme_settings.c | 37 ++++++++----------- .../xtreme_settings/xtreme_settings.h | 6 +-- 2 files changed, 18 insertions(+), 25 deletions(-) diff --git a/applications/settings/xtreme_settings/xtreme_settings.c b/applications/settings/xtreme_settings/xtreme_settings.c index f3a9f62e5..84018bcf0 100644 --- a/applications/settings/xtreme_settings/xtreme_settings.c +++ b/applications/settings/xtreme_settings/xtreme_settings.c @@ -4,34 +4,29 @@ XtremeSettings* xtreme_settings = NULL; XtremeSettings* XTREME_SETTINGS() { if (xtreme_settings == NULL) { - xtreme_settings = malloc(sizeof(XtremeSettings)); - _XTREME_SETTINGS_LOAD(xtreme_settings); + XTREME_SETTINGS_LOAD(); } return xtreme_settings; } +bool XTREME_SETTINGS_LOAD() { + if (xtreme_settings == NULL) { + xtreme_settings = malloc(sizeof(XtremeSettings)); + bool loaded = saved_struct_load( + XTREME_SETTINGS_PATH, xtreme_settings, sizeof(XtremeSettings), XTREME_SETTINGS_MAGIC, XTREME_SETTINGS_VERSION); + if(!loaded) { + memset(xtreme_settings, 0, sizeof(XtremeSettings)); + loaded = XTREME_SETTINGS_SAVE(); + } + return loaded; + } + return true; +} + bool XTREME_SETTINGS_SAVE() { if (xtreme_settings == NULL) { - XTREME_SETTINGS(); + XTREME_SETTINGS_LOAD(); } - return _XTREME_SETTINGS_SAVE(xtreme_settings); -} - -bool _XTREME_SETTINGS_LOAD(XtremeSettings* xtreme_settings) { - furi_assert(xtreme_settings); - - bool loaded = saved_struct_load( - XTREME_SETTINGS_PATH, xtreme_settings, sizeof(XtremeSettings), XTREME_SETTINGS_MAGIC, XTREME_SETTINGS_VERSION); - if(!loaded) { - memset(xtreme_settings, 0, sizeof(XtremeSettings)); - loaded = _XTREME_SETTINGS_SAVE(xtreme_settings); - } - return loaded; -} - -bool _XTREME_SETTINGS_SAVE(XtremeSettings* xtreme_settings) { - furi_assert(xtreme_settings); - return saved_struct_save( XTREME_SETTINGS_PATH, xtreme_settings, sizeof(XtremeSettings), XTREME_SETTINGS_MAGIC, XTREME_SETTINGS_VERSION); } diff --git a/applications/settings/xtreme_settings/xtreme_settings.h b/applications/settings/xtreme_settings/xtreme_settings.h index c1f457c42..19c0803a9 100644 --- a/applications/settings/xtreme_settings/xtreme_settings.h +++ b/applications/settings/xtreme_settings/xtreme_settings.h @@ -20,8 +20,6 @@ typedef struct { XtremeSettings* XTREME_SETTINGS(); +bool XTREME_SETTINGS_LOAD(); + bool XTREME_SETTINGS_SAVE(); - -bool _XTREME_SETTINGS_LOAD(XtremeSettings* xtreme_settings); - -bool _XTREME_SETTINGS_SAVE(XtremeSettings* xtreme_settings);