From: Jean-Marc Lasgouttes Date: Sat, 19 Jan 2002 21:51:54 +0000 (+0000) Subject: fix from herbert to biblio parsing X-Git-Tag: 1.6.10~19973 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=58a522ef711bf7a08f6f2495c2555c4aafa20b4e;p=features.git fix from herbert to biblio parsing git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@3422 a592a061-630c-0410-9148-cb99ea01b6c8 --- diff --git a/src/frontends/controllers/ChangeLog b/src/frontends/controllers/ChangeLog index 0061f42a16..9ee06c2ac6 100644 --- a/src/frontends/controllers/ChangeLog +++ b/src/frontends/controllers/ChangeLog @@ -1,3 +1,8 @@ +2002-01-19 Herbert Voss + + * biblio.C (parseBibTeX): change the parsing, so that + '#'-characters in a bibtex entry are no more a problem. + 2002-01-19 Jean-Marc Lasgouttes * ControlDialog_impl.h (ControlConnectBI>): make ControlDialogBI diff --git a/src/frontends/controllers/biblio.C b/src/frontends/controllers/biblio.C index 9a6a8fabb4..82ed0aebc0 100644 --- a/src/frontends/controllers/biblio.C +++ b/src/frontends/controllers/biblio.C @@ -319,101 +319,74 @@ searchKeys(InfoMap const & theMap, string const parseBibTeX(string data, string const & findkey) { string keyvalue; - - for (string::iterator it=data.begin(); it1) { - string tmp = data.substr(keypos, - data.length()-1); - while (tmp.find('{') != string::npos && - tmp.find('}') != string::npos && - tmp.find('{') < tmp.find('}') && - tmp.find('{') < tmp.find(enclosing)) { - - keypos += tmp.find('{')+1; - tmp = data.substr(keypos, - data.length()-1); - keypos += tmp.find('}')+1; - tmp = data.substr(keypos, - data.length()-1); - } - - if (tmp.find(enclosing)==string::npos) - return keyvalue; - else { - keypos += tmp.find(enclosing); - tmp = data.substr(keypos, - data.length()-1); - } - - value = data.substr(1, keypos-1); - - if (keypos+1 data.find(',')) - keypos = data.find(','); - - value = data.substr(0, keypos); - - if (keypos+1