From 00753ae61eb353cbee171a887cb63d72f6b73ad3 Mon Sep 17 00:00:00 2001 From: Richard Heck Date: Thu, 21 Jan 2010 19:58:21 +0000 Subject: [PATCH] Simplify InsetCitation::basicLabel() code. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33143 a592a061-630c-0410-9148-cb99ea01b6c8 --- src/insets/InsetCitation.cpp | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/src/insets/InsetCitation.cpp b/src/insets/InsetCitation.cpp index 919b762d49..8ea7da606d 100644 --- a/src/insets/InsetCitation.cpp +++ b/src/insets/InsetCitation.cpp @@ -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())