From 9fc5434205ccd335070636d67171fd2a0d8f9ac2 Mon Sep 17 00:00:00 2001 From: Christophe Geuzaine <cgeuzaine@ulg.ac.be> Date: Fri, 11 Jul 2008 17:04:05 +0000 Subject: [PATCH] try to fix crash obsevred by Tom De Vuyst --- Geo/GFace.cpp | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/Geo/GFace.cpp b/Geo/GFace.cpp index 39b22ca7b5..5cc70e5069 100644 --- a/Geo/GFace.cpp +++ b/Geo/GFace.cpp @@ -158,19 +158,20 @@ std::string GFace::getAdditionalInfoString() { if(l_edges.empty()) return std::string(""); - char tmp[256]; + std::string str("{"); + std::list<GEdge*>::const_iterator it = l_edges.begin(); if(l_edges.size() > 10){ - sprintf(tmp, "{%d, ..., %d}", (*l_edges.begin())->tag(), (*l_edges.end())->tag()); - return std::string(tmp); + std::list<GEdge*>::const_iterator ite = l_edges.end(); + char tmp[256]; + sprintf(tmp, "%d, ..., %d", (*it)->tag(), (*ite)->tag()); } - - std::string str(""); - std::list<GEdge*>::const_iterator it = l_edges.begin(); - str += "{"; - for(; it != l_edges.end(); it++){ - if(it != l_edges.begin()) str += ","; - sprintf(tmp, "%d", (*it)->tag()); - str += tmp; + else{ + for(; it != l_edges.end(); it++){ + if(it != l_edges.begin()) str += ","; + char tmp[256]; + sprintf(tmp, "%d", (*it)->tag()); + str += tmp; + } } str += "}"; return str; -- GitLab