db/Helpers: move code to CheckUniqueTag()

This commit is contained in:
Max Kellermann 2014-04-24 10:47:53 +02:00
parent 3965b490a9
commit 986dd2fac1
1 changed files with 12 additions and 6 deletions

View File

@ -39,20 +39,26 @@ struct StringLess {
typedef std::set<const char *, StringLess> 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;