gcontini
2020-12-06 48d2775d9a6670a6b0f296e76981fcd018eead71
src/library/hw_identifier/disk_strategy.cpp
@@ -13,17 +13,16 @@
namespace hw_identifier {
static array<uint8_t, HW_IDENTIFIER_PROPRIETARY_DATA> generate_id_by_sn(const DiskInfo &disk_info) {
   array<uint8_t, HW_IDENTIFIER_PROPRIETARY_DATA> a_disk_id;
   a_disk_id.fill(0);
   size_t size = min(a_disk_id.size(), sizeof(disk_info.disk_sn));
   array<uint8_t, HW_IDENTIFIER_PROPRIETARY_DATA> a_disk_id = {};
   size_t size = min((size_t) HW_IDENTIFIER_PROPRIETARY_DATA,
         sizeof(disk_info.disk_sn));
   memcpy(&a_disk_id[0], disk_info.disk_sn, size);
   return a_disk_id;
}
static array<uint8_t, HW_IDENTIFIER_PROPRIETARY_DATA> generate_id_by_label(const DiskInfo &disk_info) {
   array<uint8_t, HW_IDENTIFIER_PROPRIETARY_DATA> a_disk_id;
   a_disk_id.fill(0);
   array<uint8_t, HW_IDENTIFIER_PROPRIETARY_DATA> a_disk_id = {};
   strncpy((char *)&a_disk_id[0], disk_info.label, a_disk_id.size() - 1);
   return a_disk_id;
}
@@ -31,7 +30,7 @@
static FUNCTION_RETURN generate_disk_pc_id(vector<array<uint8_t, HW_IDENTIFIER_PROPRIETARY_DATA>> &v_disk_id) {
   std::vector<DiskInfo> disk_infos;
   FUNCTION_RETURN result_diskinfos = getDiskInfos(disk_infos);
   if (result_diskinfos != FUNC_RET_OK && result_diskinfos != FUNC_RET_BUFFER_TOO_SMALL) {
   if (result_diskinfos != FUNC_RET_OK) {
      return result_diskinfos;
   }
   if (disk_infos.size() == 0) {
@@ -41,7 +40,7 @@
   v_disk_id.reserve(disk_infos.size() * 2);
   for (int j = 0; j < 2; j++) {
      bool preferred = (j == 0);
      for (unsigned int i = 0; i < disk_infos.size(); i++) {
      for (size_t i = 0; i < disk_infos.size(); i++) {
         if (disk_infos[i].preferred == preferred) {
            if (disk_infos[i].sn_initialized) {
               array<uint8_t, HW_IDENTIFIER_PROPRIETARY_DATA> a_disk_id = generate_id_by_sn(disk_infos[i]);
@@ -51,13 +50,10 @@
               array<uint8_t, HW_IDENTIFIER_PROPRIETARY_DATA> l_disk_id = generate_id_by_label(disk_infos[i]);
               v_disk_id.push_back(l_disk_id);
            }
            if (preferred) {
               break;
            }
         }
      }
   }
   return FUNC_RET_OK;
   return v_disk_id.size() > 0 ? FUNC_RET_OK : FUNC_RET_NOT_AVAIL;
}
DiskStrategy::~DiskStrategy() {}