diff --git a/src/nvme/ioctl.c b/src/nvme/ioctl.c index 3ae6ecd87..18b228d9c 100644 --- a/src/nvme/ioctl.c +++ b/src/nvme/ioctl.c @@ -23,6 +23,7 @@ #include #include +#include #include #include "ioctl.h" @@ -503,7 +504,7 @@ static int read_ana_chunk(int fd, enum nvme_log_ana_lsp lsp, bool rae, } while (*read < to_read) { - __u32 len = min(log_end - *read, NVME_LOG_PAGE_PDU_SIZE); + __u32 len = min_t(__u32, log_end - *read, NVME_LOG_PAGE_PDU_SIZE); int ret; ret = nvme_get_log_ana(fd, lsp, rae, *read - log, len, *read); diff --git a/src/nvme/mi.c b/src/nvme/mi.c index e9f39a84e..2a8c9bb91 100644 --- a/src/nvme/mi.c +++ b/src/nvme/mi.c @@ -14,6 +14,7 @@ #include #include +#include #include #include "log.h" @@ -1021,7 +1022,7 @@ static int read_ana_chunk(nvme_mi_ctrl_t ctrl, enum nvme_log_ana_lsp lsp, bool r } while (*read < to_read) { - __u32 len = min(log_end - *read, NVME_LOG_PAGE_PDU_SIZE); + __u32 len = min_t(__u32, log_end - *read, NVME_LOG_PAGE_PDU_SIZE); int ret; ret = nvme_mi_admin_get_log_ana(ctrl, lsp, rae, diff --git a/src/nvme/util.c b/src/nvme/util.c index 1af358a30..09d5a347e 100644 --- a/src/nvme/util.c +++ b/src/nvme/util.c @@ -22,6 +22,7 @@ #include #include +#include #include #include "cleanup.h" diff --git a/src/nvme/util.h b/src/nvme/util.h index 364ca0f2b..b898b4198 100644 --- a/src/nvme/util.h +++ b/src/nvme/util.h @@ -560,8 +560,6 @@ char *kv_keymatch(const char *kv, const char *key); */ char *startswith(const char *s, const char *prefix); -#define min(x, y) ((x) > (y) ? (y) : (x)) - #define __round_mask(val, mult) ((__typeof__(val))((mult)-1)) /** diff --git a/test/meson.build b/test/meson.build index 2ab7e312a..d3d64562f 100644 --- a/test/meson.build +++ b/test/meson.build @@ -23,6 +23,17 @@ if cxx_available dependencies: libnvme_dep, include_directories: [incdir, internal_incdir] ) + + test('cpp-dump', cpp) + + misc = executable( + 'test-misc', + ['misc.cc'], + dependencies: libnvme_dep, + include_directories: [incdir, internal_incdir] + ) + test('cpp-misc', misc) + endif register = executable( diff --git a/test/misc.cc b/test/misc.cc new file mode 100644 index 000000000..3613beb09 --- /dev/null +++ b/test/misc.cc @@ -0,0 +1,22 @@ +// SPDX-License-Identifier: LGPL-2.1-or-later +/** + * This file is part of libnvme. + * Copyright (c) 2025 Daniel Wagner, SUSE LLC + */ + +#include +#include + +static int minmax_test() +{ + /* + * Ensure libnvme doesn't spoil the namespace, e.g. by exposing a + * min/max macro. + */ + return !(std::min(1, 2) == 1 && std::max(1, 2) == 2); +} + +int main(int argc, char *argv[]) +{ + return minmax_test(); +}