aboutsummaryrefslogtreecommitdiffstats
path: root/src/inotify_update.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/inotify_update.c')
-rw-r--r--src/inotify_update.c35
1 files changed, 13 insertions, 22 deletions
diff --git a/src/inotify_update.c b/src/inotify_update.c
index 8d9657961..02e55ee0b 100644
--- a/src/inotify_update.c
+++ b/src/inotify_update.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2003-2010 The Music Player Daemon Project
+ * Copyright (C) 2003-2011 The Music Player Daemon Project
* http://www.musicpd.org
*
* This program is free software; you can redistribute it and/or modify
@@ -266,18 +266,19 @@ mpd_inotify_callback(int wd, unsigned mask,
(mask & IN_ISDIR) != 0) {
/* a sub directory was changed: register those in
inotify */
- char *root = map_directory_fs(db_get_root());
- char *path_fs;
-
- if (uri_fs != NULL) {
- path_fs = g_strconcat(root, "/", uri_fs, NULL);
- g_free(root);
- } else
+ const char *root = mapper_get_music_directory();
+ const char *path_fs;
+ char *allocated = NULL;
+
+ if (uri_fs != NULL)
+ path_fs = allocated =
+ g_strconcat(root, "/", uri_fs, NULL);
+ else
path_fs = root;
recursive_watch_subdirectories(directory, path_fs,
watch_directory_depth(directory));
- g_free(path_fs);
+ g_free(allocated);
}
if ((mask & (IN_CLOSE_WRITE|IN_MOVE|IN_DELETE)) != 0 ||
@@ -303,21 +304,13 @@ mpd_inotify_callback(int wd, unsigned mask,
void
mpd_inotify_init(unsigned max_depth)
{
- struct directory *root;
- char *path;
GError *error = NULL;
g_debug("initializing inotify");
- root = db_get_root();
- if (root == NULL) {
- g_debug("no music directory configured");
- return;
- }
-
- path = map_directory_fs(root);
+ const char *path = mapper_get_music_directory();
if (path == NULL) {
- g_warning("mapper has failed");
+ g_debug("no music directory configured");
return;
}
@@ -326,13 +319,12 @@ mpd_inotify_init(unsigned max_depth)
if (inotify_source == NULL) {
g_warning("%s", error->message);
g_error_free(error);
- g_free(path);
return;
}
inotify_max_depth = max_depth;
- inotify_root.name = path;
+ inotify_root.name = g_strdup(path);
inotify_root.descriptor = mpd_inotify_source_add(inotify_source, path,
IN_MASK, &error);
if (inotify_root.descriptor < 0) {
@@ -340,7 +332,6 @@ mpd_inotify_init(unsigned max_depth)
g_error_free(error);
mpd_inotify_source_free(inotify_source);
inotify_source = NULL;
- g_free(path);
return;
}