aboutsummaryrefslogtreecommitdiffstats
path: root/src/filelist.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/filelist.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/filelist.c b/src/filelist.c
index 46137cd3b..415eec402 100644
--- a/src/filelist.c
+++ b/src/filelist.c
@@ -139,3 +139,22 @@ filelist_find_song(struct filelist *fl, const struct mpd_song *song)
return NULL;
}
+
+int
+filelist_find_directory(struct filelist *filelist, const char *name)
+{
+ guint i;
+
+ assert(name != NULL);
+
+ for (i = 0; i < filelist_length(filelist); ++i) {
+ struct filelist_entry *entry = filelist_get(filelist, i);
+ mpd_InfoEntity *entity = entry->entity;
+
+ if (entity && entity->type == MPD_INFO_ENTITY_TYPE_DIRECTORY &&
+ strcmp(entity->info.directory->path, name) == 0)
+ return i;
+ }
+
+ return -1;
+}