summaryrefslogtreecommitdiff
path: root/firmware/common
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/common')
-rw-r--r--firmware/common/rbpaths.c17
1 files changed, 14 insertions, 3 deletions
diff --git a/firmware/common/rbpaths.c b/firmware/common/rbpaths.c
index 8eebc1fe08..10fceb69d9 100644
--- a/firmware/common/rbpaths.c
+++ b/firmware/common/rbpaths.c
@@ -25,6 +25,7 @@
25#include <stdarg.h> 25#include <stdarg.h>
26#include "rbpaths.h" 26#include "rbpaths.h"
27#include "file.h" /* MAX_PATH */ 27#include "file.h" /* MAX_PATH */
28#include "logf.h"
28#include "gcc_extensions.h" 29#include "gcc_extensions.h"
29#include "string-extra.h" 30#include "string-extra.h"
30#include "filefuncs.h" 31#include "filefuncs.h"
@@ -70,9 +71,19 @@ void paths_init(void)
70#if (CONFIG_PLATFORM & PLATFORM_ANDROID) 71#if (CONFIG_PLATFORM & PLATFORM_ANDROID)
71 mkdir("/sdcard/rockbox"); 72 mkdir("/sdcard/rockbox");
72#else 73#else
73 char home_path[MAX_PATH]; 74 char config_dir[MAX_PATH];
74 snprintf(home_path, sizeof(home_path), "%s/.config/rockbox.org", getenv("HOME")); 75
75 mkdir(home_path); 76 const char *home = getenv("HOME");
77 if (!home)
78 {
79 logf("HOME environment var not set. Can't write config");
80 return;
81 }
82
83 snprintf(config_dir, sizeof(config_dir), "%s/.config", home);
84 mkdir(config_dir);
85 snprintf(config_dir, sizeof(config_dir), "%s/.config/rockbox.org", home);
86 mkdir(config_dir);
76#endif 87#endif
77} 88}
78 89