From c63374e0d3976e4ad14bbf8d505f1c97c6bd6ecb Mon Sep 17 00:00:00 2001 From: jdgordon Date: Tue, 25 Mar 2008 10:38:55 +0000 Subject: [PATCH] ok, redo that last commit.. always write /.rockbox/oldconfig.cfg when you load a new config or reset settings git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16793 a1c6a512-1295-4272-9138-f99709370657 --- apps/menus/main_menu.c | 1 - apps/settings.c | 8 +++++--- apps/settings.h | 2 -- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/apps/menus/main_menu.c b/apps/menus/main_menu.c index d756d9859..7c2e87c41 100644 --- a/apps/menus/main_menu.c +++ b/apps/menus/main_menu.c @@ -68,7 +68,6 @@ static int reset_settings(void) switch(gui_syncyesno_run(&message, &yes_message, &no_message)) { case YESNO_YES: - settings_write_config(CONFIGFILE ".bak", SETTINGS_SAVE_CHANGED); settings_reset(); settings_apply(true); settings_save(); diff --git a/apps/settings.c b/apps/settings.c index 237ff1c56..d259cecd6 100644 --- a/apps/settings.c +++ b/apps/settings.c @@ -262,6 +262,7 @@ static bool cfg_string_to_int(int setting_id, int* out, char* str) } return false; } +static bool settings_write_config(char* filename, int options); bool settings_load_config(const char* file, bool apply) { @@ -273,7 +274,8 @@ bool settings_load_config(const char* file, bool apply) fd = open(file, O_RDONLY); if (fd < 0) return false; - + settings_write_config(ROCKBOX_DIR "oldcfg.cfg", SETTINGS_SAVE_CHANGED); + while (read_line(fd, line, sizeof line) > 0) { if (!settings_parseline(line, &name, &value)) @@ -450,7 +452,7 @@ static bool is_changed(int setting_id) return true; } -bool settings_write_config(char* filename, int options) +static bool settings_write_config(char* filename, int options) { int i; int fd; @@ -949,7 +951,7 @@ void settings_reset(void) { int i; DEBUGF( "settings_reset()\n" ); - + settings_write_config(ROCKBOX_DIR "oldcfg.cfg", SETTINGS_SAVE_CHANGED); for(i=0; i