Commit 43d2fd73 authored by Max Kellermann's avatar Max Kellermann

lib/xiph/VorbisComments: return std::unique_ptr<Tag>

parent 71f1ec0b
......@@ -152,12 +152,11 @@ static void
vorbis_send_comments(DecoderClient &client, InputStream &is,
char **comments)
{
Tag *tag = vorbis_comments_to_tag(comments);
auto tag = vorbis_comments_to_tag(comments);
if (!tag)
return;
client.SubmitTag(is, std::move(*tag));
delete tag;
}
void
......
......@@ -100,12 +100,12 @@ vorbis_comments_scan(char **comments,
}
Tag *
std::unique_ptr<Tag>
vorbis_comments_to_tag(char **comments) noexcept
{
TagBuilder tag_builder;
vorbis_comments_scan(comments, add_tag_handler, &tag_builder);
return tag_builder.empty()
? nullptr
: tag_builder.CommitNew().release();
: tag_builder.CommitNew();
}
......@@ -22,6 +22,8 @@
#include "check.h"
#include <memory>
struct ReplayGainInfo;
struct TagHandler;
struct Tag;
......@@ -33,7 +35,7 @@ void
vorbis_comments_scan(char **comments,
const TagHandler &handler, void *handler_ctx);
Tag *
std::unique_ptr<Tag>
vorbis_comments_to_tag(char **comments) noexcept;
#endif
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment