]> git.lyx.org Git - features.git/commitdiff
Fixed bugs in getStringFromVector, getVectorFromString
authorAngus Leeming <leeming@lyx.org>
Mon, 9 Apr 2001 10:47:20 +0000 (10:47 +0000)
committerAngus Leeming <leeming@lyx.org>
Mon, 9 Apr 2001 10:47:20 +0000 (10:47 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@1907 a592a061-630c-0410-9148-cb99ea01b6c8

src/frontends/controllers/ChangeLog
src/frontends/controllers/helper_funcs.C

index 3143cae2e12079e97b87e337bec987bb0c51773e..735afab7d4fcd790d06a8927e8e2d43decec5758 100644 (file)
@@ -1,3 +1,8 @@
+2001-04-09  Angus Leeming  <a.leeming@ic.ac.uk>
+
+       * helper_funcs.C (getStringFromVector, getVectorFromString): fixed bugs
+       and made more robust.
+
 2001-04-05  Jean-Marc Lasgouttes  <Jean-Marc.Lasgouttes@inria.fr>
 
        * ControlToc.C: 
index 209452f5702724bad23763c5a147f1a9361c539c..3b0cc86d24ebc372030d00ccbde9a60d84837ff1 100644 (file)
@@ -35,9 +35,13 @@ string const getStringFromVector(vector<string> const & vec,
                                 string const & delim)
 {
        string str;
-       for (vector<string>::size_type i=0; i<vec.size(); ++i) {
-               if (i > 0) str += delim;
-               str += vec[i];
+       int i = 0;
+       for (vector<string>::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<string> 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);