diff options
Diffstat (limited to 'src/path.c')
-rw-r--r-- | src/path.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/path.c b/src/path.c index c35be7f04..dec9844b6 100644 --- a/src/path.c +++ b/src/path.c @@ -116,15 +116,15 @@ static char * appendSlash(char ** path) { int len = strlen(temp); if(temp[len-1] != '/') { - temp = strdup(*path); + temp = malloc(len+2); + memset(temp, 0, len+2); + memcpy(temp, *path, len); + temp[len] = '/'; free(*path); - *path = malloc(len+2); - memset(*path, 0, len+2); - memcpy(*path, temp, len); - (*path)[len] = '/'; + *path = temp; } - return * path; + return temp; } void initPaths() { @@ -136,8 +136,8 @@ void initPaths() { char * originalLocale; DIR * dir; - musicDir = appendSlash(&musicParam->value); - playlistDir = appendSlash(&playlistParam->value); + musicDir = appendSlash(&(musicParam->value)); + playlistDir = appendSlash(&(playlistParam->value)); if((dir = opendir(playlistDir)) == NULL) { ERROR("cannot open %s \"%s\" (config line %i): %s\n", |