diff options
Diffstat (limited to 'apps/tree.c')
-rw-r--r-- | apps/tree.c | 36 |
1 files changed, 8 insertions, 28 deletions
diff --git a/apps/tree.c b/apps/tree.c index d39c279763..d8ecfb243e 100644 --- a/apps/tree.c +++ b/apps/tree.c | |||
@@ -947,26 +947,6 @@ static bool handle_on(int* ds, int* dc, int numentries, int tree_max_on_screen) | |||
947 | return used; | 947 | return used; |
948 | } | 948 | } |
949 | 949 | ||
950 | static void storefile(char* filename, char* setting, int maxlen) | ||
951 | { | ||
952 | int len = strlen(filename); | ||
953 | int extlen = 0; | ||
954 | char* ptr = filename + len; | ||
955 | |||
956 | while (*ptr != '.') { | ||
957 | extlen++; | ||
958 | ptr--; | ||
959 | } | ||
960 | |||
961 | if (strcmp(ROCKBOX_DIR, currdir) || (len-extlen > maxlen)) | ||
962 | return; | ||
963 | |||
964 | strncpy(setting, filename, len-extlen); | ||
965 | setting[len-extlen]=0; | ||
966 | |||
967 | settings_save(); | ||
968 | } | ||
969 | |||
970 | bool dirbrowse(char *root) | 950 | bool dirbrowse(char *root) |
971 | { | 951 | { |
972 | int numentries=0; | 952 | int numentries=0; |
@@ -1117,8 +1097,8 @@ bool dirbrowse(char *root) | |||
1117 | /* wps config file */ | 1097 | /* wps config file */ |
1118 | case TREE_ATTR_WPS: | 1098 | case TREE_ATTR_WPS: |
1119 | wps_load(buf,true); | 1099 | wps_load(buf,true); |
1120 | storefile(file->name, global_settings.wps_file, | 1100 | set_file(buf, global_settings.wps_file, |
1121 | MAX_FILENAME); | 1101 | MAX_FILENAME); |
1122 | restore = true; | 1102 | restore = true; |
1123 | break; | 1103 | break; |
1124 | 1104 | ||
@@ -1152,10 +1132,10 @@ bool dirbrowse(char *root) | |||
1152 | 1132 | ||
1153 | case TREE_ATTR_LNG: | 1133 | case TREE_ATTR_LNG: |
1154 | if(!lang_load(buf)) { | 1134 | if(!lang_load(buf)) { |
1155 | storefile(file->name, | 1135 | set_file(file->name, |
1156 | global_settings.lang_file, | 1136 | global_settings.lang_file, |
1157 | MAX_FILENAME); | 1137 | MAX_FILENAME); |
1158 | 1138 | ||
1159 | lcd_clear_display(); | 1139 | lcd_clear_display(); |
1160 | #ifdef HAVE_LCD_CHARCELLS | 1140 | #ifdef HAVE_LCD_CHARCELLS |
1161 | lcd_puts(0, 0, str(LANG_LANGUAGE_LOADED)); | 1141 | lcd_puts(0, 0, str(LANG_LANGUAGE_LOADED)); |
@@ -1179,8 +1159,8 @@ bool dirbrowse(char *root) | |||
1179 | #ifdef HAVE_LCD_BITMAP | 1159 | #ifdef HAVE_LCD_BITMAP |
1180 | case TREE_ATTR_FONT: | 1160 | case TREE_ATTR_FONT: |
1181 | font_load(buf); | 1161 | font_load(buf); |
1182 | storefile(file->name, global_settings.font_file, | 1162 | set_file(file->name, global_settings.font_file, |
1183 | MAX_FILENAME); | 1163 | MAX_FILENAME); |
1184 | 1164 | ||
1185 | lcd_getstringsize("A", &fw, &fh); | 1165 | lcd_getstringsize("A", &fw, &fh); |
1186 | tree_max_on_screen = (LCD_HEIGHT - MARGIN_Y) / fh; | 1166 | tree_max_on_screen = (LCD_HEIGHT - MARGIN_Y) / fh; |