diff --git a/spectra.cpp b/spectra.cpp index 1c19fde7260368b19c37557c1906b74b772f22f1..ed37ae0680c04c592c4d760da5f6aa143957ea04 100644 --- a/spectra.cpp +++ b/spectra.cpp @@ -173,7 +173,7 @@ EisSpectra EisSpectra::loadFromStream(std::istream& stream) std::vector<std::string> tokens = tokenizeBinaryIgnore(line, ',', '"', '\\'); VersionFixed fileVersion; - if(tokens.size() < 2 || tokens[0] != F_MAGIC) + if(tokens.size() != 2 || tokens[0] != F_MAGIC) { throw file_error("not a valid EISGenerator file or stream"); } @@ -192,10 +192,13 @@ EisSpectra EisSpectra::loadFromStream(std::istream& stream) if(fileVersion.minor == F_VERSION_MINOR) { std::getline(stream, line); + stripQuotes(line); out.model = line == "None" ? "" : line; std::getline(stream, line); + stripQuotes(line); out.headerDescription = line == "None" ? "" : line; std::getline(stream, line); + stripQuotes(line); out.header = line == "None" ? "" : line; } else @@ -208,6 +211,9 @@ EisSpectra EisSpectra::loadFromStream(std::istream& stream) out.header = line; } + out.model.erase(std::remove(out.model.begin(), out.model.end(), '\0'), out.model.end()); + out.model.erase(std::remove(out.header.begin(), out.header.end(), '\0'), out.header.end()); + while(stream.good()) { std::getline(stream, line);