diff options
author | Max Kellermann <max@duempel.org> | 2013-12-14 12:58:26 +0100 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2013-12-14 12:58:26 +0100 |
commit | 635a67afac8e8af1a848d67dbfc287eb9b67dd70 (patch) | |
tree | 1e3f9daeafe1fedee9186e3c0440b37a4b950422 /src/decoder/FlacMetadata.cxx | |
parent | c7e7c819a2b76553efeae35c4449cadf642a53b3 (diff) | |
download | mpd-635a67afac8e8af1a848d67dbfc287eb9b67dd70.tar.gz mpd-635a67afac8e8af1a848d67dbfc287eb9b67dd70.tar.xz mpd-635a67afac8e8af1a848d67dbfc287eb9b67dd70.zip |
util/SplitString: new utility class
To replace g_strdup().
Diffstat (limited to 'src/decoder/FlacMetadata.cxx')
-rw-r--r-- | src/decoder/FlacMetadata.cxx | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/src/decoder/FlacMetadata.cxx b/src/decoder/FlacMetadata.cxx index 9cbedd67b..a3d62d07a 100644 --- a/src/decoder/FlacMetadata.cxx +++ b/src/decoder/FlacMetadata.cxx @@ -26,6 +26,7 @@ #include "tag/TagBuilder.hxx" #include "ReplayGainInfo.hxx" #include "util/ASCII.hxx" +#include "util/SplitString.hxx" #include <glib.h> @@ -165,16 +166,12 @@ flac_scan_comment(const FLAC__StreamMetadata_VorbisComment_Entry *entry, const struct tag_handler *handler, void *handler_ctx) { if (handler->pair != nullptr) { - char *name = g_strdup((const char*)entry->entry); - char *value = strchr(name, '='); - - if (value != nullptr && value > name) { - *value++ = 0; + const char *comment = (const char *)entry->entry; + const SplitString split(comment, '='); + if (split.IsDefined() && !split.IsEmpty()) tag_handler_invoke_pair(handler, handler_ctx, - name, value); - } - - g_free(name); + split.GetFirst(), + split.GetSecond()); } for (const struct tag_table *i = xiph_tags; i->name != nullptr; ++i) |