[colobot] 181/377: Fixed crash from previous commit (oops again)
Didier Raboud
odyx at moszumanska.debian.org
Wed Mar 30 13:34:13 UTC 2016
This is an automated email from the git hooks/post-receive script.
odyx pushed a commit to branch debian/master
in repository colobot.
commit 30fea5893b7de0773d8d225d8620b70abbcc778b
Author: krzys-h <krzys_h at interia.pl>
Date: Wed Dec 23 17:50:10 2015 +0100
Fixed crash from previous commit (oops again)
---
src/CBot/CBotClass.cpp | 4 ++--
src/CBot/CBotInstr/CBotBoolean.cpp | 2 +-
src/CBot/CBotInstr/CBotCatch.cpp | 2 +-
src/CBot/CBotInstr/CBotExprAlpha.cpp | 4 ++--
src/CBot/CBotInstr/CBotExprBool.cpp | 4 ++--
src/CBot/CBotInstr/CBotExprNan.cpp | 2 +-
src/CBot/CBotInstr/CBotExprNull.cpp | 2 +-
src/CBot/CBotInstr/CBotExprNum.cpp | 4 ++--
src/CBot/CBotInstr/CBotFloat.cpp | 2 +-
src/CBot/CBotInstr/CBotFunction.cpp | 2 +-
src/CBot/CBotInstr/CBotIString.cpp | 2 +-
src/CBot/CBotInstr/CBotInstArray.cpp | 4 ++--
src/CBot/CBotInstr/CBotInt.cpp | 2 +-
src/CBot/CBotInstr/CBotTwoOpExpr.cpp | 12 ++++++------
src/CBot/CBotStack.cpp | 12 ++++++------
src/CBot/CBotToken.cpp | 14 +++++++++-----
src/CBot/CBotVar/CBotVar.cpp | 32 ++++++++++++++++----------------
src/CBot/CBotVar/CBotVar.h | 4 ++--
src/CBot/CBotVar/CBotVarArray.cpp | 6 +++---
src/CBot/CBotVar/CBotVarArray.h | 2 +-
src/CBot/CBotVar/CBotVarBoolean.cpp | 4 ++--
src/CBot/CBotVar/CBotVarBoolean.h | 2 +-
src/CBot/CBotVar/CBotVarClass.cpp | 4 ++--
src/CBot/CBotVar/CBotVarClass.h | 2 +-
src/CBot/CBotVar/CBotVarFloat.cpp | 4 ++--
src/CBot/CBotVar/CBotVarFloat.h | 2 +-
src/CBot/CBotVar/CBotVarInt.cpp | 4 ++--
src/CBot/CBotVar/CBotVarInt.h | 2 +-
src/CBot/CBotVar/CBotVarPointer.cpp | 4 ++--
src/CBot/CBotVar/CBotVarPointer.h | 2 +-
src/CBot/CBotVar/CBotVarString.cpp | 4 ++--
src/CBot/CBotVar/CBotVarString.h | 2 +-
32 files changed, 79 insertions(+), 75 deletions(-)
diff --git a/src/CBot/CBotClass.cpp b/src/CBot/CBotClass.cpp
index 1f8a307..07d8f35 100644
--- a/src/CBot/CBotClass.cpp
+++ b/src/CBot/CBotClass.cpp
@@ -683,7 +683,7 @@ bool CBotClass::CompileDefItem(CBotToken* &p, CBotCStack* pStack, bool bSecond)
// make "this" known
CBotToken TokenThis(std::string("this"), std::string());
- CBotVar* pThis = CBotVar::Create(&TokenThis, CBotTypResult( CBotTypClass, this ) );
+ CBotVar* pThis = CBotVar::Create(TokenThis, CBotTypResult( CBotTypClass, this ) );
pThis->SetUniqNum(-2);
pile->AddVar(pThis);
@@ -691,7 +691,7 @@ bool CBotClass::CompileDefItem(CBotToken* &p, CBotCStack* pStack, bool bSecond)
{
// makes "super" known
CBotToken TokenSuper(std::string("super"), std::string());
- CBotVar* pThis = CBotVar::Create(&TokenSuper, CBotTypResult( CBotTypClass, m_pParent ) );
+ CBotVar* pThis = CBotVar::Create(TokenSuper, CBotTypResult( CBotTypClass, m_pParent ) );
pThis->SetUniqNum(-3);
pile->AddVar(pThis);
}
diff --git a/src/CBot/CBotInstr/CBotBoolean.cpp b/src/CBot/CBotInstr/CBotBoolean.cpp
index 802727b..3cbf45c 100644
--- a/src/CBot/CBotInstr/CBotBoolean.cpp
+++ b/src/CBot/CBotInstr/CBotBoolean.cpp
@@ -107,7 +107,7 @@ CBotInstr* CBotBoolean::Compile(CBotToken* &p, CBotCStack* pStack, bool cont, bo
}
}
- var = CBotVar::Create(vartoken, CBotTypBoolean);// create the variable (evaluated after the assignment)
+ var = CBotVar::Create(*vartoken, CBotTypBoolean);// create the variable (evaluated after the assignment)
var->SetInit(inst->m_expr != nullptr ? CBotVar::InitType::DEF : CBotVar::InitType::UNDEF);
var->SetUniqNum(
(static_cast<CBotLeftExprVar*>(inst->m_var))->m_nIdent = CBotVar::NextUniqNum());
diff --git a/src/CBot/CBotInstr/CBotCatch.cpp b/src/CBot/CBotInstr/CBotCatch.cpp
index d187bec..2388a0c 100644
--- a/src/CBot/CBotInstr/CBotCatch.cpp
+++ b/src/CBot/CBotInstr/CBotCatch.cpp
@@ -105,7 +105,7 @@ bool CBotCatch :: TestCatch(CBotStack* &pile, int val)
if ( val > 0 || pile->GetType() != CBotTypBoolean )
{
- CBotVar* var = CBotVar::Create(static_cast<CBotToken*>(nullptr), CBotTypBoolean);
+ CBotVar* var = CBotVar::Create("", CBotTypBoolean);
var->SetValInt( pile->GetVal() == val );
pile->SetVar(var); // calls on the stack
}
diff --git a/src/CBot/CBotInstr/CBotExprAlpha.cpp b/src/CBot/CBotInstr/CBotExprAlpha.cpp
index a5a415b..641eee1 100644
--- a/src/CBot/CBotInstr/CBotExprAlpha.cpp
+++ b/src/CBot/CBotInstr/CBotExprAlpha.cpp
@@ -50,7 +50,7 @@ CBotInstr* CBotExprAlpha::Compile(CBotToken* &p, CBotCStack* pStack)
inst->SetToken(p);
p = p->GetNext();
- CBotVar* var = CBotVar::Create(static_cast<CBotToken*>(nullptr), CBotTypString);
+ CBotVar* var = CBotVar::Create("", CBotTypString);
pStk->SetVar(var);
return pStack->Return(inst, pStk);
@@ -63,7 +63,7 @@ bool CBotExprAlpha::Execute(CBotStack* &pj)
if (pile->IfStep()) return false;
- CBotVar* var = CBotVar::Create(static_cast<CBotToken*>(nullptr), CBotTypString);
+ CBotVar* var = CBotVar::Create("", CBotTypString);
std::string chaine = m_token.GetString();
chaine = chaine.substr(1, chaine.length()-2); // removes the quotes
diff --git a/src/CBot/CBotInstr/CBotExprBool.cpp b/src/CBot/CBotInstr/CBotExprBool.cpp
index 9473693..ab639ed 100644
--- a/src/CBot/CBotInstr/CBotExprBool.cpp
+++ b/src/CBot/CBotInstr/CBotExprBool.cpp
@@ -54,7 +54,7 @@ CBotInstr* CBotExprBool::Compile(CBotToken* &p, CBotCStack* pStack)
inst->SetToken(p); // stores the operation false or true
p = p->GetNext();
- CBotVar* var = CBotVar::Create(static_cast<CBotToken*>(nullptr), CBotTypBoolean);
+ CBotVar* var = CBotVar::Create("", CBotTypBoolean);
pStk->SetVar(var);
}
@@ -68,7 +68,7 @@ bool CBotExprBool::Execute(CBotStack* &pj)
if (pile->IfStep()) return false;
- CBotVar* var = CBotVar::Create(static_cast<CBotToken*>(nullptr), CBotTypBoolean);
+ CBotVar* var = CBotVar::Create("", CBotTypBoolean);
if (GetTokenType() == ID_TRUE) var->SetValInt(1);
else var->SetValInt(0);
diff --git a/src/CBot/CBotInstr/CBotExprNan.cpp b/src/CBot/CBotInstr/CBotExprNan.cpp
index df0a296..02d07ba 100644
--- a/src/CBot/CBotInstr/CBotExprNan.cpp
+++ b/src/CBot/CBotInstr/CBotExprNan.cpp
@@ -45,7 +45,7 @@ bool CBotExprNan::Execute(CBotStack* &pj)
CBotStack* pile = pj->AddStack(this);
if (pile->IfStep()) return false;
- CBotVar* var = CBotVar::Create(static_cast<CBotToken*>(nullptr), CBotTypInt);
+ CBotVar* var = CBotVar::Create("", CBotTypInt);
var->SetInit(CBotVar::InitType::IS_NAN); // nan
pile->SetVar(var); // put on the stack
diff --git a/src/CBot/CBotInstr/CBotExprNull.cpp b/src/CBot/CBotInstr/CBotExprNull.cpp
index a36b488..25cad7d 100644
--- a/src/CBot/CBotInstr/CBotExprNull.cpp
+++ b/src/CBot/CBotInstr/CBotExprNull.cpp
@@ -46,7 +46,7 @@ bool CBotExprNull::Execute(CBotStack* &pj)
CBotStack* pile = pj->AddStack(this);
if (pile->IfStep()) return false;
- CBotVar* var = CBotVar::Create(static_cast<CBotToken*>(nullptr), CBotTypNullPointer);
+ CBotVar* var = CBotVar::Create("", CBotTypNullPointer);
var->SetInit(CBotVar::InitType::DEF); // null pointer valid
pile->SetVar(var); // place on the stack
diff --git a/src/CBot/CBotInstr/CBotExprNum.cpp b/src/CBot/CBotInstr/CBotExprNum.cpp
index 633fcb7..cc2beb0 100644
--- a/src/CBot/CBotInstr/CBotExprNum.cpp
+++ b/src/CBot/CBotInstr/CBotExprNum.cpp
@@ -72,7 +72,7 @@ CBotInstr* CBotExprNum::Compile(CBotToken* &p, CBotCStack* pStack)
if (pStk->NextToken(p))
{
- CBotVar* var = CBotVar::Create(static_cast<CBotToken*>(nullptr), inst->m_numtype);
+ CBotVar* var = CBotVar::Create("", inst->m_numtype);
pStk->SetVar(var);
return pStack->Return(inst, pStk);
@@ -88,7 +88,7 @@ bool CBotExprNum::Execute(CBotStack* &pj)
if (pile->IfStep()) return false;
- CBotVar* var = CBotVar::Create(static_cast<CBotToken*>(nullptr), m_numtype);
+ CBotVar* var = CBotVar::Create("", m_numtype);
std::string nombre ;
if (m_token.GetType() == TokenTypDef)
diff --git a/src/CBot/CBotInstr/CBotFloat.cpp b/src/CBot/CBotInstr/CBotFloat.cpp
index f7cbfed..bc71f43 100644
--- a/src/CBot/CBotInstr/CBotFloat.cpp
+++ b/src/CBot/CBotInstr/CBotFloat.cpp
@@ -105,7 +105,7 @@ CBotInstr* CBotFloat::Compile(CBotToken* &p, CBotCStack* pStack, bool cont, bool
}
}
- var = CBotVar::Create(vartoken, CBotTypFloat);
+ var = CBotVar::Create(*vartoken, CBotTypFloat);
var->SetInit(inst->m_expr != nullptr ? CBotVar::InitType::DEF : CBotVar::InitType::UNDEF);
var->SetUniqNum(
(static_cast<CBotLeftExprVar*>(inst->m_var))->m_nIdent = CBotVar::NextUniqNum());
diff --git a/src/CBot/CBotInstr/CBotFunction.cpp b/src/CBot/CBotInstr/CBotFunction.cpp
index 141cdd7..fb74930 100644
--- a/src/CBot/CBotInstr/CBotFunction.cpp
+++ b/src/CBot/CBotInstr/CBotFunction.cpp
@@ -236,7 +236,7 @@ CBotFunction* CBotFunction::Compile(CBotToken* &p, CBotCStack* pStack, CBotFunct
// and compiles the following instruction block
func->m_openblk = *p;
func->m_Block = CBotBlock::Compile(p, pStk, false);
- func->m_closeblk = *(p->GetPrev());
+ func->m_closeblk = p->GetPrev() != nullptr ? *(p->GetPrev()) : CBotToken();
if ( pStk->IsOk() )
{
if ( func->m_bPublic ) // public function, return known for all
diff --git a/src/CBot/CBotInstr/CBotIString.cpp b/src/CBot/CBotInstr/CBotIString.cpp
index 9000188..04220f8 100644
--- a/src/CBot/CBotInstr/CBotIString.cpp
+++ b/src/CBot/CBotInstr/CBotIString.cpp
@@ -89,7 +89,7 @@ CBotInstr* CBotIString::Compile(CBotToken* &p, CBotCStack* pStack, bool cont, bo
}*/
}
- CBotVar* var = CBotVar::Create(vartoken, CBotTypString);
+ CBotVar* var = CBotVar::Create(*vartoken, CBotTypString);
var->SetInit(inst->m_expr != nullptr ? CBotVar::InitType::DEF : CBotVar::InitType::UNDEF);
var->SetUniqNum(
(static_cast<CBotLeftExprVar*>(inst->m_var))->m_nIdent = CBotVar::NextUniqNum());
diff --git a/src/CBot/CBotInstr/CBotInstArray.cpp b/src/CBot/CBotInstr/CBotInstArray.cpp
index 9909a57..e2e9fcc 100644
--- a/src/CBot/CBotInstr/CBotInstArray.cpp
+++ b/src/CBot/CBotInstr/CBotInstArray.cpp
@@ -89,7 +89,7 @@ CBotInstr* CBotInstArray::Compile(CBotToken* &p, CBotCStack* pStack, CBotTypResu
}
}
- CBotVar* var = CBotVar::Create(vartoken, type); // create an instance
+ CBotVar* var = CBotVar::Create(*vartoken, type); // create an instance
inst->m_typevar = type;
var->SetUniqNum(
@@ -157,7 +157,7 @@ bool CBotInstArray::Execute(CBotStack* &pj)
m_typevar.SetArray(max); // store the limitations
// create simply a nullptr pointer
- CBotVar* var = CBotVar::Create(m_var->GetToken(), m_typevar);
+ CBotVar* var = CBotVar::Create(*(m_var->GetToken()), m_typevar);
var->SetPointer(nullptr);
var->SetUniqNum((static_cast<CBotLeftExprVar*>(m_var))->m_nIdent);
pj->AddVar(var);
diff --git a/src/CBot/CBotInstr/CBotInt.cpp b/src/CBot/CBotInstr/CBotInt.cpp
index bafce95..d26599f 100644
--- a/src/CBot/CBotInstr/CBotInt.cpp
+++ b/src/CBot/CBotInstr/CBotInt.cpp
@@ -119,7 +119,7 @@ CBotInstr* CBotInt::Compile(CBotToken* &p, CBotCStack* pStack, bool cont, bool n
}
{
- CBotVar* var = CBotVar::Create(vartoken, CBotTypInt);// create the variable (evaluated after the assignment)
+ CBotVar* var = CBotVar::Create(*vartoken, CBotTypInt);// create the variable (evaluated after the assignment)
var->SetInit(inst->m_expr != nullptr ? CBotVar::InitType::DEF : CBotVar::InitType::UNDEF); // if initialized with assignment
var->SetUniqNum( //set it with a unique number
(static_cast<CBotLeftExprVar*>(inst->m_var))->m_nIdent = CBotVar::NextUniqNum());
diff --git a/src/CBot/CBotInstr/CBotTwoOpExpr.cpp b/src/CBot/CBotInstr/CBotTwoOpExpr.cpp
index 43d7c0d..e2727f0 100644
--- a/src/CBot/CBotInstr/CBotTwoOpExpr.cpp
+++ b/src/CBot/CBotInstr/CBotTwoOpExpr.cpp
@@ -260,7 +260,7 @@ CBotInstr* CBotTwoOpExpr::Compile(CBotToken* &p, CBotCStack* pStack, int* pOpera
CBotTypResult t(type1);
t.SetType(TypeRes);
// is a variable on the stack for the type of result
- pStk->SetVar(CBotVar::Create(static_cast<CBotToken*>(nullptr), t));
+ pStk->SetVar(CBotVar::Create("", t));
// and returns the requested object
return pStack->Return(inst, pStk);
@@ -313,14 +313,14 @@ bool CBotTwoOpExpr::Execute(CBotStack* &pStack)
// for OR and AND logic does not evaluate the second expression if not necessary
if ( (GetTokenType() == ID_LOG_AND || GetTokenType() == ID_TXT_AND ) && pStk1->GetVal() == false )
{
- CBotVar* res = CBotVar::Create( static_cast<CBotToken*>(nullptr), CBotTypBoolean);
+ CBotVar* res = CBotVar::Create("", CBotTypBoolean);
res->SetValInt(false);
pStk1->SetVar(res);
return pStack->Return(pStk1); // transmits the result
}
if ( (GetTokenType() == ID_LOG_OR||GetTokenType() == ID_TXT_OR) && pStk1->GetVal() == true )
{
- CBotVar* res = CBotVar::Create( static_cast<CBotToken*>(nullptr), CBotTypBoolean);
+ CBotVar* res = CBotVar::Create("", CBotTypBoolean);
res->SetValInt(true);
pStk1->SetVar(res);
return pStack->Return(pStk1); // transmits the result
@@ -378,7 +378,7 @@ bool CBotTwoOpExpr::Execute(CBotStack* &pStack)
}
// creates a variable for the result
- CBotVar* result = CBotVar::Create( static_cast<CBotToken*>(nullptr), TypeRes);
+ CBotVar* result = CBotVar::Create("", TypeRes);
// creates a variable to perform the calculation in the appropriate type
TypeRes = MAX(type1.GetType(), type2.GetType());
@@ -391,8 +391,8 @@ bool CBotTwoOpExpr::Execute(CBotStack* &pStack)
CBotVar* temp;
if ( TypeRes == CBotTypPointer ) TypeRes = CBotTypNullPointer;
- if ( TypeRes == CBotTypClass ) temp = CBotVar::Create( static_cast<CBotToken*>(nullptr), CBotTypResult(CBotTypIntrinsic, type1.GetClass() ) );
- else temp = CBotVar::Create( static_cast<CBotToken*>(nullptr), TypeRes );
+ if ( TypeRes == CBotTypClass ) temp = CBotVar::Create("", CBotTypResult(CBotTypIntrinsic, type1.GetClass() ) );
+ else temp = CBotVar::Create("", TypeRes );
CBotError err = CBotNoErr;
// is a operation according to request
diff --git a/src/CBot/CBotStack.cpp b/src/CBot/CBotStack.cpp
index cb4ecc8..f91b56e 100644
--- a/src/CBot/CBotStack.cpp
+++ b/src/CBot/CBotStack.cpp
@@ -1021,17 +1021,17 @@ bool CBotVar::RestoreState(FILE* pf, CBotVar* &pVar)
{
case CBotTypInt:
case CBotTypBoolean:
- pNew = CBotVar::Create(&token, w); // creates a variable
+ pNew = CBotVar::Create(token, w); // creates a variable
if (!ReadWord(pf, w)) return false;
pNew->SetValInt(static_cast<short>(w), defnum);
break;
case CBotTypFloat:
- pNew = CBotVar::Create(&token, w); // creates a variable
+ pNew = CBotVar::Create(token, w); // creates a variable
if (!ReadFloat(pf, ww)) return false;
pNew->SetValFloat(ww);
break;
case CBotTypString:
- pNew = CBotVar::Create(&token, w); // creates a variable
+ pNew = CBotVar::Create(token, w); // creates a variable
if (!ReadString(pf, s)) return false;
pNew->SetValString(s);
break;
@@ -1050,7 +1050,7 @@ bool CBotVar::RestoreState(FILE* pf, CBotVar* &pVar)
CBotVar* p = nullptr;
if ( id ) p = CBotVarClass::Find(id) ;
- pNew = new CBotVarClass(&token, r); // directly creates an instance
+ pNew = new CBotVarClass(token, r); // directly creates an instance
// attention cptuse = 0
if ( !RestoreState(pf, (static_cast<CBotVarClass*>(pNew))->m_pVar)) return false;
pNew->SetIdent(id);
@@ -1068,7 +1068,7 @@ bool CBotVar::RestoreState(FILE* pf, CBotVar* &pVar)
case CBotTypNullPointer:
if (!ReadString(pf, s)) return false;
{
- pNew = CBotVar::Create(&token, CBotTypResult(w, s));// creates a variable
+ pNew = CBotVar::Create(token, CBotTypResult(w, s));// creates a variable
// CBotVarClass* p = nullptr;
long id;
ReadLong(pf, id);
@@ -1089,7 +1089,7 @@ bool CBotVar::RestoreState(FILE* pf, CBotVar* &pVar)
CBotTypResult r;
if (!ReadType(pf, r)) return false;
- pNew = CBotVar::Create(&token, r); // creates a variable
+ pNew = CBotVar::Create(token, r); // creates a variable
// returns a copy of the original instance
CBotVar* pInstance = nullptr;
diff --git a/src/CBot/CBotToken.cpp b/src/CBot/CBotToken.cpp
index 6c7919b..4e1c31d 100644
--- a/src/CBot/CBotToken.cpp
+++ b/src/CBot/CBotToken.cpp
@@ -186,12 +186,16 @@ void CBotToken::ClearDefineNum()
////////////////////////////////////////////////////////////////////////////////
const CBotToken& CBotToken::operator=(const CBotToken& src)
{
- delete m_next;
- m_next = nullptr;
- m_prev = nullptr;
+ assert(m_prev == nullptr);
+ if (m_next != nullptr)
+ {
+ m_next->m_prev = nullptr;
+ delete m_next;
+ m_next = nullptr;
+ }
- m_text = src.m_text;
- m_sep = src.m_sep;
+ m_text = src.m_text;
+ m_sep = src.m_sep;
m_type = src.m_type;
m_keywordId = src.m_keywordId;
diff --git a/src/CBot/CBotVar/CBotVar.cpp b/src/CBot/CBotVar/CBotVar.cpp
index 677a126..847509f 100644
--- a/src/CBot/CBotVar/CBotVar.cpp
+++ b/src/CBot/CBotVar/CBotVar.cpp
@@ -137,14 +137,14 @@ void CBotVar::Maj(void* pUser, bool bContinu)
}
////////////////////////////////////////////////////////////////////////////////
-CBotVar* CBotVar::Create(const CBotToken* name, CBotType type )
+CBotVar* CBotVar::Create(const CBotToken& name, CBotType type)
{
CBotTypResult t(type);
return Create(name, t);
}
////////////////////////////////////////////////////////////////////////////////
-CBotVar* CBotVar::Create(const CBotToken* name, CBotTypResult type)
+CBotVar* CBotVar::Create(const CBotToken& name, CBotTypResult type)
{
switch (type.GetType())
{
@@ -213,23 +213,23 @@ CBotVar* CBotVar::Create(const std::string& n, CBotTypResult type)
{
case CBotTypShort:
case CBotTypInt:
- return new CBotVarInt(&name);
+ return new CBotVarInt(name);
case CBotTypFloat:
- return new CBotVarFloat(&name);
+ return new CBotVarFloat(name);
case CBotTypBoolean:
- return new CBotVarBoolean(&name);
+ return new CBotVarBoolean(name);
case CBotTypString:
- return new CBotVarString(&name);
+ return new CBotVarString(name);
case CBotTypPointer:
case CBotTypNullPointer:
{
- CBotVarPointer* p = new CBotVarPointer(&name, type);
+ CBotVarPointer* p = new CBotVarPointer(name, type);
// p->SetClass(type.GetClass());
return p;
}
case CBotTypIntrinsic:
{
- CBotVarClass* p = new CBotVarClass(&name, type);
+ CBotVarClass* p = new CBotVarClass(name, type);
// p->SetClass(type.GetClass());
return p;
}
@@ -238,20 +238,20 @@ CBotVar* CBotVar::Create(const std::string& n, CBotTypResult type)
// creates a new instance of a class
// and returns the POINTER on this instance
{
- CBotVarClass* instance = new CBotVarClass(&name, type);
- CBotVarPointer* pointer = new CBotVarPointer(&name, type);
+ CBotVarClass* instance = new CBotVarClass(name, type);
+ CBotVarPointer* pointer = new CBotVarPointer(name, type);
pointer->SetPointer( instance );
// pointer->SetClass( type.GetClass() );
return pointer;
}
case CBotTypArrayPointer:
- return new CBotVarArray(&name, type);
+ return new CBotVarArray(name, type);
case CBotTypArrayBody:
{
- CBotVarClass* instance = new CBotVarClass(&name, type);
- CBotVarArray* array = new CBotVarArray(&name, type);
+ CBotVarClass* instance = new CBotVarClass(name, type);
+ CBotVarArray* array = new CBotVarArray(name, type);
array->SetPointer( instance );
CBotVar* pv = array;
@@ -273,7 +273,7 @@ CBotVar* CBotVar::Create(const std::string& n, CBotTypResult type)
CBotVar* CBotVar::Create(const std::string& name, CBotType type, CBotClass* pClass)
{
CBotToken token( name, "" );
- CBotVar* pVar = Create( &token, type );
+ CBotVar* pVar = Create( token, type );
if ( type == CBotTypPointer && pClass == nullptr ) // pointer "null" ?
return pVar;
@@ -295,7 +295,7 @@ CBotVar* CBotVar::Create(const std::string& name, CBotType type, CBotClass* pCla
CBotVar* CBotVar::Create(const std::string& name, CBotClass* pClass)
{
CBotToken token( name, "" );
- CBotVar* pVar = Create( &token, CBotTypResult( CBotTypClass, pClass ) );
+ CBotVar* pVar = Create( token, CBotTypResult( CBotTypClass, pClass ) );
// pVar->SetClass( pClass );
return pVar;
}
@@ -354,7 +354,7 @@ void CBotVar::SetInit(CBotVar::InitType initType)
CBotVarClass* instance = GetPointer();
if ( instance == nullptr )
{
- instance = new CBotVarClass(nullptr, m_type);
+ instance = new CBotVarClass(CBotToken(), m_type);
// instance->SetClass((static_cast<CBotVarPointer*>(this))->m_classes);
SetPointer(instance);
}
diff --git a/src/CBot/CBotVar/CBotVar.h b/src/CBot/CBotVar/CBotVar.h
index fe92e44..c2616ff 100644
--- a/src/CBot/CBotVar/CBotVar.h
+++ b/src/CBot/CBotVar/CBotVar.h
@@ -82,14 +82,14 @@ public:
* \param name Variable name token
* \param type Variable type
*/
- static CBotVar* Create(const CBotToken* name, CBotType type);
+ static CBotVar* Create(const CBotToken& name, CBotType type);
/**
* \brief Create a new variable of a given type described by CBotTypResult
* \param name Variable name token
* \param type Variable type
*/
- static CBotVar* Create(const CBotToken* name, CBotTypResult type);
+ static CBotVar* Create(const CBotToken& name, CBotTypResult type);
/**
* \brief Create a new variable of a given type of given class instance
diff --git a/src/CBot/CBotVar/CBotVarArray.cpp b/src/CBot/CBotVar/CBotVarArray.cpp
index e4cd2c3..3c99b97 100644
--- a/src/CBot/CBotVar/CBotVarArray.cpp
+++ b/src/CBot/CBotVar/CBotVarArray.cpp
@@ -31,12 +31,12 @@
#include <cassert>
////////////////////////////////////////////////////////////////////////////////
-CBotVarArray::CBotVarArray(const CBotToken* name, CBotTypResult& type )
+CBotVarArray::CBotVarArray(const CBotToken& name, CBotTypResult& type)
{
if ( !type.Eq(CBotTypArrayPointer) &&
!type.Eq(CBotTypArrayBody)) assert(0);
- m_token = new CBotToken(*name);
+ m_token = new CBotToken(name);
m_next = nullptr;
m_pMyThis = nullptr;
m_pUserPtr = nullptr;
@@ -117,7 +117,7 @@ CBotVar* CBotVarArray::GetItem(int n, bool bExtend)
if ( !bExtend ) return nullptr;
// creates an instance of the table
- CBotVarClass* instance = new CBotVarClass(nullptr, m_type);
+ CBotVarClass* instance = new CBotVarClass(CBotToken(), m_type);
SetPointer( instance );
}
return m_pInstance->GetItem(n, bExtend);
diff --git a/src/CBot/CBotVar/CBotVarArray.h b/src/CBot/CBotVar/CBotVarArray.h
index 989c4fd..76a1810 100644
--- a/src/CBot/CBotVar/CBotVarArray.h
+++ b/src/CBot/CBotVar/CBotVarArray.h
@@ -32,7 +32,7 @@ public:
/**
* \brief Constructor. Do not call directly, use CBotVar::Create()
*/
- CBotVarArray(const CBotToken* name, CBotTypResult& type);
+ CBotVarArray(const CBotToken& name, CBotTypResult& type);
/**
* \brief Destructor. Do not call directly, use CBotVar::Destroy()
*/
diff --git a/src/CBot/CBotVar/CBotVarBoolean.cpp b/src/CBot/CBotVar/CBotVarBoolean.cpp
index 81b8f68..57de0f0 100644
--- a/src/CBot/CBotVar/CBotVarBoolean.cpp
+++ b/src/CBot/CBotVar/CBotVarBoolean.cpp
@@ -26,9 +26,9 @@
////////////////////////////////////////////////////////////////////////////////
-CBotVarBoolean::CBotVarBoolean( const CBotToken* name )
+CBotVarBoolean::CBotVarBoolean(const CBotToken& name)
{
- m_token = new CBotToken(*name);
+ m_token = new CBotToken(name);
m_next = nullptr;
m_pMyThis = nullptr;
m_pUserPtr = nullptr;
diff --git a/src/CBot/CBotVar/CBotVarBoolean.h b/src/CBot/CBotVar/CBotVarBoolean.h
index f78bf04..965ff0f 100644
--- a/src/CBot/CBotVar/CBotVarBoolean.h
+++ b/src/CBot/CBotVar/CBotVarBoolean.h
@@ -30,7 +30,7 @@ public:
/**
* \brief Constructor. Do not call directly, use CBotVar::Create()
*/
- CBotVarBoolean(const CBotToken* name);
+ CBotVarBoolean(const CBotToken& name);
void SetValInt(int val, const std::string& s = nullptr) override;
void SetValFloat(float val) override;
diff --git a/src/CBot/CBotVar/CBotVarClass.cpp b/src/CBot/CBotVar/CBotVarClass.cpp
index 5937a26..9a852e9 100644
--- a/src/CBot/CBotVar/CBotVarClass.cpp
+++ b/src/CBot/CBotVar/CBotVarClass.cpp
@@ -37,7 +37,7 @@
CBotVarClass* CBotVarClass::m_ExClass = nullptr;
////////////////////////////////////////////////////////////////////////////////
-CBotVarClass::CBotVarClass( const CBotToken* name, const CBotTypResult& type)
+CBotVarClass::CBotVarClass(const CBotToken& name, const CBotTypResult& type)
{
if ( !type.Eq(CBotTypClass) &&
!type.Eq(CBotTypIntrinsic) && // by convenience there accepts these types
@@ -45,7 +45,7 @@ CBotVarClass::CBotVarClass( const CBotToken* name, const CBotTypResult& type)
!type.Eq(CBotTypArrayPointer) &&
!type.Eq(CBotTypArrayBody)) assert(0);
- m_token = new CBotToken(*name);
+ m_token = new CBotToken(name);
m_next = nullptr;
m_pMyThis = nullptr;
m_pUserPtr = OBJECTCREATED;//nullptr;
diff --git a/src/CBot/CBotVar/CBotVarClass.h b/src/CBot/CBotVar/CBotVarClass.h
index ee9a541..bc3d6b5 100644
--- a/src/CBot/CBotVar/CBotVarClass.h
+++ b/src/CBot/CBotVar/CBotVarClass.h
@@ -32,7 +32,7 @@ public:
/**
* \brief Constructor. Do not call directly, use CBotVar::Create()
*/
- CBotVarClass(const CBotToken* name, const CBotTypResult& type);
+ CBotVarClass(const CBotToken& name, const CBotTypResult& type);
/**
* \brief Destructor. Do not call directly, use CBotVar::Destroy()
*/
diff --git a/src/CBot/CBotVar/CBotVarFloat.cpp b/src/CBot/CBotVar/CBotVarFloat.cpp
index 1407dac..60b8afd 100644
--- a/src/CBot/CBotVar/CBotVarFloat.cpp
+++ b/src/CBot/CBotVar/CBotVarFloat.cpp
@@ -31,9 +31,9 @@
#include <cmath>
////////////////////////////////////////////////////////////////////////////////
-CBotVarFloat::CBotVarFloat( const CBotToken* name )
+CBotVarFloat::CBotVarFloat(const CBotToken& name)
{
- m_token = new CBotToken(*name);
+ m_token = new CBotToken(name);
m_next = nullptr;
m_pMyThis = nullptr;
m_pUserPtr = nullptr;
diff --git a/src/CBot/CBotVar/CBotVarFloat.h b/src/CBot/CBotVar/CBotVarFloat.h
index 86f3dfc..5b44a3b 100644
--- a/src/CBot/CBotVar/CBotVarFloat.h
+++ b/src/CBot/CBotVar/CBotVarFloat.h
@@ -30,7 +30,7 @@ public:
/**
* \brief Constructor. Do not call directly, use CBotVar::Create()
*/
- CBotVarFloat(const CBotToken* name);
+ CBotVarFloat(const CBotToken& name);
void SetValInt(int val, const std::string& s = nullptr) override;
void SetValFloat(float val) override;
diff --git a/src/CBot/CBotVar/CBotVarInt.cpp b/src/CBot/CBotVar/CBotVarInt.cpp
index fec48d2..a36f84e 100644
--- a/src/CBot/CBotVar/CBotVarInt.cpp
+++ b/src/CBot/CBotVar/CBotVarInt.cpp
@@ -30,9 +30,9 @@
#include <cmath>
////////////////////////////////////////////////////////////////////////////////
-CBotVarInt::CBotVarInt( const CBotToken* name )
+CBotVarInt::CBotVarInt(const CBotToken& name)
{
- m_token = new CBotToken(*name);
+ m_token = new CBotToken(name);
m_next = nullptr;
m_pMyThis = nullptr;
m_pUserPtr = nullptr;
diff --git a/src/CBot/CBotVar/CBotVarInt.h b/src/CBot/CBotVar/CBotVarInt.h
index 3080189..56f9c68 100644
--- a/src/CBot/CBotVar/CBotVarInt.h
+++ b/src/CBot/CBotVar/CBotVarInt.h
@@ -30,7 +30,7 @@ public:
/**
* \brief Constructor. Do not call directly, use CBotVar::Create()
*/
- CBotVarInt(const CBotToken* name);
+ CBotVarInt(const CBotToken& name);
void SetValInt(int val, const std::string& s = "") override;
void SetValFloat(float val) override;
diff --git a/src/CBot/CBotVar/CBotVarPointer.cpp b/src/CBot/CBotVar/CBotVarPointer.cpp
index 49fda50..e289923 100644
--- a/src/CBot/CBotVar/CBotVarPointer.cpp
+++ b/src/CBot/CBotVar/CBotVarPointer.cpp
@@ -33,14 +33,14 @@
#include <cassert>
////////////////////////////////////////////////////////////////////////////////
-CBotVarPointer::CBotVarPointer(const CBotToken* name, CBotTypResult& type )
+CBotVarPointer::CBotVarPointer(const CBotToken& name, CBotTypResult& type)
{
if ( !type.Eq(CBotTypPointer) &&
!type.Eq(CBotTypNullPointer) &&
!type.Eq(CBotTypClass) && // for convenience accepts Class and Intrinsic
!type.Eq(CBotTypIntrinsic) ) assert(0);
- m_token = new CBotToken(*name);
+ m_token = new CBotToken(name);
m_next = nullptr;
m_pMyThis = nullptr;
m_pUserPtr = nullptr;
diff --git a/src/CBot/CBotVar/CBotVarPointer.h b/src/CBot/CBotVar/CBotVarPointer.h
index 276e4e8..070a533 100644
--- a/src/CBot/CBotVar/CBotVarPointer.h
+++ b/src/CBot/CBotVar/CBotVarPointer.h
@@ -30,7 +30,7 @@ public:
/**
* \brief Constructor. Do not call directly, use CBotVar::Create()
*/
- CBotVarPointer(const CBotToken* name, CBotTypResult& type);
+ CBotVarPointer(const CBotToken& name, CBotTypResult& type);
/**
* \brief Destructor. Do not call directly, use CBotVar::Destroy()
*/
diff --git a/src/CBot/CBotVar/CBotVarString.cpp b/src/CBot/CBotVar/CBotVarString.cpp
index 6a5645b..dc942c5 100644
--- a/src/CBot/CBotVar/CBotVarString.cpp
+++ b/src/CBot/CBotVar/CBotVarString.cpp
@@ -29,9 +29,9 @@
// Global include
////////////////////////////////////////////////////////////////////////////////
-CBotVarString::CBotVarString( const CBotToken* name )
+CBotVarString::CBotVarString(const CBotToken& name)
{
- m_token = new CBotToken(*name);
+ m_token = new CBotToken(name);
m_next = nullptr;
m_pMyThis = nullptr;
m_pUserPtr = nullptr;
diff --git a/src/CBot/CBotVar/CBotVarString.h b/src/CBot/CBotVar/CBotVarString.h
index f0c9105..ad24a10 100644
--- a/src/CBot/CBotVar/CBotVarString.h
+++ b/src/CBot/CBotVar/CBotVarString.h
@@ -30,7 +30,7 @@ public:
/**
* \brief Constructor. Do not call directly, use CBotVar::Create()
*/
- CBotVarString(const CBotToken* name);
+ CBotVarString(const CBotToken& name);
void SetValString(const std::string& val) override;
std::string GetValString() override;
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/colobot.git
More information about the Pkg-games-commits
mailing list