From a8ff6b2bee9b1fe0fb65d6ed78fab206bf5ecb89 Mon Sep 17 00:00:00 2001
From: Ulrich Kemloh <kemlohulrich@gmail.com>
Date: Mon, 19 Jan 2015 08:48:18 +0100
Subject: [PATCH] Fixed issue #22. checking if the file name match the
 extension.

---
 LICENCE => LICENSE         |  0
 general/ArgumentParser.cpp | 18 ++++++++++++++----
 2 files changed, 14 insertions(+), 4 deletions(-)
 rename LICENCE => LICENSE (100%)

diff --git a/LICENCE b/LICENSE
similarity index 100%
rename from LICENCE
rename to LICENSE
diff --git a/general/ArgumentParser.cpp b/general/ArgumentParser.cpp
index 58b42b1e..bd8fbf20 100644
--- a/general/ArgumentParser.cpp
+++ b/general/ArgumentParser.cpp
@@ -156,7 +156,7 @@ void ArgumentParser::ParseArgs(int argc, char **argv)
                bool parsing = ParseIniFile(inifile);
                if(!parsing)
                {
-                    Log->Write("INFO: \t Failed loading initialization file <"+inifile+">");
+                    Log->Write("INFO: \tFailed loading initialization file <"+inifile+">");
                }
           }
           break;
@@ -219,7 +219,7 @@ bool ArgumentParser::ParseIniFile(string inifile)
      if(xMainNode->FirstChild("geometry"))
      {
           _geometryFileName=_projectRootDir+xMainNode->FirstChildElement("geometry")->Attribute("file");
-          Log->Write("INFO: \tGeometry File is:\t <"+_geometryFileName+">");
+          Log->Write("INFO: \tGeometry File is: <"+_geometryFileName+">");
      }
 
      //trajectories
@@ -228,7 +228,7 @@ bool ArgumentParser::ParseIniFile(string inifile)
      {
           //add the extension point
           string fmt = "."+string (xmltoa(xMainNode->FirstChildElement("trajectories")->Attribute("format")));
-          Log->Write("INFO: \tFormat of the trajectory file is:\t<%s>", fmt.c_str());
+          Log->Write("INFO: \tFormat of the trajectory file is: <%s>", fmt.c_str());
           if (fmt == ".xml")
           {
                _fileFormat = FORMAT_XML_PLAIN;
@@ -257,7 +257,17 @@ bool ArgumentParser::ParseIniFile(string inifile)
                _trajectoriesFilename =
                          + xFile->Attribute("name");
                _trajectoriesFiles.push_back(_trajectoriesFilename);
-               Log->Write("INFO: \tInput trajectory file is\t<"+ (_trajectoriesFilename)+">");
+
+               //check if the given file match the format
+               if(boost::algorithm::ends_with(_trajectoriesFilename,fmt))
+               {
+                    Log->Write("INFO: \tInput trajectory file is\t<"+ (_trajectoriesFilename)+">");
+               }
+               else
+               {
+                    Log->Write("ERROR: \tWrong file extension\t<%s> for file <%s>",fmt.c_str(),_trajectoriesFilename.c_str());
+                    return false;
+               }
           }
 
           if (xTrajectories->FirstChildElement("path"))
-- 
GitLab