From e79aacf1db334ba920de0732631e999ab8144721 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Wed, 8 Oct 2008 10:48:49 +0200 Subject: directory: added directory_is_empty() directory_is_empty() is a tiny inline function which determine if a directory has any child objects (sub directories or songs). --- src/directory.c | 2 +- src/directory.h | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/directory.c b/src/directory.c index 9913154e2..d1f0e3300 100644 --- a/src/directory.c +++ b/src/directory.c @@ -89,7 +89,7 @@ static void deleteEmptyDirectoriesInDirectory(Directory * directory) for (i = dv->nr; --i >= 0; ) { deleteEmptyDirectoriesInDirectory(dv->base[i]); - if (!dv->base[i]->children.nr && !dv->base[i]->songs.nr) + if (directory_is_empty(dv->base[i])) dirvec_delete(dv, dv->base[i]); } if (!dv->nr) diff --git a/src/directory.h b/src/directory.h index 44e6f63d5..e197600d1 100644 --- a/src/directory.h +++ b/src/directory.h @@ -23,6 +23,8 @@ #include "songvec.h" #include "list.h" +#include + struct dirvec { struct _Directory **base; size_t nr; @@ -53,6 +55,12 @@ newDirectory(const char *dirname, Directory * parent); void freeDirectory(Directory * directory); +static inline bool +directory_is_empty(Directory *directory) +{ + return directory->children.nr == 0 && directory->songs.nr == 0; +} + Directory * getDirectory(const char *name); -- cgit v1.2.3