From 205c71575c272a685011c641a33d26cf66cf60a0 Mon Sep 17 00:00:00 2001 From: gcontini <1121667+gcontini@users.noreply.github.com> Date: 周一, 10 2月 2020 05:01:07 +0800 Subject: [PATCH] fix unit test with old versions of boost --- src/library/base/FileUtils.cpp | 28 ++++++++++++++++++++++++++-- 1 files changed, 26 insertions(+), 2 deletions(-) diff --git a/src/library/base/FileUtils.cpp b/src/library/base/FileUtils.cpp index 55e4fdd..f8fcc20 100644 --- a/src/library/base/FileUtils.cpp +++ b/src/library/base/FileUtils.cpp @@ -9,19 +9,24 @@ #include <string> #include <cerrno> #include <iostream> -#include <algorithm> +#include <algorithm> #include "FileUtils.hpp" namespace license { using namespace std; -vector<string> filter_existing_files(const vector<string> &fileList) { +vector<string> filter_existing_files(const vector<string> &fileList, + EventRegistry& registry,const char* extraData) { vector<string> existingFiles; for (auto it = fileList.begin(); it != fileList.end(); it++) { + registry.addEvent(LICENSE_SPECIFIED,it->c_str(), extraData); ifstream f(it->c_str()); if (f.good()) { existingFiles.push_back(*it); + registry.addEvent(LICENSE_FOUND,it->c_str(),extraData); + } else { + registry.addEvent(LICENSE_FILE_NOT_FOUND,it->c_str(), extraData); } f.close(); } @@ -42,4 +47,23 @@ throw(errno); } +string remove_extension(const string& path) { + if (path == "." || path == "..") { + return path; + } + size_t dotpos = path.find_last_of("."); + //no dot + if (dotpos == string::npos) { + return path; + } + //find the last path separator + size_t pathsep_pos = path.find_last_of("\\/"); + if (pathsep_pos == string::npos) { + return (dotpos == 0 ? path : path.substr(0, dotpos)); + } else if(pathsep_pos >= dotpos +1) { + return path; + } + return path.substr(0, dotpos); +} + } -- Gitblit v1.9.1