aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2013-12-03 12:12:30 +0100
committerMax Kellermann <max@duempel.org>2013-12-03 13:15:42 +0100
commit8a5209ad93f860572b3545d56bc6f170449be1dc (patch)
treeb018be9ca1d4d7d137c356502ba3d416d988c30e
parent308fdf6e9a7229f2a2f5bb51d9528c39d595e73d (diff)
downloadmpd-8a5209ad93f860572b3545d56bc6f170449be1dc.tar.gz
mpd-8a5209ad93f860572b3545d56bc6f170449be1dc.tar.xz
mpd-8a5209ad93f860572b3545d56bc6f170449be1dc.zip
Tag: remove method AddItem()
Use class TagBuilder instead.
-rw-r--r--src/tag/Tag.cxx40
-rw-r--r--src/tag/Tag.hxx21
-rw-r--r--test/test_vorbis_encoder.cxx10
3 files changed, 8 insertions, 63 deletions
diff --git a/src/tag/Tag.cxx b/src/tag/Tag.cxx
index 43ded308a..e212c69a2 100644
--- a/src/tag/Tag.cxx
+++ b/src/tag/Tag.cxx
@@ -147,43 +147,3 @@ Tag::HasType(TagType type) const
{
return GetValue(type) != nullptr;
}
-
-void
-Tag::AddItemInternal(TagType type, const char *value, size_t len)
-{
- unsigned int i = num_items;
-
- char *p = FixTagString(value, len);
- if (p != nullptr) {
- value = p;
- len = strlen(value);
- }
-
- num_items++;
-
- items = (TagItem **)g_realloc(items, items_size(*this));
-
- tag_pool_lock.lock();
- items[i] = tag_pool_get_item(type, value, len);
- tag_pool_lock.unlock();
-
- g_free(p);
-}
-
-void
-Tag::AddItem(TagType type, const char *value, size_t len)
-{
- if (ignore_tag_items[type])
- return;
-
- if (value == nullptr || len == 0)
- return;
-
- AddItemInternal(type, value, len);
-}
-
-void
-Tag::AddItem(TagType type, const char *value)
-{
- AddItem(type, value, strlen(value));
-}
diff --git a/src/tag/Tag.hxx b/src/tag/Tag.hxx
index e404a4f26..457a889bd 100644
--- a/src/tag/Tag.hxx
+++ b/src/tag/Tag.hxx
@@ -104,24 +104,6 @@ struct Tag {
void Clear();
/**
- * Appends a new tag item.
- *
- * @param type the type of the new tag item
- * @param value the value of the tag item (not null-terminated)
- * @param len the length of #value
- */
- void AddItem(TagType type, const char *value, size_t len);
-
- /**
- * Appends a new tag item.
- *
- * @param tag the #tag object
- * @param type the type of the new tag item
- * @param value the value of the tag item (null-terminated)
- */
- void AddItem(TagType type, const char *value);
-
- /**
* Merges the data from two tags. If both tags share data for the
* same TagType, only data from "add" is used.
*
@@ -152,9 +134,6 @@ struct Tag {
*/
gcc_pure
bool HasType(TagType type) const;
-
-private:
- void AddItemInternal(TagType type, const char *value, size_t len);
};
/**
diff --git a/test/test_vorbis_encoder.cxx b/test/test_vorbis_encoder.cxx
index 1d95f6deb..bb8731c2f 100644
--- a/test/test_vorbis_encoder.cxx
+++ b/test/test_vorbis_encoder.cxx
@@ -24,6 +24,7 @@
#include "ConfigData.hxx"
#include "stdbin.h"
#include "tag/Tag.hxx"
+#include "tag/TagBuilder.hxx"
#include "util/Error.hxx"
#include <stddef.h>
@@ -81,8 +82,13 @@ main(gcc_unused int argc, gcc_unused char **argv)
encoder_to_stdout(*encoder);
Tag tag;
- tag.AddItem(TAG_ARTIST, "Foo");
- tag.AddItem(TAG_TITLE, "Bar");
+
+ {
+ TagBuilder tag_builder;
+ tag_builder.AddItem(TAG_ARTIST, "Foo");
+ tag_builder.AddItem(TAG_TITLE, "Bar");
+ tag_builder.Commit(tag);
+ }
success = encoder_tag(encoder, &tag, IgnoreError());
assert(success);