From 986dd2fac1269b2d40f2ba2b2636eb5d312dc773 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Thu, 24 Apr 2014 10:47:53 +0200 Subject: db/Helpers: move code to CheckUniqueTag() --- src/db/Helpers.cxx | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/db/Helpers.cxx b/src/db/Helpers.cxx index c6c7e3642..719fa8741 100644 --- a/src/db/Helpers.cxx +++ b/src/db/Helpers.cxx @@ -39,20 +39,26 @@ struct StringLess { typedef std::set StringSet; static bool -CollectTags(StringSet &set, TagType tag_type, const LightSong &song) +CheckUniqueTag(StringSet &set, const Tag &tag, TagType type) { - assert(song.tag != nullptr); - const Tag &tag = *song.tag; - bool found = false; for (unsigned i = 0; i < tag.num_items; ++i) { - if (tag.items[i]->type == tag_type) { + if (tag.items[i]->type == type) { set.insert(tag.items[i]->value); found = true; } } - if (!found) + return found; +} + +static bool +CollectTags(StringSet &set, TagType tag_type, const LightSong &song) +{ + assert(song.tag != nullptr); + const Tag &tag = *song.tag; + + if (!CheckUniqueTag(set, tag, tag_type)) set.insert(""); return true; -- cgit v1.2.3