From 8e1bdfdca2ad2157fd74cedc1a6768a1b1c0849d Mon Sep 17 00:00:00 2001
From: gcontini <1121667+gcontini@users.noreply.github.com>
Date: 周日, 09 2月 2020 04:48:55 +0800
Subject: [PATCH] identifiers next work

---
 src/library/locate/ExternalDefinition.cpp |   11 +++++------
 1 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/src/library/locate/ExternalDefinition.cpp b/src/library/locate/ExternalDefinition.cpp
index 13ca80a..7add948 100644
--- a/src/library/locate/ExternalDefinition.cpp
+++ b/src/library/locate/ExternalDefinition.cpp
@@ -34,7 +34,7 @@
 		eventRegistry.addEvent(LICENSE_SPECIFIED, get_strategy_name());
 		switch (m_location->license_data_type) {
 			case LICENSE_PATH: {
-				string licData(m_location->licenseData, mstrnlen_s(m_location->licenseData, API_LICENSE_DATA_LENGTH));
+				string licData(m_location->licenseData, mstrnlen_s(m_location->licenseData, LCC_API_MAX_LICENSE_DATA_LENGTH));
 				const vector<string> declared_positions = license::split_string(licData, ';');
 				existing_pos =
 					license::filter_existing_files(declared_positions, eventRegistry, get_strategy_name().c_str());
@@ -52,12 +52,11 @@
 
 const std::string ExternalDefinition::retrieve_license_content(const std::string &licenseLocation) const {
 	if (licenseLocation == get_strategy_name()) {
-		string licData(m_location->licenseData, mstrnlen_s(m_location->licenseData, API_LICENSE_DATA_LENGTH));
+		string licData(m_location->licenseData, mstrnlen_s(m_location->licenseData, LCC_API_MAX_LICENSE_DATA_LENGTH));
 		if (m_location->license_data_type == LICENSE_ENCODED) {
-			int flen = 0;
-			unsigned char *raw = unbase64(licData.c_str(), licData.length(), &flen);
-			string str = string(reinterpret_cast<char *>(raw));
-			free(raw);
+			// FIXME what if license is wrong
+			vector<uint8_t> raw = unbase64(licData);
+			string str = string(reinterpret_cast<char *>(raw.data()));
 			return str;
 		} else {
 			return licData;

--
Gitblit v1.9.1