From 134c3492fa5b086a4a1f9d6b85bb1dad29645602 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96man?= Date: Mon, 25 May 2009 19:39:46 +0000 Subject: [PATCH] Just use $HOME/.hts/tvheadend as setting path. --- src/main.c | 32 ++------------------------------ src/settings.c | 13 +++++-------- 2 files changed, 7 insertions(+), 38 deletions(-) diff --git a/src/main.c b/src/main.c index 12629c34..051b99b4 100644 --- a/src/main.c +++ b/src/main.c @@ -193,8 +193,6 @@ main(int argc, char **argv) const char *groupnam = NULL; int logfacility = LOG_DAEMON; sigset_t set; - const char *settingspath = NULL; - struct stat st; const char *contentpath = TVHEADEND_CONTENT_PATH; signal(SIGPIPE, handle_sigpipe); @@ -210,9 +208,6 @@ main(int argc, char **argv) case 'g': groupnam = optarg; break; - case 's': - settingspath = optarg; - break; case 'c': contentpath = optarg; break; @@ -223,28 +218,6 @@ main(int argc, char **argv) grp = getgrnam(groupnam ?: "video"); pw = usernam ? getpwnam(usernam) : NULL; - /** - * Select path where to store settings - */ - if(settingspath == NULL) { - settingspath = "/var/lib/hts/tvheadend"; - - if(stat(settingspath, &st)) { - /* Path does not exist */ - - if(mkdir("/var/lib/hts", 0777) && errno != EEXIST) { - settingspath = NULL; - } else if(mkdir("/var/lib/hts/tvheadend", 0777) && errno != EEXIST) { - settingspath = NULL; - } else { - - } - } - - if(settingspath != NULL && - chown(settingspath, pw ? pw->pw_uid : 1, grp ? grp->gr_gid : 1)) - settingspath = NULL; - } if(forkaway) { @@ -264,8 +237,7 @@ main(int argc, char **argv) setgid(1); } - - if(pw != NULL) { + if(pw != NULL) { setuid(pw->pw_uid); } else { setuid(1); @@ -279,7 +251,7 @@ main(int argc, char **argv) openlog("tvheadend", LOG_PID, logfacility); - hts_settings_init("tvheadend", settingspath); + hts_settings_init("tvheadend", pw ? pw->pw_dir : NULL); pthread_mutex_init(&global_lock, NULL); diff --git a/src/settings.c b/src/settings.c index 5fffae07..17891d7f 100644 --- a/src/settings.c +++ b/src/settings.c @@ -47,17 +47,14 @@ hts_settings_get_root(void) * */ void -hts_settings_init(const char *programname, const char *path) +hts_settings_init(const char *programname, const char *homedir) { - const char *homedir = getenv("HOME"); char buf[256]; struct stat st; - - if(path != NULL) { - settingspath = strdup(path); - return; - } - + + if(homedir == NULL) + homedir = getenv("HOME"); + if(homedir == NULL) return;