aboutsummaryrefslogtreecommitdiff
path: root/src/compat
diff options
context:
space:
mode:
authorPavel Janík <Pavel@Janik.cz>2014-11-21 10:38:27 +0100
committerPavel Janík <Pavel@Janik.cz>2014-11-24 10:28:24 +0100
commit494f6e7d353c63a85a2c6d4c6b2eb8e643934d60 (patch)
tree8f29867d2c1e23d90aeab863051cbd7b40b18b5e /src/compat
parentc24d07554b18f69a9c5ebf79b48af90d63f16ccb (diff)
Check for strnlen and provide it if it is not found.
Diffstat (limited to 'src/compat')
-rw-r--r--src/compat/strnlen.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/compat/strnlen.cpp b/src/compat/strnlen.cpp
new file mode 100644
index 0000000000..7f3e159887
--- /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