From 24c5748d7c8867928f23135143ffe00dc00f1867 Mon Sep 17 00:00:00 2001 From: Stefan Bienert <stefan.bienert@unibas.ch> Date: Thu, 7 May 2015 13:47:41 +0200 Subject: [PATCH] Allow new blank character in citation.year for mmCIF --- modules/io/src/mol/mmcif_reader.cc | 2 +- modules/io/tests/test_mmcif_reader.cc | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/modules/io/src/mol/mmcif_reader.cc b/modules/io/src/mol/mmcif_reader.cc index a4c9ca313..b6d90fc75 100644 --- a/modules/io/src/mol/mmcif_reader.cc +++ b/modules/io/src/mol/mmcif_reader.cc @@ -805,7 +805,7 @@ void MMCifReader::ParseCitation(const std::vector<StringRef>& columns) } } if (indices_[YEAR] != -1) { - if (columns[indices_[YEAR]][0]!='?') { + if (!is_undef(columns[indices_[YEAR]])) { cit.SetYear(this->TryGetInt(columns[indices_[YEAR]], "citation.year")); } } diff --git a/modules/io/tests/test_mmcif_reader.cc b/modules/io/tests/test_mmcif_reader.cc index 6f6866622..3a1906df9 100644 --- a/modules/io/tests/test_mmcif_reader.cc +++ b/modules/io/tests/test_mmcif_reader.cc @@ -584,16 +584,20 @@ BOOST_AUTO_TEST_CASE(mmcif_citation_tests) tmmcif_h.SetCategory(StringRef("citation", 8)); tmmcif_h.Add(StringRef("id", 2)); + tmmcif_h.Add(StringRef("year", 4)); tmmcif_h.Add(StringRef("book_title", 10)); tmmcif_h.Add(StringRef("journal_abbrev", 14)); tmmcif_p.OnBeginLoop(tmmcif_h); columns.push_back(StringRef("Foo", 3)); + columns.push_back(StringRef("1979", 4)); columns.push_back(StringRef("The Guide", 9)); columns.push_back(StringRef(".", 1)); BOOST_CHECK_NO_THROW(tmmcif_p.ParseCitation(columns)); + BOOST_CHECK(tmmcif_p.GetInfo().GetCitations().back().GetYear() == 1979); + columns.pop_back(); columns.pop_back(); columns.push_back(StringRef(".", 1)); -- GitLab