aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/decoder/oggvorbis_plugin.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/decoder/oggvorbis_plugin.c b/src/decoder/oggvorbis_plugin.c
index 60ad0d07c..772526225 100644
--- a/src/decoder/oggvorbis_plugin.c
+++ b/src/decoder/oggvorbis_plugin.c
@@ -144,8 +144,7 @@ static const char *VORBIS_COMMENT_DISC_KEY = "discnumber";
static bool
vorbis_parse_comment(struct tag *tag, char *comment, enum tag_type tag_type)
{
- const char *needle;
- unsigned int len;
+ const char *needle, *value;
assert(tag != NULL);
@@ -159,10 +158,10 @@ vorbis_parse_comment(struct tag *tag, char *comment, enum tag_type tag_type)
default:
needle = mpdTagItemKeys[tag_type];
}
- len = strlen(needle);
- if (strncasecmp(comment, needle, len) == 0 && *(comment + len) == '=') {
- tag_add_item(tag, tag_type, comment + len + 1);
+ value = vorbis_comment_value(comment, needle);
+ if (value != NULL) {
+ tag_add_item(tag, tag_type, value);
return true;
}