aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2014-01-09 19:00:59 +0100
committerMax Kellermann <max@duempel.org>2014-01-09 19:01:03 +0100
commit970b10d01bbca4bd3c09d37c76531625b3adf0b4 (patch)
treeb7db6980e358b3e5b736c31b399020f5c6db28c9
parent61b938d6fad8211d68eb3921e4c68e38b016e7cc (diff)
downloadmpd-970b10d01bbca4bd3c09d37c76531625b3adf0b4.tar.gz
mpd-970b10d01bbca4bd3c09d37c76531625b3adf0b4.tar.xz
mpd-970b10d01bbca4bd3c09d37c76531625b3adf0b4.zip
tag/TagTable: add lookup TagType -> name
Diffstat (limited to '')
-rw-r--r--src/tag/TagTable.cxx10
-rw-r--r--src/tag/TagTable.hxx9
2 files changed, 19 insertions, 0 deletions
diff --git a/src/tag/TagTable.cxx b/src/tag/TagTable.cxx
index b51bc35ba..5224404a9 100644
--- a/src/tag/TagTable.cxx
+++ b/src/tag/TagTable.cxx
@@ -51,3 +51,13 @@ tag_table_lookup_i(const struct tag_table *table, const char *name)
return TAG_NUM_OF_ITEM_TYPES;
}
+
+const char *
+tag_table_lookup(const tag_table *table, TagType type)
+{
+ for (; table->name != nullptr; ++table)
+ if (table->type == type)
+ return table->name;
+
+ return nullptr;
+}
diff --git a/src/tag/TagTable.hxx b/src/tag/TagTable.hxx
index c050f61ac..423a1e6ad 100644
--- a/src/tag/TagTable.hxx
+++ b/src/tag/TagTable.hxx
@@ -47,4 +47,13 @@ gcc_pure
TagType
tag_table_lookup_i(const tag_table *table, const char *name);
+/**
+ * Looks up a #TagType in a tag translation table and returns its
+ * string representation. Returns nullptr if the specified type was
+ * not found in the table.
+ */
+gcc_pure
+const char *
+tag_table_lookup(const tag_table *table, TagType type);
+
#endif