From 73e1eb0165c983830831d84ac1b92af890db27db Mon Sep 17 00:00:00 2001
From: gcontini <1121667+gcontini@users.noreply.github.com>
Date: 周日, 08 12月 2019 18:40:59 +0800
Subject: [PATCH] fix possible return value

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

diff --git a/src/library/licensecc.cpp b/src/library/licensecc.cpp
index 5cc512b..c7484c3 100644
--- a/src/library/licensecc.cpp
+++ b/src/library/licensecc.cpp
@@ -13,14 +13,24 @@
 
 #include <licensecc/datatypes.h>
 #include <licensecc/licensecc.h>
+#include <licensecc_properties.h>
 
 #include "limits/license_verifier.hpp"
 #include "LicenseReader.hpp"
+#include "pc-identifiers.h"
 
 using namespace std;
 void print_error(char out_buffer[256], LicenseInfo* licenseInfo) {}
 
-void identify_pc(IDENTIFICATION_STRATEGY pc_id_method, char chbuffer[PC_IDENTIFIER_SIZE + 1]) {}
+bool identify_pc(IDENTIFICATION_STRATEGY pc_id_method, char* chbuffer, size_t bufSize) {
+	PcSignature identifier_out;
+	FUNCTION_RETURN result = FUNC_RET_BUFFER_TOO_SMALL;
+	if (bufSize >= sizeof(PcSignature)) {
+		result = generate_user_pc_signature(identifier_out, pc_id_method);
+		strncpy(chbuffer, identifier_out, bufSize);
+	}
+	return result == FUNC_RET_OK;
+}
 
 static void mergeLicenses(const vector<LicenseInfo>& licenses, LicenseInfo* license_out) {
 	if (license_out != nullptr) {
@@ -40,7 +50,7 @@
 
 EVENT_TYPE acquire_license(const CallerInformations* callerInformation, const LicenseLocation* licenseLocation,
 						   LicenseInfo* license_out) {
-	license::LicenseReader lr = license::LicenseReader(licenseLocation);
+	const license::LicenseReader lr = license::LicenseReader(licenseLocation);
 	vector<license::FullLicenseInfo> licenses;
 	string project;
 	if (callerInformation != nullptr && strlen(callerInformation->project_name) > 0) {

--
Gitblit v1.9.1