summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--paths.c6
-rw-r--r--util.c9
2 files changed, 10 insertions, 5 deletions
diff --git a/paths.c b/paths.c
index 49a3c5c..4652316 100644
--- a/paths.c
+++ b/paths.c
@@ -7,8 +7,7 @@ static char **current_path;
static void persist_path(void)
{
- char const *parts[] = {get_userdata_dir(), PATH_SEP, "sticky_path"};
- char *pathfname = alloc_concat_m(3, parts);
+ char *pathfname = alloc_concat(get_userdata_dir(), PATH_SEP "blastem" PATH_SEP "sticky_path");
FILE *f = fopen(pathfname, "wb");
if (f) {
if (fwrite(*current_path, 1, strlen(*current_path), f) != strlen(*current_path)) {
@@ -63,8 +62,7 @@ void get_initial_browse_path(char **dst)
*dst = NULL;
char *remember_path = tern_find_path(config, "ui\0remember_path\0", TVAL_PTR).ptrval;
if (!remember_path || !strcmp("on", remember_path)) {
- char const *parts[] = {get_userdata_dir(), PATH_SEP, "sticky_path"};
- char *pathfname = alloc_concat_m(3, parts);
+ char *pathfname = alloc_concat(get_userdata_dir(), PATH_SEP "blastem" PATH_SEP "sticky_path");
FILE *f = fopen(pathfname, "rb");
if (f) {
long pathsize = file_size(f);
diff --git a/util.c b/util.c
index 7c7fd35..ea9c58c 100644
--- a/util.c
+++ b/util.c
@@ -891,7 +891,14 @@ char const *get_userdata_dir()
char const *get_config_dir()
{
- return get_userdata_dir();
+ static char* confdir;
+ if (!confdir) {
+ char const *base = get_userdata_dir();
+ if (base) {
+ confdir = alloc_concat(base, PATH_SEP "blastem");
+ }
+ }
+ return confdir;
}
#define CONFIG_PREFIX ""
#define SAVE_PREFIX ""