Check for strnlen and provide it if it is not found.

This commit is contained in:
Pavel Janík
2014-11-21 10:38:27 +01:00
parent c24d07554b
commit 494f6e7d35
4 changed files with 25 additions and 0 deletions

18
src/compat/strnlen.cpp Normal file
View File

@@ -0,0 +1,18 @@
// Copyright (c) 2009-2014 The Bitcoin developers
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
#if defined(HAVE_CONFIG_H)
#include "config/bitcoin-config.h"
#endif
#include <cstring>
#if HAVE_DECL_STRNLEN == 0
size_t strnlen( const char *start, size_t max_len)
{
const char *end = (const char *)memchr(start, '\0', max_len);
return end ? (size_t)(end - start) : max_len;
}
#endif // HAVE_DECL_STRNLEN