From 6289712ceaeef9c5f6d4ae746fe7b754c8e5173e Mon Sep 17 00:00:00 2001
From: Gabriele Contini <contini.mailing@gmail.com>
Date: 周日, 13 10月 2019 15:02:19 +0800
Subject: [PATCH] refactoring - locators

---
 src/library/base/StringUtils.cpp |   27 +++++++++++++++++++++++----
 1 files changed, 23 insertions(+), 4 deletions(-)

diff --git a/src/library/base/StringUtils.cpp b/src/library/base/StringUtils.cpp
index 14b9bc6..3e34432 100644
--- a/src/library/base/StringUtils.cpp
+++ b/src/library/base/StringUtils.cpp
@@ -2,15 +2,21 @@
  * StringUtils.cpp
  *
  *  Created on: Apr 8, 2014
- *      Author: devel
+ *      
  */
 
 #include <cctype> //toupper
 #include "StringUtils.h"
 #include <iostream>
 #include <string>
+#include <sstream>
 #include <cstring>
 #include <algorithm>
+#include <stdexcept>
+
+#ifdef _WIN32
+#include <time.h> //mktime under windows
+#endif
 
 namespace license {
 using namespace std;
@@ -37,14 +43,14 @@
 	int year, month, day;
 	tm tm;
 	if (strlen(timeString) == 8) {
-		int nfield = sscanf(timeString, "%4d%2d%2d", &year, &month, &day);
+		const int nfield = sscanf(timeString, "%4d%2d%2d", &year, &month, &day);
 		if (nfield != 3) {
 			throw invalid_argument("Date not recognized");
 		}
 	} else if (strlen(timeString) == 10) {
-		int nfield = sscanf(timeString, "%4d-%2d-%2d", &year, &month, &day);
+		const int nfield = sscanf(timeString, "%4d-%2d-%2d", &year, &month, &day);
 		if (nfield != 3) {
-			int nfield = sscanf(timeString, "%4d/%2d/%2d", &year, &month, &day);
+			const int nfield = sscanf(timeString, "%4d/%2d/%2d", &year, &month, &day);
 			if (nfield != 3) {
 				throw invalid_argument("Date not recognized");
 			}
@@ -63,4 +69,17 @@
 	tm.tm_wday = -1;
 	return mktime(&tm);
 }
+
+
+const vector<string> split_string(const string& licensePositions,char splitchar) {
+	std::stringstream streamToSplit(licensePositions);
+	std::string segment;
+	std::vector<string> seglist;
+
+	while (std::getline(streamToSplit, segment, splitchar)) {
+		seglist.push_back(segment);
+	}
+	return seglist;
+}
+
 } /* namespace license */

--
Gitblit v1.9.1