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:
16
src/conf.c
16
src/conf.c
@@ -232,13 +232,27 @@ char ** readConf(char * file) {
|
||||
if(conf_params[conf_absolutePaths[i]][1]=='/' ||
|
||||
conf_params[conf_absolutePaths[i]][1]=='\0')
|
||||
{
|
||||
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 "
|
||||
ERROR("problems getting passwd "
|
||||
"entry "
|
||||
"for current user\n");
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
int foundSlash = 0;
|
||||
char * ch = &(
|
||||
|
Reference in New Issue
Block a user