diff options
Diffstat (limited to '')
-rw-r--r-- | src/cue/CueParser.cxx | 10 | ||||
-rw-r--r-- | src/cue/CueParser.hxx | 5 |
2 files changed, 9 insertions, 6 deletions
diff --git a/src/cue/CueParser.cxx b/src/cue/CueParser.cxx index 60b33b6b4..43c6efa80 100644 --- a/src/cue/CueParser.cxx +++ b/src/cue/CueParser.cxx @@ -31,7 +31,7 @@ #include <stdlib.h> CueParser::CueParser() - :state(HEADER), tag(new Tag()), + :state(HEADER), header_tag(new Tag()), current(nullptr), previous(nullptr), finished(nullptr), @@ -39,7 +39,7 @@ CueParser::CueParser() CueParser::~CueParser() { - delete tag; + delete header_tag; if (current != nullptr) current->Free(); @@ -133,7 +133,7 @@ Tag * CueParser::GetCurrentTag() { if (state == HEADER) - return tag; + return header_tag; else if (state == TRACK) return current->tag; else @@ -207,7 +207,7 @@ CueParser::Feed2(char *p) cue_add_tag(*current_tag, type, p); } else if (strcmp(command, "TITLE") == 0) { if (state == HEADER) - cue_add_tag(*tag, TAG_ALBUM, p); + cue_add_tag(*header_tag, TAG_ALBUM, p); else if (state == TRACK) cue_add_tag(*current->tag, TAG_TITLE, p); } else if (strcmp(command, "FILE") == 0) { @@ -251,7 +251,7 @@ CueParser::Feed2(char *p) state = TRACK; current = Song::NewRemote(filename.c_str()); assert(current->tag == nullptr); - current->tag = new Tag(*tag); + current->tag = new Tag(*header_tag); current->tag->AddItem(TAG_TRACK, nr); last_updated = false; } else if (state == IGNORE_TRACK) { diff --git a/src/cue/CueParser.hxx b/src/cue/CueParser.hxx index abcceaa2e..ea25d33cb 100644 --- a/src/cue/CueParser.hxx +++ b/src/cue/CueParser.hxx @@ -56,7 +56,10 @@ class CueParser { IGNORE_TRACK, } state; - Tag *tag; + /** + * Tags read from the CUE header. + */ + Tag *header_tag; std::string filename; |