diff options
author | Max Kellermann <max@duempel.org> | 2014-01-09 19:00:59 +0100 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2014-01-09 19:01:03 +0100 |
commit | 970b10d01bbca4bd3c09d37c76531625b3adf0b4 (patch) | |
tree | b7db6980e358b3e5b736c31b399020f5c6db28c9 /src/tag | |
parent | 61b938d6fad8211d68eb3921e4c68e38b016e7cc (diff) | |
download | mpd-970b10d01bbca4bd3c09d37c76531625b3adf0b4.tar.gz mpd-970b10d01bbca4bd3c09d37c76531625b3adf0b4.tar.xz mpd-970b10d01bbca4bd3c09d37c76531625b3adf0b4.zip |
tag/TagTable: add lookup TagType -> name
Diffstat (limited to 'src/tag')
-rw-r--r-- | src/tag/TagTable.cxx | 10 | ||||
-rw-r--r-- | src/tag/TagTable.hxx | 9 |
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 |