]> git.lyx.org Git - lyx.git/commitdiff
Simplify InsetCitation::basicLabel() code.
authorRichard Heck <rgheck@comcast.net>
Thu, 21 Jan 2010 19:58:21 +0000 (19:58 +0000)
committerRichard Heck <rgheck@comcast.net>
Thu, 21 Jan 2010 19:58:21 +0000 (19:58 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33143 a592a061-630c-0410-9148-cb99ea01b6c8

src/insets/InsetCitation.cpp

index 919b762d496fe7c1a9f87b44093a6624abccfdfd..8ea7da606d359c0ad206a260125e788ce8717bd2 100644 (file)
@@ -432,18 +432,16 @@ docstring InsetCitation::basicLabel(bool for_xhtml) const
        docstring keys = getParam("key");
        docstring label;
 
-       if (contains(keys, ',')) {
-               // Final comma allows while loop to cover all keys
-               keys = ltrim(split(keys, label, ',')) + ',';
-               label = wrapCitation(label, label, for_xhtml);
-               while (contains(keys, ',')) {
-                       docstring key;
-                       keys = ltrim(split(keys, key, ','));
-                       label += ", " + wrapCitation(key, key, for_xhtml);
-               }
-       } else {
-               label = wrapCitation(keys, keys, for_xhtml);
-       }
+       docstring key;
+       do {
+               // if there is no comma, then everything goes into key
+               // and keys will be empty.
+               keys = trim(split(keys, key, ','));
+               key = trim(key);
+               if (!label.empty())
+                       label += ", ";
+               label += wrapCitation(key, key, for_xhtml);
+       } while (!keys.empty());
 
        docstring const & after = getParam("after");
        if (!after.empty())