summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apps/settings.c11
-rw-r--r--apps/settings.h2
-rw-r--r--apps/settings_menu.c4
3 files changed, 10 insertions, 7 deletions
diff --git a/apps/settings.c b/apps/settings.c
index b08ed8475d..1cde6e02e7 100644
--- a/apps/settings.c
+++ b/apps/settings.c
@@ -544,7 +544,7 @@ void settings_apply(void)
544#ifdef HAVE_LCD_BITMAP 544#ifdef HAVE_LCD_BITMAP
545 if ( global_settings.font_file[0] && 545 if ( global_settings.font_file[0] &&
546 global_settings.font_file[0] != 0xff ) { 546 global_settings.font_file[0] != 0xff ) {
547 snprintf(buf, sizeof buf, ROCKBOX_DIR "/%s.fnt", 547 snprintf(buf, sizeof buf, ROCKBOX_DIR FONT_DIR "/%s.fnt",
548 global_settings.font_file); 548 global_settings.font_file);
549 font_load(buf); 549 font_load(buf);
550 } 550 }
@@ -561,7 +561,7 @@ void settings_apply(void)
561 561
562 if ( global_settings.lang_file[0] && 562 if ( global_settings.lang_file[0] &&
563 global_settings.lang_file[0] != 0xff ) { 563 global_settings.lang_file[0] != 0xff ) {
564 snprintf(buf, sizeof buf, ROCKBOX_DIR "/%s.lng", 564 snprintf(buf, sizeof buf, ROCKBOX_DIR LANG_DIR "/%s.lng",
565 global_settings.lang_file); 565 global_settings.lang_file);
566 lang_load(buf); 566 lang_load(buf);
567 } 567 }
@@ -829,7 +829,8 @@ void set_file(char* filename, char* setting, int maxlen)
829 ptr--; 829 ptr--;
830 } 830 }
831 831
832 if (strcmp(ROCKBOX_DIR, filename) || (len-extlen > maxlen)) 832 if (strncmp(ROCKBOX_DIR, filename ,strlen(ROCKBOX_DIR)) ||
833 (len-extlen > maxlen))
833 return; 834 return;
834 835
835 strncpy(setting, fptr, len-extlen); 836 strncpy(setting, fptr, len-extlen);
@@ -1187,12 +1188,12 @@ bool settings_save_config(void)
1187 global_settings.wps_file); 1188 global_settings.wps_file);
1188 1189
1189 if (global_settings.lang_file[0] != 0) 1190 if (global_settings.lang_file[0] != 0)
1190 fprintf(fd, "lang: %s/%s.lng\r\n", ROCKBOX_DIR, 1191 fprintf(fd, "lang: %s/%s.lng\r\n", ROCKBOX_DIR LANG_DIR,
1191 global_settings.lang_file); 1192 global_settings.lang_file);
1192 1193
1193#ifdef HAVE_LCD_BITMAP 1194#ifdef HAVE_LCD_BITMAP
1194 if (global_settings.font_file[0] != 0) 1195 if (global_settings.font_file[0] != 0)
1195 fprintf(fd, "font: %s/%s.fnt\r\n", ROCKBOX_DIR, 1196 fprintf(fd, "font: %s/%s.fnt\r\n", ROCKBOX_DIR FONT_DIR,
1196 global_settings.font_file); 1197 global_settings.font_file);
1197#endif 1198#endif
1198 1199
diff --git a/apps/settings.h b/apps/settings.h
index 49327b2f80..904bcd6a91 100644
--- a/apps/settings.h
+++ b/apps/settings.h
@@ -25,6 +25,8 @@
25#include "file.h" 25#include "file.h"
26 26
27#define ROCKBOX_DIR "/.rockbox" 27#define ROCKBOX_DIR "/.rockbox"
28#define FONT_DIR "/fonts"
29#define LANG_DIR "/langs"
28#define PLUGIN_DIR ROCKBOX_DIR"/rocks" 30#define PLUGIN_DIR ROCKBOX_DIR"/rocks"
29 31
30#define MAX_FILENAME 20 32#define MAX_FILENAME 20
diff --git a/apps/settings_menu.c b/apps/settings_menu.c
index c3932f3264..65261e348c 100644
--- a/apps/settings_menu.c
+++ b/apps/settings_menu.c
@@ -731,13 +731,13 @@ static bool custom_cfg_browse(void)
731 731
732static bool language_browse(void) 732static bool language_browse(void)
733{ 733{
734 return rockbox_browse(ROCKBOX_DIR, SHOW_LNG); 734 return rockbox_browse(ROCKBOX_DIR LANG_DIR, SHOW_LNG);
735} 735}
736 736
737#ifdef HAVE_RECORDER_KEYPAD 737#ifdef HAVE_RECORDER_KEYPAD
738static bool font_browse(void) 738static bool font_browse(void)
739{ 739{
740 return rockbox_browse(ROCKBOX_DIR, SHOW_FONT); 740 return rockbox_browse(ROCKBOX_DIR FONT_DIR, SHOW_FONT);
741} 741}
742#endif 742#endif
743 743