diff options
| author | Wladimir J. van der Laan <[email protected]> | 2014-11-26 09:09:14 +0100 |
|---|---|---|
| committer | Wladimir J. van der Laan <[email protected]> | 2014-11-26 09:51:05 +0100 |
| commit | 70f9e33fa0b5a31c18e23442601b14910ba991bb (patch) | |
| tree | f787400b590b1895c354ab415d294219cb227159 /src | |
| parent | Merge pull request #5351 (diff) | |
| parent | Include missing config/bitcoin-config.h. (diff) | |
| download | discoin-70f9e33fa0b5a31c18e23442601b14910ba991bb.tar.xz discoin-70f9e33fa0b5a31c18e23442601b14910ba991bb.zip | |
Merge pull request #5340
c8ed613 Include missing config/bitcoin-config.h. (Pavel Janík)
494f6e7 Check for strnlen and provide it if it is not found. (Pavel Janík)
Diffstat (limited to 'src')
| -rw-r--r-- | src/Makefile.am | 1 | ||||
| -rw-r--r-- | src/compat.h | 8 | ||||
| -rw-r--r-- | src/compat/strnlen.cpp | 18 |
3 files changed, 27 insertions, 0 deletions
diff --git a/src/Makefile.am b/src/Makefile.am index 0d45203c9..3ec9e2f85 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -251,6 +251,7 @@ libbitcoin_common_a_SOURCES = \ # backward-compatibility objects and their sanity checks are linked. libbitcoin_util_a_CPPFLAGS = $(BITCOIN_INCLUDES) libbitcoin_util_a_SOURCES = \ + compat/strnlen.cpp \ compat/glibc_sanity.cpp \ compat/glibcxx_sanity.cpp \ chainparamsbase.cpp \ diff --git a/src/compat.h b/src/compat.h index dade79aae..dffd4ecf5 100644 --- a/src/compat.h +++ b/src/compat.h @@ -6,6 +6,10 @@ #ifndef BITCOIN_COMPAT_H #define BITCOIN_COMPAT_H +#if defined(HAVE_CONFIG_H) +#include "config/bitcoin-config.h" +#endif + #ifdef WIN32 #ifdef _WIN32_WINNT #undef _WIN32_WINNT @@ -84,4 +88,8 @@ typedef u_int SOCKET; #define THREAD_PRIORITY_ABOVE_NORMAL (-2) #endif +#if HAVE_DECL_STRNLEN == 0 +size_t strnlen( const char *start, size_t max_len); +#endif // HAVE_DECL_STRNLEN + #endif // BITCOIN_COMPAT_H diff --git a/src/compat/strnlen.cpp b/src/compat/strnlen.cpp new file mode 100644 index 000000000..7f3e15988 --- /dev/null +++ b/src/compat/strnlen.cpp @@ -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 |