/* * Copyright (c) 2016-2020 Intel, Inc. All rights reserved. * Copyright (c) 2021 Nanook Consulting. All rights reserved. * $COPYRIGHT$ * * Additional copyrights may follow * * $HEADER$ */ /** @file * * Buffer strnlen function for portability to archaic platforms. */ #ifndef PMIX_STRNLEN_H #define PMIX_STRNLEN_H #include "src/include/pmix_config.h" #if defined(HAVE_STRNLEN) # define PMIX_STRNLEN(c, a, b) (c) = strnlen(a, b) #else # define PMIX_STRNLEN(c, a, b) \ do { \ size_t _x; \ (c) = 0; \ for (_x = 0; _x < (b); _x++) { \ if ('\0' == (a)[_x]) { \ break; \ } \ ++(c); \ } \ } while (0) #endif #endif /* PMIX_STRNLEN_H */