aboutsummaryrefslogtreecommitdiffstats
path: root/src/update_walk.c
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2012-04-05 00:45:39 +0200
committerMax Kellermann <max@duempel.org>2012-04-05 00:45:39 +0200
commitc22cbbf8280bb35c8fee5ae3931d3bc08b70099f (patch)
tree4654b9834f51c32746e2f72ce64191149647d87e /src/update_walk.c
parentf930f37d35995f0fc07f70aefc41babc0db1757e (diff)
parent5acee73fc85e44179120a5818247fc0760038cff (diff)
downloadmpd-c22cbbf8280bb35c8fee5ae3931d3bc08b70099f.tar.gz
mpd-c22cbbf8280bb35c8fee5ae3931d3bc08b70099f.tar.xz
mpd-c22cbbf8280bb35c8fee5ae3931d3bc08b70099f.zip
Merge branch 'v0.16.x'
Conflicts: src/output/osx_plugin.c src/text_input_stream.c
Diffstat (limited to '')
-rw-r--r--src/update_walk.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/update_walk.c b/src/update_walk.c
index 003807da6..9ca9115bd 100644
--- a/src/update_walk.c
+++ b/src/update_walk.c
@@ -676,6 +676,9 @@ directory_make_child_checked(struct directory *parent, const char *name_utf8)
inodeFoundInParent(parent, st.st_ino, st.st_dev))
return NULL;
+ if (skip_symlink(parent, name_utf8))
+ return NULL;
+
/* if we're adding directory paths, make sure to delete filenames
with potentially the same name */
db_lock();
@@ -728,7 +731,8 @@ updatePath(const char *path)
name = g_path_get_basename(path);
- if (stat_directory_child(parent, name, &st) == 0)
+ if (!skip_symlink(parent, name) &&
+ stat_directory_child(parent, name, &st) == 0)
updateInDirectory(parent, name, &st);
else
modified |= delete_name_in(parent, name);