From cc96405d1bc935e67703736fc18fab0fd70f3732 Mon Sep 17 00:00:00 2001 From: Jean-Marc Lasgouttes Date: Mon, 11 Mar 2002 14:57:40 +0000 Subject: [PATCH] another bibtex parsing fix git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@3710 a592a061-630c-0410-9148-cb99ea01b6c8 --- src/frontends/controllers/ChangeLog | 5 +++++ src/frontends/controllers/biblio.C | 10 +++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/frontends/controllers/ChangeLog b/src/frontends/controllers/ChangeLog index 9a9f771e94..eacb46db7a 100644 --- a/src/frontends/controllers/ChangeLog +++ b/src/frontends/controllers/ChangeLog @@ -1,3 +1,8 @@ +2002-03-11 Herbert Voss + + * biblio.C (parseBibTeX): fix another minibug with an + ending comma + 2002-03-10 Herbert Voss * biblio.C (parseBibTeX): fix bug diff --git a/src/frontends/controllers/biblio.C b/src/frontends/controllers/biblio.C index 64cf3f487a..9082739e4f 100644 --- a/src/frontends/controllers/biblio.C +++ b/src/frontends/controllers/biblio.C @@ -9,6 +9,7 @@ * * \file biblio.C * \author Angus Leeming + * \author Herbert Voss */ #include @@ -212,7 +213,7 @@ string const getYear(InfoMap const & map, string const & key) if (year.empty()) year = "50BC"; - + return year; } @@ -394,7 +395,8 @@ string const parseBibTeX(string data, string const & findkey) if (data.length() < 2 || data[0] != '=') { // a valid entry? return string(); } else { - data = frontStrip(data.substr(1, data.length() - 1)); + // delete '=' and the following spaces + data = frontStrip(frontStrip(data,'=')); if (data.length() < 2) { return data; // not long enough to find delimiters } else { @@ -405,7 +407,9 @@ string const parseBibTeX(string data, string const & findkey) } else if (data[0] == '"') { enclosing = '"'; } else { - return data; // no {} and no "", pure data + // no {} and no "", pure data but with a + // possible ',' at the end + return strip(data,','); } string tmp = data.substr(keypos); while (tmp.find('{') != string::npos && -- 2.39.5