diff --git a/src/UserData/UserDataReturnValue.cpp b/src/UserData/UserDataReturnValue.cpp index 9c0a35d..e49fe88 100644 --- a/src/UserData/UserDataReturnValue.cpp +++ b/src/UserData/UserDataReturnValue.cpp @@ -6,7 +6,7 @@ extern "C"{ } Porygon::UserData::UserDataReturnValue* ErrorValue(const char* message){ - return new Porygon::UserData::UserDataReturnValue(message); + return new Porygon::UserData::UserDataReturnValue(string(message)); } } \ No newline at end of file diff --git a/src/UserData/UserDataReturnValue.hpp b/src/UserData/UserDataReturnValue.hpp index a174531..4dffa03 100644 --- a/src/UserData/UserDataReturnValue.hpp +++ b/src/UserData/UserDataReturnValue.hpp @@ -8,13 +8,17 @@ namespace Porygon::UserData { struct UserDataReturnValue { bool _success; union { - const char *_message; + string _message; const Evaluation::EvalValue *_value; }; public: UserDataReturnValue(Evaluation::EvalValue *value) : _success(true), _value(value) {} UserDataReturnValue(const Evaluation::EvalValue *value) : _success(true), _value(value) {} - UserDataReturnValue(const char *message) : _success(false), _message(message) {} + UserDataReturnValue(string message) : _success(false), _message(message) {} + + ~UserDataReturnValue(){ + + } inline const Evaluation::EvalValue *Evaluate() const{ if (_success) {