deal with user and ~ in config file more nicely

git-svn-id: https://svn.musicpd.org/mpd/trunk@1871 09075e82-0dd4-0310-85a5-a0d7c8717e4f
This commit is contained in:
Warren Dukes 2004-07-15 20:15:26 +00:00
parent e33dcb9bd4
commit a0227e8062
1 changed files with 19 additions and 5 deletions

View File

@ -232,11 +232,25 @@ char ** readConf(char * file) {
if(conf_params[conf_absolutePaths[i]][1]=='/' ||
conf_params[conf_absolutePaths[i]][1]=='\0')
{
uid_t uid = geteuid();
if((pwd = getpwuid(uid)) == NULL) {
ERROR("problems getting passwd entry "
"for current user\n");
exit(EXIT_FAILURE);
if(conf_params[CONF_USER] &&
strlen(conf_params[CONF_USER]))
{
pwd = getpwnam(
conf_params[CONF_USER]);
if(!pwd) {
ERROR("no such user: %s\n",
conf_params[CONF_USER]);
exit(EXIT_FAILURE);
}
}
else {
uid_t uid = geteuid();
if((pwd = getpwuid(uid)) == NULL) {
ERROR("problems getting passwd "
"entry "
"for current user\n");
exit(EXIT_FAILURE);
}
}
}
else {