From 69b033757f422d6472315f7892c303f92da495b6 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Wed, 14 Jan 2009 23:15:14 +0100 Subject: oggvorbis: moved code to vorbis_copy_comment() --- src/decoder/oggvorbis_plugin.c | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) (limited to 'src/decoder/oggvorbis_plugin.c') diff --git a/src/decoder/oggvorbis_plugin.c b/src/decoder/oggvorbis_plugin.c index 772526225..c1fb799f0 100644 --- a/src/decoder/oggvorbis_plugin.c +++ b/src/decoder/oggvorbis_plugin.c @@ -141,10 +141,29 @@ vorbis_comments_to_replay_gain(char **comments) static const char *VORBIS_COMMENT_TRACK_KEY = "tracknumber"; static const char *VORBIS_COMMENT_DISC_KEY = "discnumber"; +/** + * Check if the comment's name equals the passed name, and if so, copy + * the comment value into the tag. + */ +static bool +vorbis_copy_comment(struct tag *tag, const char *comment, + const char *name, enum tag_type tag_type) +{ + const char *value; + + value = vorbis_comment_value(comment, name); + if (value != NULL) { + tag_add_item(tag, tag_type, value); + return true; + } + + return false; +} + static bool vorbis_parse_comment(struct tag *tag, char *comment, enum tag_type tag_type) { - const char *needle, *value; + const char *needle; assert(tag != NULL); @@ -159,14 +178,7 @@ vorbis_parse_comment(struct tag *tag, char *comment, enum tag_type tag_type) needle = mpdTagItemKeys[tag_type]; } - value = vorbis_comment_value(comment, needle); - if (value != NULL) { - tag_add_item(tag, tag_type, value); - - return true; - } - - return false; + return vorbis_copy_comment(tag, comment, needle, tag_type); } static struct tag * -- cgit v1.2.3