From ecd2f38f3d9c8b28aaa4c47bc09789f11dcaa7f7 Mon Sep 17 00:00:00 2001 From: gcontini <1121667+gcontini@users.noreply.github.com> Date: 周日, 29 11月 2020 11:19:33 +0800 Subject: [PATCH] fix documentation warnings and broken links --- src/library/hw_identifier/ethernet.cpp | 26 +++++++++++++++++--------- 1 files changed, 17 insertions(+), 9 deletions(-) diff --git a/src/library/hw_identifier/ethernet.cpp b/src/library/hw_identifier/ethernet.cpp index 1d923e6..fe68a51 100644 --- a/src/library/hw_identifier/ethernet.cpp +++ b/src/library/hw_identifier/ethernet.cpp @@ -32,18 +32,26 @@ } for (auto &it : adapters) { - unsigned int k, data_len, data_byte; - array<uint8_t, HW_IDENTIFIER_PROPRIETARY_DATA> identifier; + unsigned int k, data_len; + array<uint8_t, HW_IDENTIFIER_PROPRIETARY_DATA> identifier = {}; data_len = use_ip ? sizeof(os::OsAdapterInfo::ipv4_address) : sizeof(os::OsAdapterInfo::mac_address); - - for (k = 0; k < HW_IDENTIFIER_PROPRIETARY_DATA; k++) { - if (k < data_len) { - identifier[k] = use_ip ? it.ipv4_address[k] : it.mac_address[k]; + bool all_zero = true; + for (k = 0; k < data_len && all_zero;k++) { + all_zero = all_zero && ((use_ip ? it.ipv4_address[k] : it.mac_address[k]) == 0); + } + if (all_zero) { + continue; + } + for (k = 1; k < HW_IDENTIFIER_PROPRIETARY_DATA; k++) { + if ((k - 1) < data_len) { + identifier[k] = + use_ip ? it.ipv4_address[k - 1] : it.mac_address[k - 1]; } else { identifier[k] = 42; } } - identifier[0] = identifier[0] & 0x1F; + //identifier[0] = identifier[0] & 0x1F; + identifier[0] = 0; data.push_back(identifier); } @@ -54,7 +62,7 @@ Ethernet::~Ethernet() {} -LCC_API_IDENTIFICATION_STRATEGY Ethernet::identification_strategy() const { +LCC_API_HW_IDENTIFICATION_STRATEGY Ethernet::identification_strategy() const { return use_ip ? STRATEGY_IP_ADDRESS : STRATEGY_ETHERNET; } @@ -63,7 +71,7 @@ FUNCTION_RETURN result = generate_ethernet_pc_id(data, use_ip); vector<HwIdentifier> identifiers; if (result == FUNC_RET_OK) { - identifiers.resize(data.size()); + identifiers.reserve(data.size()); for (auto &it : data) { HwIdentifier pc_id; pc_id.set_identification_strategy(identification_strategy()); -- Gitblit v1.9.1