From 6e76de84daa61c25589d218875dfdca5e0ef2ff6 Mon Sep 17 00:00:00 2001 From: Sylvain Thery Date: Thu, 20 Feb 2014 15:59:27 +0100 Subject: [PATCH] add utility function to check filename extension --- include/Utils/filename.h | 54 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 include/Utils/filename.h diff --git a/include/Utils/filename.h b/include/Utils/filename.h new file mode 100644 index 00000000..a412d4e5 --- /dev/null +++ b/include/Utils/filename.h @@ -0,0 +1,54 @@ +/******************************************************************************* +* CGoGN: Combinatorial and Geometric modeling with Generic N-dimensional Maps * +* version 0.1 * +* Copyright (C) 2009-2012, IGG Team, LSIIT, University of Strasbourg * +* * +* This library is free software; you can redistribute it and/or modify it * +* under the terms of the GNU Lesser General Public License as published by the * +* Free Software Foundation; either version 2.1 of the License, or (at your * +* option) any later version. * +* * +* This library is distributed in the hope that it will be useful, but WITHOUT * +* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * +* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License * +* for more details. * +* * +* You should have received a copy of the GNU Lesser General Public License * +* along with this library; if not, write to the Free Software Foundation, * +* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * +* * +* Web site: http://cgogn.unistra.fr/ * +* Contact information: cgogn@unistra.fr * +* * +*******************************************************************************/ + +#ifndef _CGOGN_FILENAME_H_ +#define _CGOGN_FILENAME_H_ + +#include + +namespace CGoGN +{ +namespace Utils +{ + +inline std::string checkFileNameExtension(const std::string &filename, const std::string extension) +{ + std::size_t found = filename.rfind(extension); + if ( (found==std::string::npos) || ((found+extension.length()) != filename.length()) ) + { + if (filename[filename.size()-1]=='.') + return filename.substr(0,filename.size()-1) + extension; + return filename + extension; + } + return filename; +} + +} +} + + + + +#endif + -- GitLab