Changed: Don't use CSString

--HG--
branch : develop
This commit is contained in:
kervala 2017-04-22 18:16:27 +02:00
parent e94b06066f
commit 532a81f5cb

View file

@ -17,7 +17,6 @@
#include "stdmisc.h" #include "stdmisc.h"
#include "nel/misc/i_xml.h" #include "nel/misc/i_xml.h"
#include "nel/misc/sstring.h"
#ifndef NL_DONT_USE_EXTERNAL_CODE #ifndef NL_DONT_USE_EXTERNAL_CODE
@ -1067,6 +1066,7 @@ bool CIXml::getPropertyString (std::string &result, xmlNodePtr node, const std::
// Found // Found
return true; return true;
} }
return false; return false;
} }
@ -1074,18 +1074,21 @@ bool CIXml::getPropertyString (std::string &result, xmlNodePtr node, const std::
int CIXml::getIntProperty(xmlNodePtr node, const std::string &property, int defaultValue) int CIXml::getIntProperty(xmlNodePtr node, const std::string &property, int defaultValue)
{ {
CSString s; std::string s;
bool b;
b=getPropertyString(s,node,property); bool b = getPropertyString(s, node, property);
if (b==false)
if (!b)
return defaultValue; return defaultValue;
s=s.strip(); // remove leading and trailing spaces
sint val=s.atoi(); s = trim(s);
if (val==0 && s!="0")
sint val;
if (!fromString(s, val) || (val == 0 && s != "0"))
{ {
nlwarning("bad integer value: %s",s.c_str()); nlwarning("Bad integer value: %s",s.c_str());
return defaultValue; return defaultValue;
} }
@ -1096,14 +1099,25 @@ int CIXml::getIntProperty(xmlNodePtr node, const std::string &property, int defa
double CIXml::getFloatProperty(xmlNodePtr node, const std::string &property, float defaultValue) double CIXml::getFloatProperty(xmlNodePtr node, const std::string &property, float defaultValue)
{ {
CSString s; std::string s;
bool b;
b=getPropertyString(s,node,property); bool b = getPropertyString(s, node, property);
if (b==false)
if (!b)
return defaultValue; return defaultValue;
return s.strip().atof(); // remove leading and trailing spaces
s = trim(s);
float val;
if (!fromString(s, val))
{
nlwarning("Bad float value: %s", s.c_str());
return defaultValue;
}
return val;
} }
// *************************************************************************** // ***************************************************************************
@ -1111,10 +1125,10 @@ double CIXml::getFloatProperty(xmlNodePtr node, const std::string &property, flo
std::string CIXml::getStringProperty(xmlNodePtr node, const std::string &property, const std::string& defaultValue) std::string CIXml::getStringProperty(xmlNodePtr node, const std::string &property, const std::string& defaultValue)
{ {
std::string s; std::string s;
bool b;
b=getPropertyString(s,node,property); bool b = getPropertyString(s, node, property);
if (b==false)
if (!b)
return defaultValue; return defaultValue;
return s; return s;