diff options
author | Max Kellermann <max@duempel.org> | 2009-01-15 00:21:08 +0100 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2009-01-15 00:21:08 +0100 |
commit | 2fad5783762c2f2868c8b5239835d54de23912d3 (patch) | |
tree | 898dee0f0e59bf42d9050c68aa1883272ff58644 | |
parent | 4847bbaad372c7c51811bafe2fdf3ffbf28d9a69 (diff) |
tag: added tag_get_value()
-rw-r--r-- | src/tag.c | 12 | ||||
-rw-r--r-- | src/tag.h | 7 |
2 files changed, 16 insertions, 3 deletions
@@ -365,16 +365,22 @@ tag_merge(const struct tag *base, const struct tag *add) return ret; } -bool tag_has_type(const struct tag *tag, enum tag_type type) +const char * +tag_get_value(const struct tag *tag, enum tag_type type) { assert(tag != NULL); assert(type < TAG_NUM_OF_ITEM_TYPES); for (unsigned i = 0; i < tag->numOfItems; i++) if (tag->items[i]->type == type) - return true; + return tag->items[i]->value; + + return NULL; +} - return false; +bool tag_has_type(const struct tag *tag, enum tag_type type) +{ + return tag_get_value(tag, type) != NULL; } int tag_equal(const struct tag *tag1, const struct tag *tag2) @@ -110,6 +110,13 @@ tag_is_empty(const struct tag *tag) } /** + * Returns the first value of the specified tag type, or NULL if none + * is present in this tag object. + */ +const char * +tag_get_value(const struct tag *tag, enum tag_type type); + +/** * Checks whether the tag contains one or more items with * the specified type. */ |