diff options
| author | Jonathan Gordon <rockbox@jdgordon.info> | 2007-01-25 07:19:45 +0000 |
|---|---|---|
| committer | Jonathan Gordon <rockbox@jdgordon.info> | 2007-01-25 07:19:45 +0000 |
| commit | b7588835719b37bb36cfc7f35f646c5b656909b6 (patch) | |
| tree | 90f702ccc7409b74439413520f8208413267f28b | |
| parent | b77f1217fb6b1bf34baa0da40de3ebf83c3c67c5 (diff) | |
| download | rockbox-b7588835719b37bb36cfc7f35f646c5b656909b6.zip rockbox-b7588835719b37bb36cfc7f35f646c5b656909b6.tar.gz rockbox-b7588835719b37bb36cfc7f35f646c5b656909b6.tar.bz2 rockbox-b7588835719b37bb36cfc7f35f646c5b656909b6.tar.xz | |
remove the persistant settings stuff. Load /.rockbox/fixed.cfg after config.cfg automatically instead
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12108 a1c6a512-1295-4272-9138-f99709370657
| -rw-r--r-- | apps/settings.c | 72 | ||||
| -rw-r--r-- | apps/settings.h | 1 |
2 files changed, 5 insertions, 68 deletions
diff --git a/apps/settings.c b/apps/settings.c index dcc3c8d..302ea58 100644 --- a/apps/settings.c +++ b/apps/settings.c @@ -259,19 +259,11 @@ static int hex_to_rgb(const char* hex) return 0; } #endif -#define MAX_PERSISTENT_VARS 8 -struct persistent_vars { - char setting[MAX_FILENAME]; - char value[MAX_FILENAME]; -}; -static struct persistent_vars persistent_vars[MAX_PERSISTENT_VARS]; -static int persistent_vars_count = 0; + bool settings_write_config(char* filename) { int i; int fd; - bool check_persistent = !strcmp(filename, CONFIGFILE) && - persistent_vars_count; char value[MAX_PATH]; fd = open(filename,O_CREAT|O_TRUNC|O_WRONLY); if (fd < 0) @@ -282,23 +274,6 @@ bool settings_write_config(char* filename) { if (settings[i].cfg_name == NULL) continue; - if (check_persistent) - { - int j; - bool found = false; - for(j=0; j<persistent_vars_count; j++) - { - if (!strcmp(persistent_vars[j].setting, settings[i].cfg_name)) - { - fdprintf(fd,"~%s: %s\r\n", settings[i].cfg_name, - persistent_vars[j].value); - found = true; - break; - } - } - if (found) - continue; - } switch (settings[i].flags&F_T_MASK) { case F_T_INT: @@ -706,7 +681,10 @@ void settings_load(int which) if (which&SETTINGS_RTC) read_nvram_data(nvram_buffer,NVRAM_BLOCK_SIZE); if (which&SETTINGS_HD) + { settings_load_config(CONFIGFILE,false); + settings_load_config(FIXEDSETTINGSFILE,false); + } } void set_file(char* filename, char* setting, int maxlen) @@ -747,8 +725,6 @@ bool settings_load_config(const char* file, bool apply) char* name; char* value; int i; - bool check_persistent = !strcmp(file, CONFIGFILE); - bool is_persistent = false; fd = open(file, O_RDONLY); if (fd < 0) return false; @@ -757,52 +733,12 @@ bool settings_load_config(const char* file, bool apply) { if (!settings_parseline(line, &name, &value)) continue; - if (name[0] == '~') - { - name++; - if (check_persistent && - (persistent_vars_count<MAX_PERSISTENT_VARS)) - { - strcpy(persistent_vars[persistent_vars_count].setting, name); - strcpy(persistent_vars[persistent_vars_count].value, value); - persistent_vars_count++; - is_persistent = true; - } - } - else is_persistent = false; for(i=0; i<nb_settings; i++) { if (settings[i].cfg_name == NULL) continue; if (!strcasecmp(name,settings[i].cfg_name)) { - if (persistent_vars_count && !is_persistent) - { - int j; - struct persistent_vars *p_var, - *p_var_last = &persistent_vars[persistent_vars_count-1]; - for (j=0; j< persistent_vars_count; j++) - { - p_var = &persistent_vars[j]; - if (!strcmp(name,p_var->setting)) - { - if (j+1 == persistent_vars_count) - { - /* simple case, just decrement - persistent_vars_count */ - persistent_vars_count--; - } - /*else move the last persistent var to here */ - else - { - strcpy(p_var->setting, p_var_last->setting); - strcpy(p_var->value, p_var_last->value); - persistent_vars_count--; - } - break; - } - } - } switch (settings[i].flags&F_T_MASK) { case F_T_INT: diff --git a/apps/settings.h b/apps/settings.h index 8a495a0..7d30dfa 100644 --- a/apps/settings.h +++ b/apps/settings.h @@ -57,6 +57,7 @@ #define FMPRESET_PATH ROCKBOX_DIR "/fmpresets" #define CONFIGFILE ROCKBOX_DIR "/config.cfg" +#define FIXEDSETTINGSFILE ROCKBOX_DIR "/fixed.cfg" #define MAX_FILENAME 20 |