aboutsummaryrefslogtreecommitdiffstats
path: root/src/config.c
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2016-05-01 22:21:46 -0400
committerJesse Luehrs <doy@tozt.net>2016-05-01 22:21:46 -0400
commit957ef4d81438a74d530f2a3890bfcd0145c11fd9 (patch)
tree6354b666ed05aea2f4bdd2b4e749230843d107a3 /src/config.c
parenta2b9833253748ca113cc101c60867fd7e1dca64d (diff)
downloadrunes-957ef4d81438a74d530f2a3890bfcd0145c11fd9.tar.gz
runes-957ef4d81438a74d530f2a3890bfcd0145c11fd9.zip
simplify
Diffstat (limited to 'src/config.c')
-rw-r--r--src/config.c32
1 files changed, 14 insertions, 18 deletions
diff --git a/src/config.c b/src/config.c
index b314522..7030b78 100644
--- a/src/config.c
+++ b/src/config.c
@@ -317,46 +317,42 @@ static void runes_config_set_defaults(RunesTerm *t)
static FILE *runes_config_get_config_file()
{
char *home, *config_dir, *path;
- size_t home_len, config_dir_len;
FILE *file;
home = getenv("HOME");
- home_len = strlen(home);
config_dir = getenv("XDG_CONFIG_HOME");
if (config_dir) {
config_dir = strdup(config_dir);
}
else {
- config_dir = malloc(home_len + sizeof("/.config") + 1);
- strcpy(config_dir, home);
- strcpy(config_dir + home_len, "/.config");
+ sprintf_dup(&config_dir, "%s/.config", home);
}
- config_dir_len = strlen(config_dir);
- path = malloc(config_dir_len + sizeof("/runes/runes.conf") + 1);
- strcpy(path, config_dir);
- strcpy(path + config_dir_len, "/runes/runes.conf");
+ sprintf_dup(&path, "%s/runes/runes.conf", config_dir);
free(config_dir);
- if ((file = fopen(path, "r"))) {
- free(path);
+ file = fopen(path, "r");
+ free(path);
+
+ if (file) {
return file;
}
+ sprintf_dup(&path, "%s/.runesrc", home);
+
+ file = fopen(path, "r");
free(path);
- path = malloc(home_len + sizeof("/.runesrc") + 1);
- strcpy(path, home);
- strcpy(path + home_len, "/.runesrc");
- if ((file = fopen(path, "r"))) {
- free(path);
+ if (file) {
return file;
}
- free(path);
+ path = "/etc/runesrc";
+
+ file = fopen(path, "r");
- if ((file = fopen("/etc/runesrc", "r"))) {
+ if (file) {
return file;
}