summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorA. Wilcox <AWilcox@Wilcox-Tech.com>2019-10-12 07:14:52 -0500
committerA. Wilcox <AWilcox@Wilcox-Tech.com>2019-10-12 07:14:52 -0500
commit6e80e6b3cffaf42723c61443244e04977a0fe8ed (patch)
treed4fa9b55cc8bb6af918f0ccd4c490b381e81684a
parenta94066d62a33e25ddb1eafce78627f2a3361f4ca (diff)
downloadhorizon-6e80e6b3cffaf42723c61443244e04977a0fe8ed.tar.gz
horizon-6e80e6b3cffaf42723c61443244e04977a0fe8ed.tar.bz2
horizon-6e80e6b3cffaf42723c61443244e04977a0fe8ed.tar.xz
horizon-6e80e6b3cffaf42723c61443244e04977a0fe8ed.zip
hscript: Ensure resources are reclaimed when Script is destroyed
-rw-r--r--hscript/script.cc4
-rw-r--r--hscript/script.hh3
2 files changed, 7 insertions, 0 deletions
diff --git a/hscript/script.cc b/hscript/script.cc
index 585a18c..e324356 100644
--- a/hscript/script.cc
+++ b/hscript/script.cc
@@ -169,6 +169,10 @@ Script::Script() {
internal = new ScriptPrivate;
}
+Script::~Script() {
+ delete internal;
+}
+
const Script *Script::load(const std::string path, const ScriptOptions opts) {
std::ifstream file(path);
if(!file) {
diff --git a/hscript/script.hh b/hscript/script.hh
index 16c2ab4..daacf96 100644
--- a/hscript/script.hh
+++ b/hscript/script.hh
@@ -48,6 +48,9 @@ private:
Script();
ScriptOptions opts;
public:
+ /*! Free resources associated with the Script. */
+ ~Script();
+
/*! Load a HorizonScript from the specified path.
* @param path The path to load from.
* @param options Options to use for parsing, validation, and execution.