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() | 
