From 22206512539aa9a888fdba68d60324c560389d5d Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Thu, 24 Apr 2014 11:29:55 +0200 Subject: TagBuilder: add method AddEmptyItem() --- src/tag/TagBuilder.cxx | 10 ++++++++++ src/tag/TagBuilder.hxx | 7 +++++++ 2 files changed, 17 insertions(+) (limited to 'src/tag') diff --git a/src/tag/TagBuilder.cxx b/src/tag/TagBuilder.cxx index 40ccff752..bc8ea2ae7 100644 --- a/src/tag/TagBuilder.cxx +++ b/src/tag/TagBuilder.cxx @@ -218,6 +218,16 @@ TagBuilder::AddItem(TagType type, const char *value) AddItem(type, value, strlen(value)); } +void +TagBuilder::AddEmptyItem(TagType type) +{ + tag_pool_lock.lock(); + auto i = tag_pool_get_item(type, "", 0); + tag_pool_lock.unlock(); + + items.push_back(i); +} + void TagBuilder::RemoveAll() { diff --git a/src/tag/TagBuilder.hxx b/src/tag/TagBuilder.hxx index c0b4bebfa..6de52b775 100644 --- a/src/tag/TagBuilder.hxx +++ b/src/tag/TagBuilder.hxx @@ -153,6 +153,13 @@ public: gcc_nonnull_all void AddItem(TagType type, const char *value); + /** + * Appends a new tag item with an empty value. Do not use + * this unless you know what you're doing - because usually, + * empty values are discarded. + */ + void AddEmptyItem(TagType type); + /** * Removes all tag items. */ -- cgit v1.2.3