root/opal/mca/pmix/pmix4x/pmix/src/util/strnlen.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /*
   2  * Copyright (c) 2016-2017 Intel, Inc. All rights reserved.
   3  * $COPYRIGHT$
   4  *
   5  * Additional copyrights may follow
   6  *
   7  * $HEADER$
   8  */
   9 
  10 /** @file
  11  *
  12  * Buffer strnlen function for portability to archaic platforms.
  13  */
  14 
  15 #ifndef PMIX_STRNLEN_H
  16 #define PMIX_STRNLEN_H
  17 
  18 #include <src/include/pmix_config.h>
  19 
  20 #if defined(HAVE_STRNLEN)
  21 #define PMIX_STRNLEN(c, a, b)       \
  22     (c) = strnlen(a, b)
  23 #else
  24 #define PMIX_STRNLEN(c, a, b)           \
  25     do {                                \
  26         size_t _x;                      \
  27         (c) = 0;                        \
  28         for (_x=0; _x < (b); _x++) {    \
  29             if ('\0' == (a)[_x]) {      \
  30                 break;                  \
  31             }                           \
  32             ++(c);                      \
  33         }                               \
  34     } while(0)
  35 #endif
  36 
  37 #endif /* PMIX_STRNLEN_H */

/* [<][>][^][v][top][bottom][index][help] */