Skip to content

Commit

Permalink
Fix memory leak
Browse files Browse the repository at this point in the history
  • Loading branch information
SingularityT3 committed Feb 12, 2023
1 parent 383be13 commit 0ccc23b
Showing 1 changed file with 6 additions and 6 deletions.
12 changes: 6 additions & 6 deletions src/nodes/file.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -71,22 +71,22 @@ std::unique_ptr<NodeResult> WriteFileNode::evaluate(PSC::Context &ctx) {
throw PSC::RuntimeError(token, ctx, "File '" + filename.value + "' is opened as read-only");

auto nodeRes = node.evaluate(ctx);
PSC::String *data;
std::unique_ptr<PSC::String> data;
switch (nodeRes->type) {
case PSC::DataType::INTEGER:
data = nodeRes->get<PSC::Integer>().toString().release();
data = nodeRes->get<PSC::Integer>().toString();
break;
case PSC::DataType::REAL:
data = nodeRes->get<PSC::Real>().toString().release();
data = nodeRes->get<PSC::Real>().toString();
break;
case PSC::DataType::BOOLEAN:
data = nodeRes->get<PSC::Boolean>().toString().release();
data = nodeRes->get<PSC::Boolean>().toString();
break;
case PSC::DataType::CHAR:
data = nodeRes->get<PSC::Char>().toString().release();
data = nodeRes->get<PSC::Char>().toString();
break;
case PSC::DataType::STRING:
data = (PSC::String*) nodeRes->data.release();
data = std::move(*((std::unique_ptr<PSC::String>*) &nodeRes->data));
break;
case PSC::DataType::NONE:
throw PSC::RuntimeError(token, ctx, "Expected value for writing");
Expand Down

0 comments on commit 0ccc23b

Please sign in to comment.