From cbb11cd88d985db033c744b59291a2cf03fd16be Mon Sep 17 00:00:00 2001 From: gcontini <1121667+gcontini@users.noreply.github.com> Date: 周二, 13 10月 2020 21:53:31 +0800 Subject: [PATCH] #ifdef _DEBUG -> #ifndef NDEBUG for better cmake compatibility --- src/library/os/linux/os_linux.cpp | 14 +++++++++----- 1 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/library/os/linux/os_linux.cpp b/src/library/os/linux/os_linux.cpp index f1041a4..0f53b9c 100644 --- a/src/library/os/linux/os_linux.cpp +++ b/src/library/os/linux/os_linux.cpp @@ -1,13 +1,15 @@ #include <paths.h> #include <sys/stat.h> #include <stdio.h> +#include <cerrno> +#include <cstring> #include "../os.h" #include "../../base/logger.h" #include <mntent.h> #include <dirent.h> #include <sys/utsname.h> -#ifdef _DEBUG +#ifndef NDEBUG #include <valgrind/memcheck.h> #endif @@ -52,7 +54,7 @@ free(hexuuid); } -#define MAX_UNITS 20 +#define MAX_UNITS 40 FUNCTION_RETURN getDiskInfos(DiskInfo *diskInfos, size_t *disk_info_size) { struct stat mount_stat, sym_stat; /*static char discard[1024]; @@ -89,7 +91,7 @@ } currentDrive = 0; - while (NULL != (ent = getmntent(aFile))) { + while (NULL != (ent = getmntent(aFile)) && currentDrive < maxDrives) { if ((strncmp(ent->mnt_type, "ext", 3) == 0 || strncmp(ent->mnt_type, "xfs", 3) == 0 || strncmp(ent->mnt_type, "vfat", 4) == 0 || strncmp(ent->mnt_type, "ntfs", 4) == 0 || strncmp(ent->mnt_type, "btr", 3) == 0) && @@ -116,6 +118,8 @@ } else { tmpDrives[drive_found].preferred = 0; } + } else { + LOG_DEBUG("Error %s during stat of %s \n", std::strerror(errno), ent->mnt_fsname); } } } @@ -141,7 +145,7 @@ for (i = 0; i < currentDrive; i++) { if (sym_stat.st_ino == statDrives[i]) { parseUUID(dir->d_name, tmpDrives[i].disk_sn, sizeof(tmpDrives[i].disk_sn)); -#ifdef _DEBUG +#ifndef NDEBUG VALGRIND_CHECK_VALUE_IS_DEFINED(tmpDrives[i].device); LOG_DEBUG("uuid %d %s %02x%02x%02x%02x\n", i, tmpDrives[i].device, tmpDrives[i].disk_sn[0], @@ -162,7 +166,7 @@ for (i = 0; i < currentDrive; i++) { if (sym_stat.st_ino == statDrives[i]) { strncpy(tmpDrives[i].label, dir->d_name, 255 - 1); - printf("label %d %s %s\n", i, tmpDrives[i].label, tmpDrives[i].device); + LOG_DEBUG("label %d %s %s\n", i, tmpDrives[i].label, tmpDrives[i].device); } } } -- Gitblit v1.9.1