From 196f9408c6f6078d35c03aaa10ba60486d7664f2 Mon Sep 17 00:00:00 2001 From: swodig 112 Date: Sun, 22 Aug 2021 14:37:02 +0430 Subject: [PATCH] Handle ~ in music_dir Previously ~ in music_dir wasn't handled properly and an absolute path was required --- mpd-notification.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/mpd-notification.c b/mpd-notification.c index 1bbc559..fff7913 100644 --- a/mpd-notification.c +++ b/mpd-notification.c @@ -345,6 +345,17 @@ int main(int argc, char ** argv) { /* change directory to music base directory */ if (music_dir != NULL) { + if (!strcmp(music_dir, "~") || !strncmp(music_dir, "~/", 2)) { + char *tmpdir = malloc(sizeof(music_dir)); + strcpy(tmpdir, music_dir + 1); + char * tmpdir2 = malloc(strlen(tmpdir) + strlen(getenv("HOME")) + 1); + free((char *)music_dir); + music_dir = tmpdir; + strcpy(tmpdir2, getenv("HOME")); + strcat(tmpdir2, music_dir); + music_dir = tmpdir2; + free(tmpdir); + } if (chdir(music_dir) == -1) { fprintf(stderr, "%s: Could not change directory to: %s\n", program, music_dir); music_dir = NULL;