Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/cvar.cc')
-rw-r--r--src/core/cvar.cc25
1 files changed, 10 insertions, 15 deletions
diff --git a/src/core/cvar.cc b/src/core/cvar.cc
index 50043f2..7db202d 100644
--- a/src/core/cvar.cc
+++ b/src/core/cvar.cc
@@ -35,16 +35,10 @@ Cvar *Cvar::rconpassword = 0;
Cvar::Registry Cvar::cvar_registry;
-Cvar::Cvar(const char *name, const unsigned int flags)
+Cvar::Cvar(const char *name, const unsigned int flags) : cvar_name(), cvar_info(), cvar_str()
{
cvar_flags = flags;
-
- if (name)
- cvar_name.assign(name);
- else
- cvar_name.clear();
-
- cvar_info.clear();
+ cvar_name.assign(name);
}
void Cvar::set_info(const char *info)
@@ -64,7 +58,8 @@ Cvar & Cvar::operator=(const std::string &other)
Cvar & Cvar::operator=(const char *other)
{
- return ((*this) = std::string(other));
+ std::string value(other);
+ return (this->operator=(value));
}
Cvar & Cvar::operator=(float other)
@@ -81,11 +76,10 @@ Cvar* Cvar::get(const char *name, const char *value, const unsigned int flags)
Cvar *c = find(name);
if (c) {
//con_debug << "get " << name << " already exist with value " << cvar->str() << std::endl;
- c->cvar_flags |= flags;
} else {
//con_debug << "get " << name << " " << value << std::endl;
c = new Cvar(name, flags);
- cvar_registry[std::string(name)] = c;
+ cvar_registry[c->name()] = c;
(*c) = value;
}
c->cvar_flags |= flags;
@@ -100,7 +94,7 @@ Cvar* Cvar::get(const char *name, float value, const unsigned int flags)
} else {
//con_debug << "get " << name << " " << value << std::endl;
c = new Cvar(name, flags);
- cvar_registry[std::string(name)] = c;
+ cvar_registry[c->name()] = c;
(*c) = value;
}
c->cvar_flags |= flags;
@@ -112,7 +106,7 @@ Cvar* Cvar::set(const char *name, const char *value, const unsigned int flags)
Cvar *c = find(name);
if (!c) {
c = new Cvar(name, flags);
- cvar_registry[std::string(name)] = c;
+ cvar_registry[c->name()] = c;
}
(*c) = value;
c->cvar_flags = flags;
@@ -126,7 +120,7 @@ Cvar* Cvar::set(const char *name, float value, unsigned int flags)
Cvar *c = find(name);
if (!c) {
c = new Cvar(name, flags);
- cvar_registry[std::string(name)] = c;
+ cvar_registry[c->name()] = c;
}
(*c) = value;
c->cvar_flags = flags;
@@ -161,7 +155,8 @@ Cvar *Cvar::find(std::string const &name)
Cvar *Cvar::find(const char *name)
{
- return(find(std::string(name)));
+ std::string s(name);
+ return(find(s));
}
void Cvar::list()