summaryrefslogtreecommitdiffstats
path: root/src/script
diff options
context:
space:
mode:
authorPiotr Dziwinski <piotrdz@gmail.com>2013-10-12 18:48:28 +0200
committerPiotr Dziwinski <piotrdz@gmail.com>2013-10-12 18:50:30 +0200
commit5d0d9b5aa5cf19aff9edb42701d38b5096fce3aa (patch)
treec0259ff8a7fce4500096acda26cae52fd0beea74 /src/script
parent141f73866e97d450486efadd429d8d4607949415 (diff)
downloadcolobot-5d0d9b5aa5cf19aff9edb42701d38b5096fce3aa.tar.gz
colobot-5d0d9b5aa5cf19aff9edb42701d38b5096fce3aa.tar.bz2
colobot-5d0d9b5aa5cf19aff9edb42701d38b5096fce3aa.zip
Fixed some CBot-related memory leaks
* fixed leaks in CScript::CheckToken() * fixed leaks in CInterface * commented out unused function in robotmain.cpp
Diffstat (limited to 'src/script')
-rw-r--r--src/script/script.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/script/script.cpp b/src/script/script.cpp
index 8736f01..ca6ce25 100644
--- a/src/script/script.cpp
+++ b/src/script/script.cpp
@@ -3689,6 +3689,7 @@ bool CScript::IsEmpty()
bool CScript::CheckToken()
{
CBotToken* bt;
+ CBotToken* allBt;
CBotString bs;
const char* token;
int error, cursor1, cursor2, i;
@@ -3706,7 +3707,8 @@ bool CScript::CheckToken()
used[i] = 0; // token not used
}
- bt = CBotToken::CompileTokens(m_script, error);
+ allBt = CBotToken::CompileTokens(m_script, error);
+ bt = allBt;
while ( bt != 0 )
{
bs = bt->GetString();
@@ -3727,7 +3729,7 @@ bool CScript::CheckToken()
m_cursor1 = cursor1;
m_cursor2 = cursor2;
strcpy(m_title, "<erreur>");
- CBotToken::Delete(bt);
+ CBotToken::Delete(allBt);
return false;
}
@@ -3742,12 +3744,12 @@ bool CScript::CheckToken()
strcpy(m_token, m_main->GetObligatoryToken(i));
m_error = ERR_OBLIGATORYTOKEN;
strcpy(m_title, "<erreur>");
- CBotToken::Delete(bt);
+ CBotToken::Delete(allBt);
return false;
}
}
- CBotToken::Delete(bt);
+ CBotToken::Delete(allBt);
return true;
}