From d0532eaf703396e838aa7dba77f58e296f503af5 Mon Sep 17 00:00:00 2001 From: Warren Dukes Date: Thu, 28 Oct 2004 04:51:46 +0000 Subject: new config file format stuff, quick test shows it works git-svn-id: https://svn.musicpd.org/mpd/branches/shank-rewrite-config@2373 09075e82-0dd4-0310-85a5-a0d7c8717e4f --- src/main.c | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) (limited to 'src/main.c') diff --git a/src/main.c b/src/main.c index a73d778cf..f56d74939 100644 --- a/src/main.c +++ b/src/main.c @@ -165,9 +165,12 @@ void parseOptions(int argc, char ** argv, Options * options) { return; } else if(argcLeft<=2) { - char ** conf = NULL; - if(argcLeft==2) readConf(argv[argc-1]); - if(argcLeft==1) { + int conf = 0; + if(argcLeft==2) { + readConf(argv[argc-1]); + conf = 1; + } + else if(argcLeft==1) { FILE * fp; char * homedir = getenv("HOME"); char userfile[MAXPATHLEN+1] = ""; @@ -180,26 +183,26 @@ void parseOptions(int argc, char ** argv, Options * options) { if(strlen(userfile) && (fp=fopen(userfile,"r"))) { fclose(fp); readConf(userfile); + conf = 1; } else if((fp=fopen(SYSTEM_CONFIG_FILE_LOCATION,"r"))) { fclose(fp); readConf(SYSTEM_CONFIG_FILE_LOCATION); + conf = 1; } } if(conf) { - options->portStr = getConfigParamValue(CONF_PORT); + options->portStr = forceAndGetConfigParamValue( + CONF_PORT); options->musicDirArg = - getConfigParamValue(CONF_MUSIC_DIR); + parseConfigFilePath(CONF_MUSIC_DIR, 1); options->playlistDirArg = - getConfigParamValue(CONF_PLAYLIST_DIR); - options->logFile = getConfigParamValue(CONF_LOG_FILE); + parseConfigFilePath(CONF_PLAYLIST_DIR, 1); + options->logFile = parseConfigFilePath(CONF_LOG_FILE,1); options->errorFile = - getConfigParamValue(CONF_ERROR_FILE); - options->usr = getConfigParamValue(CONF_USER); - if(getConfigParamValue(CONF_DB_FILE)) { - options->dbFile = - getConfigParamValue(CONF_DB_FILE); - } + parseConfigFilePath(CONF_ERROR_FILE, 1); + options->usr = parseConfigFilePath(CONF_USER, 0); + options->dbFile = parseConfigFilePath(CONF_DB_FILE, 0); return; } } -- cgit v1.2.3