From 8553a8d63f97cfa8d64b5b2260e81f8c896a8398 Mon Sep 17 00:00:00 2001
From: nancy.liao <huihui.liao@greentest.com.cn>
Date: 周五, 23 5月 2025 18:36:03 +0800
Subject: [PATCH] 修改部分因为标准原因的报错

---
 src/library/licensecc.cpp |   18 ++++++++++++------
 1 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/src/library/licensecc.cpp b/src/library/licensecc.cpp
index f9807a2..948603a 100644
--- a/src/library/licensecc.cpp
+++ b/src/library/licensecc.cpp
@@ -18,12 +18,14 @@
 #include <licensecc_properties.h>
 
 #include "base/logger.h"
+#include "base/string_utils.h"
 #include "hw_identifier/hw_identifier_facade.hpp"
 #include "os/execution_environment.hpp"
 #include "limits/license_verifier.hpp"
 #include "base/string_utils.h"
 #include "LicenseReader.hpp"
-
+#include "../test/functional/generate-license.h"
+using namespace license;
 using namespace std;
 
 void print_error(char out_buffer[LCC_API_ERROR_BUFFER_SIZE], LicenseInfo* licenseInfo) {}
@@ -34,19 +36,19 @@
 	if (*bufSize > LCC_API_PC_IDENTIFIER_SIZE && chbuffer != nullptr) {
 		try {
 			const string pc_id = license::hw_identifier::HwIdentifierFacade::generate_user_pc_signature(pc_id_method);
-			strncpy(chbuffer, pc_id.c_str(), *bufSize);
+			license::mstrlcpy(chbuffer, pc_id.c_str(), *bufSize);
 			result = true;
 		} catch (const std::exception& ex) {
 			LOG_ERROR("Error calculating hw_identifier: %s", ex.what());
 #ifndef NDEBUG
-			cout << "Error occurred: " << ex.what() << std::endl;
+			cerr << "Error occurred in identify_pc: " << ex.what() << std::endl;
 #endif
 		}
 	} else {
 		*bufSize = LCC_API_PC_IDENTIFIER_SIZE + 1;
 	}
+	static const license::os::ExecutionEnvironment exec_env;
 	if (execution_environment_info != nullptr) {
-		const license::os::ExecutionEnvironment exec_env;
 		execution_environment_info->cloud_provider = exec_env.cloud_provider();
 		execution_environment_info->virtualization = exec_env.virtualization();
 		execution_environment_info->virtualization_detail = exec_env.virtualization_detail();
@@ -55,6 +57,7 @@
 }
 
 static void mergeLicenses(const vector<LicenseInfo>& licenses, LicenseInfo* license_out) {
+
 	if (license_out != nullptr) {
 		int days_left = INT_MIN;
 		for (auto it = licenses.begin(); it != licenses.end(); it++) {
@@ -69,7 +72,6 @@
 		}
 	}
 }
-
 LCC_EVENT_TYPE acquire_license(const CallerInformations* callerInformation, const LicenseLocation* licenseLocation,
 							   LicenseInfo* license_out) {
 	const license::LicenseReader lr = license::LicenseReader(licenseLocation);
@@ -123,15 +125,19 @@
 		}
 	}
 #ifndef NDEBUG
-	cout << er << endl;
+	const string evlog = er.to_string();
+	LOG_DEBUG("License status %s", evlog.c_str());
 #endif
 
 	if (license_out != nullptr) {
 		er.exportLastEvents(license_out->status, LCC_API_AUDIT_EVENT_NUM);
 	}
+
 	return result;
 }
 
+
+
 LCC_EVENT_TYPE confirm_license(char* product, LicenseLocation licenseLocation) { return LICENSE_OK; }
 
 LCC_EVENT_TYPE release_license(char* product, LicenseLocation licenseLocation) { return LICENSE_OK; }

--
Gitblit v1.9.1