Avoid endless loop when indent is set to -1, cleanup code

This commit is contained in:
fbraem
2013-03-09 20:45:22 +01:00
parent 727e3cd28d
commit c6d53a0608
2 changed files with 25 additions and 49 deletions

View File

@@ -61,38 +61,29 @@ Element::Ptr Array::get(int pos) const
std::string Array::toString(int indent) const
{
std::ostringstream oss;
oss << "[";
if ( indent > 0 )
{
oss << std::endl;
}
if ( indent > 0 ) oss << std::endl;
for(ElementSet::const_iterator it = _elements.begin(); it != _elements.end(); ++it)
{
if ( it != _elements.begin() )
{
oss << ",";
if ( indent > 0 )
{
oss << std::endl;
}
if ( indent > 0 ) oss << std::endl;
}
for(int i = 0; i < indent; ++i)
{
oss << ' ';
}
for(int i = 0; i < indent; ++i) oss << ' ';
oss << (*it)->toString();
}
if ( indent > 0 )
{
oss << std::endl;
indent -= 2;
for(int i = 0; i < indent; ++i)
{
oss << ' ';
}
if ( indent >= 2 ) indent -= 2;
for(int i = 0; i < indent; ++i) oss << ' ';
}
oss << "]";