aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/cue/CueParser.cxx7
-rw-r--r--src/cue/CueParser.hxx4
2 files changed, 5 insertions, 6 deletions
diff --git a/src/cue/CueParser.cxx b/src/cue/CueParser.cxx
index 584a77a81..89f450bae 100644
--- a/src/cue/CueParser.cxx
+++ b/src/cue/CueParser.cxx
@@ -31,7 +31,6 @@
CueParser::CueParser()
:state(HEADER), tag(new Tag()),
- filename(nullptr),
current(nullptr),
previous(nullptr),
finished(nullptr),
@@ -40,7 +39,6 @@ CueParser::CueParser()
CueParser::~CueParser()
{
delete tag;
- g_free(filename);
if (current != nullptr)
current->Free();
@@ -230,8 +228,7 @@ CueParser::Feed2(char *p)
}
state = WAVE;
- g_free(filename);
- filename = g_strdup(new_filename);
+ filename = new_filename;
} else if (state == IGNORE_FILE) {
return;
} else if (strcmp(command, "TRACK") == 0) {
@@ -251,7 +248,7 @@ CueParser::Feed2(char *p)
}
state = TRACK;
- current = Song::NewRemote(filename);
+ current = Song::NewRemote(filename.c_str());
assert(current->tag == nullptr);
current->tag = new Tag(*tag);
current->tag->AddItem(TAG_TRACK, nr);
diff --git a/src/cue/CueParser.hxx b/src/cue/CueParser.hxx
index f259b885c..abcceaa2e 100644
--- a/src/cue/CueParser.hxx
+++ b/src/cue/CueParser.hxx
@@ -23,6 +23,8 @@
#include "check.h"
#include "Compiler.h"
+#include <string>
+
struct Song;
struct Tag;
@@ -56,7 +58,7 @@ class CueParser {
Tag *tag;
- char *filename;
+ std::string filename;
/**
* The song currently being edited.