From 4e2d777c51fd4013a1995b466ae9af6477cb2a7d Mon Sep 17 00:00:00 2001 From: Angus Leeming Date: Mon, 9 Apr 2001 10:47:20 +0000 Subject: [PATCH] Fixed bugs in getStringFromVector, getVectorFromString git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@1907 a592a061-630c-0410-9148-cb99ea01b6c8 --- src/frontends/controllers/ChangeLog | 5 +++++ src/frontends/controllers/helper_funcs.C | 16 +++++++++++----- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/src/frontends/controllers/ChangeLog b/src/frontends/controllers/ChangeLog index 3143cae2e1..735afab7d4 100644 --- a/src/frontends/controllers/ChangeLog +++ b/src/frontends/controllers/ChangeLog @@ -1,3 +1,8 @@ +2001-04-09 Angus Leeming + + * helper_funcs.C (getStringFromVector, getVectorFromString): fixed bugs + and made more robust. + 2001-04-05 Jean-Marc Lasgouttes * ControlToc.C: diff --git a/src/frontends/controllers/helper_funcs.C b/src/frontends/controllers/helper_funcs.C index 209452f570..3b0cc86d24 100644 --- a/src/frontends/controllers/helper_funcs.C +++ b/src/frontends/controllers/helper_funcs.C @@ -35,9 +35,13 @@ string const getStringFromVector(vector const & vec, string const & delim) { string str; - for (vector::size_type i=0; i 0) str += delim; - str += vec[i]; + int i = 0; + for (vector::const_iterator it = vec.begin(); + it != vec.end(); ++it) { + if (it->empty()) continue; + + if (i++ > 0) str += delim; + str += *it; } return str; } @@ -51,8 +55,10 @@ vector const getVectorFromString(string const & str, for(;;) { string::size_type const idx = keys.find(delim); if (idx == string::npos) break; - - vec.push_back(keys.substr(0, idx)); + + string const key = keys.substr(0, idx); + if (!key.empty()) + vec.push_back(key); string::size_type const start = idx + delim.size(); keys = keys.substr(start); -- 2.39.5