--- src/log/logd/lgs_filehdl.cc | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/src/log/logd/lgs_filehdl.cc b/src/log/logd/lgs_filehdl.cc index 0d7fb2b74..362df4c27 100644 --- a/src/log/logd/lgs_filehdl.cc +++ b/src/log/logd/lgs_filehdl.cc @@ -26,6 +26,7 @@ #include <sys/stat.h> #include <unistd.h> #include <string> +#include <regex> #include "base/logtrace.h" #include "base/osaf_time.h" @@ -964,13 +965,13 @@ static int chr_cnt_b(char *str, char c, int lim) { /* Filename prefix (no timestamps or extension */ static std::string file_name_find_g; static int filter_logfile_name(const struct dirent *finfo) { - int found = 0; - - if ((strstr(finfo->d_name, file_name_find_g.c_str()) != nullptr) && - (strstr(finfo->d_name, ".log") != nullptr)) - found = 1; - - return found; + const std::string pattern = + "^" + file_name_find_g + "_[0-9]{8}_[0-9]{6}.log$"; + const std::regex e{pattern}; + if (std::regex_match(finfo->d_name, e)) { + return true; + } + return false; } /** -- 2.17.1 _______________________________________________ Opensaf-devel mailing list Opensaf-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/opensaf-devel