From 30866524a77644f9adb1011f8eaa9fcadf8b7722 Mon Sep 17 00:00:00 2001
From: Carl Philipp Klemm <philipp@uvos.xyz>
Date: Mon, 22 Jul 2024 13:56:02 +0200
Subject: [PATCH] Fix doubleqoutes still appearing in some instances

---
 spectra.cpp | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/spectra.cpp b/spectra.cpp
index 1c19fde..ed37ae0 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);
-- 
GitLab