summaryrefslogtreecommitdiff
path: root/uservars.c
diff options
context:
space:
mode:
Diffstat (limited to 'uservars.c')
-rw-r--r--uservars.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/uservars.c b/uservars.c
index a55e558..66abbd6 100644
--- a/uservars.c
+++ b/uservars.c
@@ -267,8 +267,14 @@ bool cUserVarLine::Parse(char *s)
cUserVar* userVar = new cUserVar;
if (userVar->varparser.Parse(s))
{
- UserVars.userVars.insert(userVar);
- return true;
+ cUserVar* oldVar = UserVars.GetFromName(userVar->Name());
+ if (oldVar) // allow redefintion of existing vars
+ {
+ UserVars.userVars.erase(oldVar);
+ delete oldVar;
+ }
+ UserVars.userVars.insert(userVar);
+ return true;
}
}
return false;