diff options
author | Max Kellermann <max@duempel.org> | 2008-10-03 11:53:55 +0200 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2008-10-03 11:53:55 +0200 |
commit | e2c8e28ef7ccda32fb32792b086c40144df2a916 (patch) | |
tree | 711b920ed4c51271b71bf9d83dc20369234f86b1 | |
parent | 40875b7a771ba26c528877eb13f80e476c86cc3a (diff) | |
download | mpd-e2c8e28ef7ccda32fb32792b086c40144df2a916.tar.gz mpd-e2c8e28ef7ccda32fb32792b086c40144df2a916.tar.xz mpd-e2c8e28ef7ccda32fb32792b086c40144df2a916.zip |
filelist: added filelist_find_directory()
The function filelist_find_directory() will be useful for the
following patch.
-rw-r--r-- | src/filelist.c | 19 | ||||
-rw-r--r-- | src/filelist.h | 3 |
2 files changed, 22 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; +} diff --git a/src/filelist.h b/src/filelist.h index 85e551fc3..d7d4dff88 100644 --- a/src/filelist.h +++ b/src/filelist.h @@ -76,4 +76,7 @@ filelist_sort(struct filelist *filelist, GCompareFunc compare_func); struct filelist_entry * filelist_find_song(struct filelist *flist, const struct mpd_song *song); +int +filelist_find_directory(struct filelist *filelist, const char *name); + #endif |