diff options
Diffstat (limited to 'src/core/cvar.cc')
-rw-r--r-- | src/core/cvar.cc | 25 |
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() |